/* mixin
----------------------------------------*/
body {
	background: none;
	padding: 0; }

#main {
	padding: 70px 0 0 0; }
	@media screen and (max-width: 750px) {
		#main {
			padding: 0; } }
	#main .main-column {
		max-width: none;
		margin: 0;
		padding: 0;
		border-radius: 0; }

img {
	-webkit-backface-visibility: hidden; }

/* tpl-header
----------------------------------------------------------- */
#tpl-header .right-column {
	display: none; }

/* Main Column
----------------------------------------------------------- */
#main .main-column {
	padding-left: 0;
	padding-right: 0; }
	#main .main-column img {
		max-width: 100%; }

.main-column .inner-wrap {
	max-width: 995px;
	margin: auto; }

/* txt
----------------------------------------------------------- */
.sec-txt {
	font-size: 16px;
	line-height: 1.8; }
	@media screen and (max-width: 750px) {
		.sec-txt {
			font-size: 28px;
			font-size: 3.73333vw; } }
	.sec-txt.lg {
		font-size: 22px; }
		@media screen and (max-width: 750px) {
			.sec-txt.lg {
				font-size: 30px;
				font-size: 4vw; } }
	.sec-txt.md {
		font-size: 18px; }
		@media screen and (max-width: 750px) {
			.sec-txt.md {
				font-size: 28px;
				font-size: 3.73333vw; } }
	.sec-txt.sm {
		font-size: 14px; }
		@media screen and (max-width: 750px) {
			.sec-txt.sm {
				font-size: 22px;
				font-size: 2.93333vw; } }
	@media screen and (max-width: 750px) {
		.sec-txt.sp-md {
			font-size: 28px;
			font-size: 3.73333vw; }
		.sec-txt.sp-rg {
			font-size: 26px;
			font-size: 3.46667vw; }
		.sec-txt.sp-sm {
			font-size: 22px;
			font-size: 2.93333vw; } }

/* mv
----------------------------------------------------------- */
.main-visual {
	position: relative;
	background: url(../img/mv_map.png) #cff5ff no-repeat center top;
	background-size: auto;
	text-align: center;
	padding: 67px 60px; }
	@media screen and (max-width: 1200px) {
		.main-visual {
			background-position: center -5%;
			background-size: 90%; } }
	@media screen and (max-width: 750px) {
		.main-visual {
			padding: 5%;
			background-position: center 27%; } }
	.main-visual__cloud {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 50%;
		margin-left: -50%;
		pointer-events: none; }
		@media screen and (max-width: 1200px) {
			.main-visual__cloud {
				width: 1200px;
				margin-left: -600px; } }
		.main-visual__cloud:before, .main-visual__cloud:after {
			content: url(../img/mv_cloud_01.png);
			display: block;
			position: absolute; }
		.main-visual__cloud:before {
			left: 0; }
		.main-visual__cloud:after {
			transform: scale(-1, 1);
			right: 0; }
		.main-visual__cloud.-t {
			top: 0; }
			.main-visual__cloud.-t:before, .main-visual__cloud.-t:after {
				content: url(../img/mv_cloud_01.png);
				top: 0; }
			@media screen and (max-width: 750px) {
				.main-visual__cloud.-t {
					transform: scale(0.4);
					transform-origin: top; } }
		.main-visual__cloud.-b {
			bottom: 0; }
			.main-visual__cloud.-b:before, .main-visual__cloud.-b:after {
				content: url(../img/mv_cloud_02.png);
				bottom: 0; }
			@media screen and (max-width: 750px) {
				.main-visual__cloud.-b {
					transform: scale(0.4);
					transform-origin: bottom; } }
	.main-visual__svd {
		display: inline-flex;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
		max-width: 1280px; }
		@media screen and (min-width: 751px) {
			.main-visual__svd {
				flex-direction: row-reverse; } }
		.main-visual__svd > p {
			display: inline;
			width: calc((100% - (0.6% * 12 * 2)) / 12);
			margin: 0.6%;
			padding-top: 6%;
			background: no-repeat center top / contain;
			background-size: 80% auto;
			position: relative; }
			.main-visual__svd > p.okinawa {
				background-image: url(../img/mv_label_okinawa.svg);
				top: 100px; }
			.main-visual__svd > p.miyazaki {
				background-image: url(../img/mv_label_miyazaki.svg);
				top: 80px; }
			.main-visual__svd > p.nagasaki {
				background-image: url(../img/mv_label_nagasaki.svg);
				top: 60px; }
			.main-visual__svd > p.kouchi {
				background-image: url(../img/mv_label_kouchi.svg);
				top: 40px; }
			.main-visual__svd > p.kagawa {
				background-image: url(../img/mv_label_kagawa.svg);
				top: 20px; }
			.main-visual__svd > p.tottori {
				background-image: url(../img/mv_label_tottori.svg);
				top: 0; }
			.main-visual__svd > p.mie {
				background-image: url(../img/mv_label_mie.svg);
				top: 0; }
			.main-visual__svd > p.fukui {
				background-image: url(../img/mv_label_fukui.svg);
				top: 20px; }
			.main-visual__svd > p.fukushima {
				background-image: url(../img/mv_label_fukushima.svg);
				top: 40px; }
			.main-visual__svd > p.miyagi {
				background-image: url(../img/mv_label_miyagi.svg);
				top: 60px; }
			.main-visual__svd > p.iwate {
				background-image: url(../img/mv_label_iwate.svg);
				top: 80px; }
			.main-visual__svd > p.hokkaido {
				background-image: url(../img/mv_label_hokkaido.svg);
				top: 100px; }
			@media screen and (max-width: 750px) {
				.main-visual__svd > p {
					width: calc(92% / 4);
					top: 0 !important;
					padding-top: 13%;
					background-size: 60% auto; } }
	.main-visual__logo {
		position: relative;
		margin: 55px 0 20px; }
	.main-visual__text {
		position: relative;
		z-index: 1; }
		.main-visual__text a {
			text-decoration: underline; }
	.main-visual__lede {
		position: relative;
		display: block;
		padding: 20px 0; }
		@media screen and (max-width: 750px) {
			.main-visual__lede span {
				display: block;
				text-align: center; }
				.main-visual__lede span img {
					height: 28px; } }
	.main-visual__btn {
		padding: 40px; }

/* sec
----------------------------------------------------------- */
.sec {
	position: relative;
	padding: 40px 0; }
	.sec__inner {
		max-width: 980px;
		margin: 0 auto; }
		@media screen and (max-width: 750px) {
			.sec__inner {
				padding-left: 5%;
				padding-right: 5%; } }
	.sec:before {
		content: "";
		display: block;
		width: 100%;
		height: 20px;
		position: absolute;
		top: -20px; }
	.sec.-design {
		background: #fff;
		padding-bottom: 0; }
		.sec.-design:before {
			background: url(../img/sep_cloud_design.png) repeat-x center bottom; }
		.sec.-design .head {
			text-align: center;
			padding-top: 20px;
			padding-bottom: 90px;
			margin-bottom: 20px; }
		.sec.-design .nav > ul {
			display: flex;
			justify-content: center;
			max-width: 980px;
			margin: 0 auto; }
		.sec.-design .nav__li {
			display: inline-block;
			max-width: 105px;
			margin: 0 20px; }
			@media screen and (max-width: 750px) {
				.sec.-design .nav__li {
					margin: 0 5px; } }
		.sec.-design .nav a {
			display: block;
			width: 100%;
			max-width: 105px;
			overflow: hidden; }
			.sec.-design .nav a > img {
				transform: translateY(60px);
				transition: .4s; }
				@media screen and (max-width: 750px) {
					.sec.-design .nav a > img {
						transform: translateY(20%); } }
			.sec.-design .nav a:hover img {
				transform: translateY(0); }
	.sec.-hokkaido {
		background: #f3e6f3; }
		.sec.-hokkaido:before {
			background: url(../img/sep_cloud_hokkaido.png) repeat-x center bottom; }
	.sec.-iwate {
		background: #f4eef9; }
		.sec.-iwate:before {
			background: url(../img/sep_cloud_iwate.png) repeat-x center bottom; }
	.sec.-miyagi {
		background: #ececf6; }
		.sec.-miyagi:before {
			background: url(../img/sep_cloud_miyagi.png) repeat-x center bottom; }
	.sec.-fukushima {
		background: #e6e6f3; }
		.sec.-fukushima:before {
			background: url(../img/sep_cloud_fukushima.png) repeat-x center bottom; }
	.sec.-fukui {
		background: #e1ebe3; }
		.sec.-fukui:before {
			background: url(../img/sep_cloud_fukui.png) repeat-x center bottom; }
	.sec.-mie {
		background: #edf2ea; }
		.sec.-mie:before {
			background: url(../img/sep_cloud_mie.png) repeat-x center bottom; }
	.sec.-tottori {
		background: #f6f5ef; }
		.sec.-tottori:before {
			background: url(../img/sep_cloud_tottori.png) repeat-x center bottom; }
	.sec.-kagawa {
		background: #f4ede1; }
		.sec.-kagawa:before {
			background: url(../img/sep_cloud_kagawa.png) repeat-x center bottom; }
	.sec.-kouchi {
		background: #f2e7d2; }
		.sec.-kouchi:before {
			background: url(../img/sep_cloud_kouchi.png) repeat-x center bottom; }
	.sec.-nagasaki {
		background: #f4ded1; }
		.sec.-nagasaki:before {
			background: url(../img/sep_cloud_nagasaki.png) repeat-x center bottom; }
	.sec.-miyazaki {
		background: #f4e6dd; }
		.sec.-miyazaki:before {
			background: url(../img/sep_cloud_miyazaki.png) repeat-x center bottom; }
	.sec.-okinawa {
		background: #f2e7d2; }
		.sec.-okinawa:before {
			background: url(../img/sep_cloud_okinawa.png) repeat-x center bottom; }

/* ct
----------------------------------------------------------- */
.ct {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center; }
	@media screen and (max-width: 750px) {
		.ct {
			display: block; } }
	.ct.-l .ct__txt {
		order: 2; }
	.ct.-l .ct__ph {
		order: 1; }
	.ct__txt {
		width: 650px;
		position: relative;
		z-index: 1; }
		.ct__txt span {
			margin: 0 0.3em; }
		.ct__txt .head {
			font-size: 40px;
			font-weight: bold;
			margin-bottom: 20px; }
			.ct__txt .head figure {
				display: inline-block;
				vertical-align: middle; }
			.-hokkaido .ct__txt .head {
				color: #8f5da7; }
			.-iwate .ct__txt .head {
				color: #6067b1; }
			.-miyagi .ct__txt .head {
				color: #6067b1; }
			.-fukushima .ct__txt .head {
				color: #6067b1; }
			.-fukui .ct__txt .head {
				color: #41a850; }
			.-mie .ct__txt .head {
				color: #41a850; }
			.-tottori .ct__txt .head {
				color: #d1ab00; }
			.-kagawa .ct__txt .head {
				color: #ec9800; }
			.-kouchi .ct__txt .head {
				color: #ec9800; }
			.-nagasaki .ct__txt .head {
				color: #e15300; }
			.-miyazaki .ct__txt .head {
				color: #e15300; }
			.-okinawa .ct__txt .head {
				color: #e15300; }
		@media screen and (max-width: 750px) {
			.ct__txt {
				width: 100%; }
				.ct__txt .head {
					text-align: center;
					font-size: 32px;
					letter-spacing: -0.05em; }
				.ct__txt span {
					display: block;
					margin: 0.2em 0;
					line-height: 1; } }
	.ct__ph {
		width: 330px;
		position: relative;
		top: 100px; }
		@media screen and (max-width: 750px) {
			.ct__ph {
				width: 100%;
				text-align: center;
				padding-top: 5%;
				top: 0; } }
		.ct__ph > img {
			position: relative;
			z-index: 1;
			transform: translateX(-50px); }
			@media screen and (max-width: 750px) {
				.ct__ph > img {
					width: 60%;
					transform: none; } }
		.-r .ct__ph {
			text-align: right; }
			.-r .ct__ph img {
				transform: translateX(50px); }
			@media screen and (max-width: 750px) {
				.-r .ct__ph {
					text-align: center; }
					.-r .ct__ph img {
						transform: none; } }
		.ct__ph:before {
			position: absolute;
			content: "";
			height: 0;
			background: no-repeat top center/contain; }
			.-hokkaido .ct__ph:before {
				background-image: url(../img/bg_hokkaido.png);
				width: 143%;
				padding-top: 122%;
				bottom: -80px;
				right: -150px; }
			.-iwate .ct__ph:before {
				background-image: url(../img/bg_iwate.png);
				width: 80%;
				padding-top: 136%;
				bottom: -80px;
				right: 190px; }
			.-miyagi .ct__ph:before {
				background-image: url(../img/bg_miyagi.png);
				width: 120%;
				padding-top: 135%;
				bottom: -80px;
				right: -80px; }
			.-fukushima .ct__ph:before {
				background-image: url(../img/bg_fukushima.png);
				width: 143%;
				padding-top: 116%;
				bottom: -80px;
				right: 50px; }
			.-fukui .ct__ph:before {
				background-image: url(../img/bg_fukui.png);
				width: 136%;
				padding-top: 110%;
				bottom: 30px;
				left: 50px; }
				@media screen and (max-width: 750px) {
					.-fukui .ct__ph:before {
						bottom: 30px;
						left: -5%; } }
			.-mie .ct__ph:before {
				background-image: url(../img/bg_mie.png);
				width: 83%;
				padding-top: 144%;
				bottom: -100px;
				right: 83px; }
				@media screen and (max-width: 750px) {
					.-mie .ct__ph:before {
						left: 59%; } }
			.-tottori .ct__ph:before {
				background-image: url(../img/bg_tottori.png);
				bottom: -80px;
				right: -97px;
				width: 120%;
				padding-top: 115%; }
				@media screen and (max-width: 750px) {
					.-tottori .ct__ph:before {
						left: -40px; } }
			.-kagawa .ct__ph:before {
				background-image: url(../img/bg_kagawa.png);
				bottom: -10px;
				right: -30px;
				width: 149%;
				padding-top: 76%; }
				@media screen and (max-width: 750px) {
					.-kagawa .ct__ph:before {
						left: 15%; } }
			.-kouchi .ct__ph:before {
				background-image: url(../img/bg_kouchi.png);
				bottom: 10px;
				right: -160px;
				width: 138%;
				padding-top: 114%; }
				@media screen and (max-width: 750px) {
					.-kouchi .ct__ph:before {
						left: 0;
						bottom: -100px;
						width: 106%; } }
			.-nagasaki .ct__ph:before {
				background-image: url(../img/bg_nagasaki.png);
				bottom: -50px;
				right: 50px;
				width: 135%;
				padding-top: 130%; }
				@media screen and (max-width: 750px) {
					.-nagasaki .ct__ph:before {
						left: -20%;
						bottom: -145px;
						width: 100%; } }
			.-miyazaki .ct__ph:before {
				background-image: url(../img/bg_miyazaki.png);
				bottom: -150px;
				right: -110px;
				width: 103%;
				padding-top: 148%; }
				@media screen and (max-width: 750px) {
					.-miyazaki .ct__ph:before {
						right: 4%;
						bottom: -160px;
						width: 95%; } }
			.-okinawa .ct__ph:before {
				background-image: url(../img/bg_okinawa.png);
				bottom: -110px;
				right: 65px;
				width: 115%;
				padding-top: 147%; }
				@media screen and (max-width: 750px) {
					.-okinawa .ct__ph:before {
						right: 35%; } }

/* expand
----------------------------------------------------------- */
.expand {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background: rgba(255, 255, 255, 0.3);
	padding: 20px;
	border-radius: 20px;
	position: relative;
	margin: 20px auto; }
	.expand > div {
		text-align: center; }
		.expand > div.exp {
			width: 70%;
			max-width: 618px; }
			.expand > div.exp img {
				width: 100%;
				margin-right: 40px; }
		.expand > div.logo {
			width: 30%; }
			.expand > div.logo img {
				width: 100%; }
			.-kouchi .expand > div.logo {
				margin-left: 40px;
				max-width: 236px; }
				@media screen and (max-width: 750px) {
					.-kouchi .expand > div.logo {
						margin: 25px 0 0 0;
						max-width: 280px; } }
			.-nagasaki .expand > div.logo {
				margin-right: 15px; }
				@media screen and (max-width: 750px) {
					.-nagasaki .expand > div.logo {
						margin: 38px 0 0 0;
						max-width: 440px; } }
			.-okinawa .expand > div.logo {
				margin-right: 20px;
				max-width: 275px; }
				@media screen and (max-width: 750px) {
					.-okinawa .expand > div.logo {
						margin: 55px 0 0 0;
						max-width: 440px; } }
	.expand.-rev .exp {
		order: 2; }
	.expand.-rev .logo {
		order: 1; }
	@media screen and (max-width: 750px) {
		.expand {
			display: block; }
			.expand > div.exp,
			.expand > div.logo {
				width: 100%; }
			.expand > div.logo img {
				width: 60%; } }

/* localacts
----------------------------------------------------------- */
.localacts {
	background: url(../img/bg_localact.png) center; }
	.localacts .sec__inner {
		background: url(../img/map_localact.png) no-repeat center;
		padding-top: 60px;
		padding-bottom: 60px; }
	.localacts__head {
		text-align: center;
		margin-bottom: 40px; }
		.localacts__head figure {
			margin-bottom: 40px; }
	.localacts__text {
		text-align: center;
		margin-bottom: 40px;
		text-shadow: 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff, 0 0 16px #fff; }
	.localacts__btn {
		text-align: center;
		padding: 0 40px; }
