@charset "UTF-8";
/* CSS Document */


/* -------------------------------------------

全体設定

 ---------------------------------------------------*/
body {
	width:100%;
	color: #2e3192;
	font-size: 16px;
	font-family: 'M PLUS 1p', sans-serif;
	-webkit-text-size-adjust: 100%;
	line-height:1.2;
	padding-top: 75px;
}
a{
	color: #2e3192;
	text-decoration: none;
	transition: 0.3s;
	cursor: pointer!important;
}
a:hover{
	opacity: 0.6;
}
img{
	width:100%;
	height: auto;
	vertical-align: bottom;
}
.f_r{
	font-family: 'M PLUS Rounded 1c', sans-serif;
}
.f_s{
	font-family: "Sawarabi Gothic", sans-serif;
}
@media screen and (max-width: 768px) {
	body{
		min-width: 0;
		padding-top: 12vw;
	}
}

header{
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 75px;
	box-sizing: border-box;
	background: #fff;
	top: 0;
	z-index: 9999;
}
header .inner{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	padding: 0 12px 0 148px;
}
header .inner .logo_umi{
	width: 310px;
	margin-right: auto;
}
header .btn_sns{
	width: 40px;
	margin: 0 0 0 10px;
}
header .btn_contact{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 120px;
	height: 32px;
	font-size: 15px;
    color: #0063ad;
	text-align: center;
    border-radius: 15px;
    border: 2px solid #0063ad;
	background: #fff;
    margin: 0 0 0 12px;
	box-sizing: border-box;
	box-shadow: 2px 2px 0px 1px rgba(170,170,170,0.6);
}
header .btn_contact span{
    font-weight: 500;
}
header .btn_contact:hover {
	color: #fff;
	background: #0063b0;
	opacity: 1;
}
header .logo_ttd{
	width: 220px;
	margin: 0 0 0 12px;
}
header .logo_ezm{
	width: 220px;
	margin: 0 12px 0 12px;
}
header .menu{
	position: absolute;
	z-index: 9999;
	cursor: pointer;
	background: #fff;
}
.trigger {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 75px;
	left: 20px;
	background: #fff;
	z-index: 999;
	transition: all .5s;
}
.trigger_inner{
	position: relative;
	width: 100%;
}
.trigger.active {
	left: 350px;
}
.trigger span {
	display: block;
	width: 100%;
	height: 5px;
	background-color: #0071b9;
	transition: all .5s;
	border-radius: 20px;
}
.trigger.active span {
	width: 60%;
}
.trigger span:nth-of-type(2) {
	margin: 12px 0;
}
.trigger.active span{
	position: absolute;
	top: 50%;
	left: 50%;
}
.trigger.active span:nth-of-type(1) {
	transform: translate(-50%, 50%) rotate(-45deg);
}
.trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.trigger.active span:nth-of-type(3) {
	transform: translate(-50%, 50%) rotate(45deg);
}
.gnav {
	position: fixed;
	width: 350px;
	height: 100vh;
	padding: 40px 14px;
	background: #fff;
	top: 0;
	left: 0;
	z-index: 10;
	transform: translateX(-100%);
	transition: all .5s;
	box-sizing: border-box;
	overflow-y: scroll;
}
.gnav.open {
	transform: translateX(0);
}
.gnav .logo{
	width: 240px;
	margin: 0 auto 34px;
}
.gnav .btn_on{
	display: block;
	width: 90%;
	margin: 0 auto 18px;	
}
.gnav a,
.gnav dl dt,
.gnav dl dd{
	color: #036eb7;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 18px;
	font-weight: 700;
}
.gnav .list{
	margin: 50px 0 0;
}
.gnav .list li{
	margin: 0 0 10px;
}
.gnav dl{
	margin: 50px 0 0;
}
.gnav dl dt{
	padding: 0 8px 8px;
	border-bottom: 2px solid #036eb7;
}
.gnav dl dd{
	margin: 15px 5px 0;
}
.gnav .list li a:before,
.gnav dl dd a:before{
	content: ">";
	margin: 0 5px 0 0;
}
.gnav .sns{
	display: flex;
	justify-content: center;
	margin: 100px 0 15px;
}
.gnav .sns a{
	display: block;
	margin: 0 8px;
}
.gnav .btn_contact{
	width: 130px;
	margin: 0 auto;
}
.gnav .logo_ttd{
	margin: 30px auto 0;
}
.overlay {
	content: "";
	display: block;
	width: 0;
	height: 0;
	background-color: rgba(0, 0, 0, 0.8);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
	opacity: 0;
	transition: opacity .2s;
}
.overlay.open {
	width: 100%;
	height: 100vh;
	opacity: 1;
}
body.open{
	overflow-y: hidden;
}
@media print, screen and (max-width: 1280px) {
	header .inner .logo_umi{
		width: 240px;
	}
	header .btn_sns {
    	width: 30px;
	}
	header .btn_contact {
		width:100px;
		font-size: 13px;
	}
	header .logo_ttd {
 	   width: 160px;
	}
}
@media print, screen and (max-width: 768px) {
	header{
		height: 12vw;
	}
	header .inner{
		padding: 0;
	}
	header .inner .logo_umi{
		width: 47.4666vw;
		margin: 0 auto;
	}
	header .inner .btn_sns,
	header .inner .btn_contact,
	header .inner .logo_ttd,
	header .inner .logo_ezm{
		display: none;
	}
	header .btn_sns{
		width: 9.8vw;
		margin: 0 0 0 2.1333vw;
	}
	.trigger {
		width: 12vw;
		height: 12vw;
		left: 2.1333vw;
	}
	.trigger_inner{
		width: 9.3333vw;
	}
	.trigger.active {
		left: 68vw;
	}
	.trigger span {
		height: 3px;
		border-radius: 8vw;
	}
	.trigger span:nth-of-type(2) {
		margin: 2.1333vw 0;
	}
	.trigger.active span{
		width: 80%;
	}
	.gnav {
		width: 68vw;
		padding: 9.6vw 4vw;
	}
	.gnav .logo{
		width: 48vw;
		margin: 0 auto 8vw;
	}
	.gnav .btn_on{
		margin: 0 auto 3.2vw;	
	}
	.gnav .list{
		margin: 8vw 0 0;
	}
	.gnav a,
	.gnav dl dt,
	.gnav dl dd{
		font-size: 3.7333vw;
	}
	.gnav a.link{
		font-size: 4vw;
	}
	.gnav dl{
		margin: 11.2vw 0 0;
	}
	.gnav dl dt{
		padding: 0 2.1333vw 2.1333vw;
	}
	.gnav dl dd{
		margin: 4vw 1.6vw 0;
	}
	.gnav .list li a:before,
	.gnav dl dd a:before{
		margin: 0 1.3333vw 0 0;
	}
	.gnav .sns{
		margin: 11.2vw 0 6.4vw;
	}
	.gnav .sns a{
		margin: 0 2.1333vw;
	}
	.gnav .btn_contact{
		width: 32vw;
		height: 8.5333vw;
		font-size: 3.7333vw;
		margin: 0 auto;
	}
	.gnav .logo_ttd{
		width: 53.3333vw;
		margin: 10.6666vw auto 0;
	}
	.gnav .logo_ezm{
		width: 53.3333vw;
		margin: 5.3333vw auto;
	}
}

.kv{
	position: relative;
	max-height: calc(100vh - 75px);
}
.kv_slide_smp{
	display: none;
}
.slick-dotted.slick-slider{
	margin: 0;
}
.dots_box {
	position: absolute;
    display: flex;
	align-items: center;
    justify-content: center;
	left: 50%;
	bottom: 9.375vw;
	transform: translateX(-50%);
}
.dots_box li {
    width: 1.4583vw;
    height: 1.4583vw;
	margin: 0 0.78125vw;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
}
.dots_box li:hover,
.dots_box li.slick-active {
    background: #ff0;
}
.dots_box li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
.kv_inner{
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.kv_inner .cap01{
	position: relative;
	width: 16.161616vw;
	top: 1.5151515vw;
	right: -2.0202020vw;
}
.kv_inner .cap02{
	position: absolute;
	width: 5.0505050vw;
	left: 2.272727vw;
	top: 6.060606vw;
}
.kv_inner .cap03{
	width: 30.303030vw;
}
.kv_inner .cap04{
	width: 25.252525vw;
	margin: 1.010101vw 0 0;
}
.kv_inner .logo{
	width: 30.30303vw;
}
/*
.kv_inner .cap01{
	position: relative;
	width: 25.1041vw;
	top: 3.0125vw;
	right: -3.125vw;
}
.kv_inner .cap02{
	position: absolute;
	width: 9.375vw;
	left: 5.2083vw;
	top: 7.8125vw;
}
.kv_inner .cap03{
	width: 46.875vw;
}
.kv_inner .cap04{
	width: 46.4583vw;
	margin: 1.0416vw 0 0;
}
.kv_inner .logo{
	width: 52.2916vw;
}
*/
.kv a{
	display: none;
}
@media print, screen and (max-width: 768px) {
	.kv {
    	height: calc(100svh - 12vw);
	}
	.kv_slide{
		display: none;
	}
	.kv_slide_smp{
		display: block;
	}
	.dots_box {
		display: none;
	}
	.kv_inner .cap01{
		width: 44.2666vw;
		top: 6.4vw;
		right: -5.3333vw;
	}
	.kv_inner .cap02{
		width: 17.0666vw;
		left: 10.6666vw;
		top: 15.4666vw;
	}
	.kv_inner .cap03{
		width: 82.6666vw;
	}
	.kv_inner .cap04{
		width: 82.6666vw;
		margin: 2.6666vw 0 0;
	}
	.kv_inner .logo{
		width: 93.3333vw;
	}
	.kv a{
		position: absolute;
		display: block;
		width: 9.6vw;
		bottom: 2.6666vw;
		left: 50%;
		transform: translateX(-50%);
	}
}

.pagelink{
	position: relative;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 2.8125vw 0 0;
	background: #cff1eb;
}
.pagelink li{
	position: relative;
	margin: 0 0.78125vw 0.78125vw;
}
.pagelink li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 12.2916vw;
	height: 3.8541vw;
	color: #0071b9;
	font-size: 1.5625vw;
	font-weight: 700;
	letter-spacing: 0.2em;
	background: #fff;
	background: url("../images/btn_pagelink.png") #fff no-repeat center;
	background-size: cover;
	border: 0.2604vw solid #29abe2;
	border-radius: 1.875vw;
	box-sizing: border-box;
}
.pagelink li a:hover{
	opacity: 1;
	background: url("../images/btn_pagelink.png") #ff0 no-repeat center;
	background-size: cover;
}
.pagelink li:nth-child(3) a{
	letter-spacing: 0;
}
@media print, screen and (max-width: 768px) {
	.pagelink{
		justify-content: space-between;
		padding: 4.8vw 5.3333vw 0;
	}
	.pagelink li{
		width: 42.6666vw;
		margin: 0 0 2.6666vw;
	}
	.pagelink li a{
		width: 100%;
		height: 12.8vw;
		font-size: 5.3333vw;
		border: 0.8vw solid #0071b9;
		border-radius: 6.4vw;
	}
}

#project{
	position: relative;
	padding: 8.8541vw 0 0;
	background: #cff1eb;
}
#project .tit{
	width: 62.9166vw;
	margin: 0 auto;
}
#project .tit_wrap{
	position: absolute;
	width: 100%;
	height: 28.3333vw;
	top: 8.0729vw;
	background: url("../images/bg_project.png") no-repeat top center;
	background-size: cover;
}
#project .inner{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 6.7708vw 0;
}
#project .inner .img{
	width: 23.6458vw;
	margin: 0  3.6458vw;
}
#project .inner .txt_left,
#project .inner .txt_right{
	width: 23.9583vw;
}
.ani_active .fadein1{
    animation-name: fadein1;
}
.fadein1,
.fadein2,
.fadein3,
.fadein4,
.fadein5,
.fadein6,
.fadein7{
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}
.fadein1{
    animation-delay: 0.5s;
}
@keyframes fadein1 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.ani_active .fadein2{
    animation-name: fadein2;
}
.fadein2 {
    animation-delay: 1s;
}
@keyframes fadein2 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.ani_active .fadein3{
    animation-name: fadein3;
}
.fadein3 {
    animation-delay: 1.5s;
}
@keyframes fadein3 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.ani_active .fadein4{
    animation-name: fadein4;
}
.fadein4{
    animation-delay: 2s;
}
@keyframes fadein4 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.ani_active .fadein5{
    animation-name: fadein5;
}
.fadein5{
    animation-delay: 3s;
}
@keyframes fadein5 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.ani_active .fadein6{
    animation-name: fadein6;
}
.fadein6{
    animation-delay: 3.5s;
}
@keyframes fadein6 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.ani_active .fadein7{
    animation-name: fadein7;
}
.fadein7{
    animation-delay: 4s;
}
@keyframes fadein7 {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
.slide_project_container{
	position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    overflow: hidden;
	z-index: 10;
}
.slide_project_container .slide_project {
	display: flex;
	animation: slide-flow-l 50s infinite linear 1s both;
}
.slide_project_container .slide_project .slide{
	width: 26.0416vw;
	margin: 0 3.6458vw 0 0;
	object-fit:cover;
}
@keyframes slide-flow-l {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
@media print, screen and (max-width: 768px) {
	#project{
		padding: 13.3333vw 0 0;
	}
	#project .tit{
		width: 92vw;
	}
	#project .tit_wrap{
		display: none;
	}
	#project .inner{
		margin: 6.6666vw 0;
	}
	#project .inner .img{
		width: 40vw;
		margin: 0 3.2vw 0 0;
	}
	#project .inner .txt_left{
		display: none;
	}
	#project .inner .txt_right{
		width: 49.6vw;
	}
	#project .inner .fadein3 {
	    animation-delay: 1s;
	}
	#project .inner .fadein4{
    	animation-delay: 2s;
	}
	.slide_project_container .slide_project .slide{
		width: 50.6666vw;
		margin: 0 5.3333vw 0 0;
	}	
}

#intro{
	position: relative;
	padding: 15.625vw 0 7.8125vw;
	margin: -7.8125vw 0 0;
	background: url("../images/bg_bubble.png") no-repeat #3cc3f2;
	background-size: cover;
}
#intro:before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 6.0416vw;
	background: url("../images/bg_wave.png") repeat-x top center;
	top: -6.0416vw;
	left: 0;
}
#intro .tit{
	width: 66.6666vw;
	margin: 0 auto;
}
#intro .txt{
	font-family: "Sawarabi Gothic", sans-serif;
	color: #fff;
	font-size: 1.875vw;
	line-height: 1.75;
	text-align: center;
	margin: 1.5625vw 0 4.6875vw;
}
#intro .txt02{
	font-size: 3.0208vw;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
#intro .btn{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 39.0625vw;
	height: 5.7291vw;
	font-family: 'M PLUS 1p', sans-serif;
	color: #0071b9;
	font-size: 2.3958vw;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 7.8125vw auto 0;
	background: #fff;
	background: url("../images/btn_common.png") #fff no-repeat top 8px right 8px;
	background-size: 2.6041vw;
	border: 0.2604vw solid #29abe2;
	border-radius: 1.875vw;
	box-sizing: border-box;
}
#intro .btn img{
	position: absolute;
	width: 12.7083vw;
	left: -5.8333vw;
	bottom: -3.125vw;
}
#intro .btn:hover{
	opacity: 1;
	background: url("../images/btn_common.png") #ff0 no-repeat top 8px right 8px;
	background-size: 2.6041vw;
}
@media print, screen and (max-width: 768px) {
	#intro{
		padding: 21.3333vw 0 10.6666vw;
		margin: -14.6666vw 0 0;
		background-size: cover;
	}
	#intro:before{
		height: 12.8vw;
		top: -12.8vw;
		background-size: cover;
	}
	#intro .tit{
		display: flex;
		justify-content: center;
		width: 100%;
		overflow: hidden;
	}
	#intro .tit img{
		width: 128vw;
	}
	#intro .txt{
		font-size: 3.4666vw;
		margin: 6.9333vw 0;
	}
	#intro .txt02{
		font-size: 4.8vw;
	}
	#intro .btn{
		width: 66.1333vw;
		height: 9.6vw;
		font-size: 4vw;
		margin: 12.8vw auto 0;
		background: url("../images/btn_common.png") #fff no-repeat top 1.0666vw right 1.0666vw;
		background-size: 4vw;
		border: 2px solid #29abe2;
		border-radius: 4.2666vw;
	}
	#intro .btn img{
		width: 21.3333vw;
		left: -8vw;
		bottom: -4.8vw;
	}
	#intro .btn:hover{
		background: url("../images/btn_common.png") #ff0 no-repeat top 1.0666vw right 1.0666vw;
		background-size: 4vw;
	}
}

#detail{
	padding: 4.6875vw 0 6.7708vw;
	background: #ffe100;
}
#detail .tit{
	width: 53.0208vw;
	margin: 0 auto;
}
#detail ul li{
	display: flex;
	align-items: center;
	margin: 5.2083vw 0 0;
}
#detail ul li .img{
	width: 59.5833vw;
	margin: 0 4.1666vw 0 0;
}
#detail ul li .icon{
	display: block;
	width: 9.6875vw;
	margin: 0 auto 1.5625vw;
}
#detail ul li .txt{
	font-size: 1.875vw;
	line-height: 1.75;
	text-align: center;
}
#detail ul li:last-child{
	flex-direction: row-reverse;
}
#detail ul li:last-child .img{
	margin: 0 0 0 4.1666vw;
}
@media print, screen and (max-width: 768px) {
	#detail{
		padding: 8vw 0 9.0666vw;
	}
	#detail .tit{
		width: 90.6666vw;
	}
	#detail ul li{
		display: block;
		margin: 12.8vw 0 0;
	}
	#detail ul li .img{
		width: 84vw;
		margin: 0 0 5.3333vw;
	}
	#detail ul li .icon{
		width: 18.6666vw;
		margin: 0 auto 3.2vw;
	}
	#detail ul li .txt{
		font-size: 3.7333vw;
	}
	#detail ul li:last-child .img{
		margin: 0 0 5.3333vw auto;
	}
}

#overview{
	position: relative;
	text-align: center;
	padding: 2.6041vw 0 12.9166vw;
	background:url("../images/bg_overview.png") no-repeat top 1.5625vw center #d4f2ff;
}
#overview .tit{
	position: relative;
	max-width: 54.5833vw;
	margin: 0 auto 2.1875vw;
	z-index: 10;
}
#overview .cap{
	position: relative;
	font-size: 2.5vw;
	line-height: 1.6;
	z-index: 10;
}
#overview .cnt{
	position: relative;
	width: 53.125vw;
	margin: 0 auto;
	border-radius:  2.8125vw;
	border: 0.3125vw solid #0071bc;
	box-sizing: border-box;
	padding: 5.7291vw 0 3.125vw;
	background: url("../images/bg_overview_cnt02.png") no-repeat #fff;
	background-size: cover;
}
#overview .cnt .tit_cnt{
	position: absolute;
	width: 31.25vw;
	top: -4.375vw;
	left: 50%;
	transform: translateX(-50%);
}
#overview .cnt .txt{
	font-size: 1.875vw;
	line-height: 1.75;
}
#overview .cnt.banana{
	padding: 5.7291vw 0 1.0416vw;
	margin: 8.125vw auto 2.2916vw;
	border: 0.3125vw solid #ffe100;
	background: url("../images/bg_overview_cnt01.png") no-repeat #fff;
	background-size: cover;
}
#overview .cnt.banana .tit_cnt{
	width: 40.9375vw;
	top: -5.2083vw;
}
#overview .cnt .date{
	display: flex;
	justify-content: center;
	margin: 1.0416vw 0 0;
}
#overview .cnt .date img{
	width: 7.1875vw;
	margin: 0 0.8333vw;
}
#overview .icon_times{
	width: 6.875vw;
	margin: 0 auto 6.25vw;
}
#overview .illust_wrap div{
	position: absolute;
	transform-origin: center bottom;
    animation: yurayura 2s linear infinite;
	z-index: 9;
}
#overview .illust_wrap .illust01{
	width: 20.2083vw;
	top: 4.375vw;
	right: 1.9791vw;
}
#overview .illust_wrap .illust02{
	width: 17.3958vw;
	top: 46.9791vw;
	left: 5.9895vw;
}
#overview .illust_wrap .illust03{
	width: 21.4583vw;
	top: 60.4166vw;
	right: 7.6041vw;
}
#overview .illust_wrap .illust04{
	width: 16.875vw;
	bottom: 4.8958vw;
	left: 7.3958vw;
}
#overview .illust01_smp{
	display: none;
}
@keyframes yurayura {
  0% , 100%{
      transform: rotate(10deg);
  }
  50%{
      transform: rotate(-10deg);
  }
}
@media print, screen and (max-width: 768px) {
	#overview{
		padding: 6.4vw 3.7333vw 10.6666vw;
		background:url("../images/bg_overview.png") no-repeat top 2vw center #d4f2ff;
		background-size: cover;
	}
	#overview .tit{
		width: 90.6666vw;
		margin: 0 auto 5.3333vw;
	}
	#overview .cap{
		font-size: 4vw;
	}
	#overview .cnt{
		width: 100%;
		border-radius: 4.8vw;
		border: 2px solid #0071bc;
		padding: 9.6vw 0 6.4vw;
	}
	#overview .cnt .tit_cnt{
		width: 54.4vw;
		top: -8vw;
	}
	#overview .cnt .txt{
		font-size: 3.7333vw;
	}
	#overview .cnt.banana{
		padding: 10.6666vw 0 3.2vw;
		margin: 0 auto 4.2666vw;
		border: 2px solid #ffe100;
	}
	#overview .cnt.banana .tit_cnt{
		width: 100%;
		top: -12.8vw;
	}
	#overview .cnt .date{
		margin: 1.6vw 0 0;
	}
	#overview .cnt .date img{
		width: 14.4vw;
		margin: 0 1.6vw;
	}
	#overview .icon_times{
		width: 12vw;
		margin: 0 auto 9.0666vw;
	}
	#overview .illust01_smp{
		display: block;
		width: 68vw;
		margin: 5.3333vw auto 12vw;
		transform-origin: center bottom;
    	animation: yurayura 2s linear infinite;
	}
	#overview .illust_wrap{
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		justify-content: center;
		margin: 8vw 0 0;
	}
	#overview .illust_wrap div{
		position: static;
	}
	#overview .illust_wrap .illust01,
	#overview .illust_wrap .illust02{
		display: none;
	}
	#overview .illust_wrap .illust03{
		width: 28vw;
		margin: 0 0 0 8vw;
	}
	#overview .illust_wrap .illust04{
		width: 22.4vw;
	}
}

#schedule{
	position: relative;
	padding: 5.7291vw 1.5625vw 8.3333vw;
	background: url("../images/bg_schedule.png") no-repeat;
}
#schedule .tit{
	width: 33.125vw;
	margin: 0 auto;
}
#schedule .list{
	width: 63.5416vw;
	margin: 1.7708vw auto 0;
}
#schedule .list li{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 2.6041vw 2.6041vw 2.6041vw 1.5625vw;
	margin: 0 0 3.3854vw;
	background: #3cc3f2;
	border-radius: 1.5625vw;
	box-sizing: border-box;
}
#schedule .list li:after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: -0.5208vw;
	left: -0.5208vw;
	border: 0.4166vw solid #ff0;
	border-radius: 1.5625vw;
	box-sizing: border-box;
}
#schedule .list li.noborder:after{
	display: none;
}
#schedule .list li:last-child{
	margin: 0;
}
#schedule .list li .tit_list{
	display: flex;
	align-items: center;
}
#schedule .list li .tit_list .num{
	width: 5.2083vw;
	margin: 0 0.5208 0 0;
}
#schedule .list li:nth-child(3) .tit_list .main{
	left: 6.77083vw;
	position: absolute;
}
#schedule .list li .tit_list .cap{
	font-size: 2.6041vw;
	font-weight: 700;
}
#schedule .list li .tit_list .note{
	display: block;
	color: #ff0;
	font-size: 2.6041vw;
	font-weight: 700;
}
#schedule .list li .txt{
	font-family: "Sawarabi Gothic", sans-serif;
	font-size: 1.8229vw;
	line-height: 1.6;
	margin: 2.6041vw 0 0;
}
#schedule .list li.noborder .txt{
	line-height: 1.6;
	margin: 1.041666vw 0 0;
}
#schedule .list li .txt span{
	font-size: 2.6041vw;
}
#schedule .list li .txt span.bg_yellow{
	font-size: 1.8229vw;
	background: #FDFF00;
}
#schedule .list li .shooting{
	position: absolute;
	top: 1.875vw;
	right: 2.5vw;
	width: 5.20833vw;
}
#schedule .list li:nth-child(1) .img{
	width: 20.9375vw;
}
#schedule .list li:nth-child(2) .img{
	width: 19.0104vw;
}
#schedule .list li:nth-child(3) .img{
	width: 18.90625vw;
}
#schedule .list li:nth-child(4) .img{
	width: 21.5625vw;
}
#schedule .list li:nth-child(5) .img{
	width: 18.3333vw;
}
#schedule .list li:nth-child(3) .img,
#schedule .list li:nth-child(4) .img{
	margin: 3.6458vw 0 0;
}
@media print, screen and (max-width: 768px) {
	#schedule{
		padding: 8vw 4.8vw 17.6666vw;
	}
	#schedule .tit{
		width: 66.6666vw;
	}
	#schedule .list{
		width: 100%;
		margin: 3.2vw auto 0;
	}
	#schedule .list li{
		display: block;
		padding: 4.8vw 5.0666vw 7.4666vw;
		margin: 0 0 6.9333vw;
		border-radius: 3.4666vw;
	}
	#schedule .list li:after{
		top: -1.6vw;
		left: -1.0666vw;
		border: 1.0666vw solid #ff0;
		border-radius: 3.4666vw;
	}
	#schedule .list li .tit_list .num{
		width: 10.6666vw;
		margin: 0 2.1333vw 0 0;
	}
	#schedule .list li:nth-child(3) .tit_list .main{
		position: static;
		left: auto;
		width:50.5vw;
	}
	#schedule .list li:nth-child(4) .tit_list .main{
		width:50.5vw;
	}
	#schedule .list li .tit_list .cap,
	#schedule .list li .tit_list .note{
		font-size: 5.6vw;
	}
	#schedule .list li .txt{
		font-size: 4vw;
		margin: 4.8vw 0 0;
	}
	#schedule .list li .txt span{
		font-size: 5.6vw;
	}
	#schedule .list li .txt span.bg_yellow{
		font-size: 4vw;
	}
	#schedule .list li .shooting{
		width: 11.2vw;
		top: 6.4vw;
		right: 5.333vw;
	}
	#schedule .list li .img{
		margin: 4vw auto 0!important;
	}
	#schedule .list li:nth-child(1) .img{
		width: 49.0666vw;
	}
	#schedule .list li:nth-child(2) .img{
		width: 41.8666vw;
	}
	#schedule .list li:nth-child(3) .img{
		width: 42.6666vw;
	}	
	#schedule .list li:nth-child(4) .img{
		width: 46.4vw;
	}
	#schedule .list li:nth-child(5) .img{
		width: 45.8666vw;
	}
}

#method{
	font-family: "Sawarabi Gothic", sans-serif;
	padding: 10.2083vw 0 12.5vw;
	background: #ffe100;
}
#method .wrap{
	position: relative;
	width: 65.625vw;
	padding: 6.5104vw 4.375vw 7.8125vw;
	margin: 0 auto;
	background: #fff;
	border: 0.3645vw solid #3cc3f2;
	box-sizing: border-box;
	border-radius: 3.125vw;
}
#method .wrap .tit{
	position: absolute;
	width: 29.2708vw;
	left: 50%;
	top: -8.59375vw;
	transform: translateX(-50%);
}
#method .cnt .tit_cnt{
	width: 54.79166vw;
	margin: 0 0 2.0833vw;
}
#method .cnt .tit_method_step{
	display: flex;
	align-items: flex-end;
	font-size: 2.9166vw;
	margin: 2.0833vw 0 1.0416vw;
}
#method .cnt .tit_method_step img{
	width: 12.2916vw;
	margin: 0 1.5625vw 0 0;
}
#method .cnt .txt{
	font-size: 1.6666vw;
	line-height: 1.3;
}
#method .cnt .txt.list{
	line-height: 1.75;
}
#method .cnt .txt .red{
	color: #f50000;
}
#method .cnt .btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32.2916vw;
	height: 5.7291vw;
	font-family: 'M PLUS 1p', sans-serif;
	color: #0071b9;
	font-size: 2.3958vw;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 1.5625vw 0 0;
	background: #fff;
	background: url("../images/btn_common.png") #e4f7ff no-repeat top 8px right 8px;
	background-size: 2.6041vw;
	border: 0.2604vw solid #29abe2;
	border-radius: 1.875vw;
	box-sizing: border-box;
}
#method .cnt .btn:hover{
	opacity: 1;
	background: url("../images/btn_common.png") #ff0 no-repeat top 8px right 8px;
	background-size: 2.6041vw;
}
#method .cnt .btn.btn_mail{
	letter-spacing: 0;
}
#method .cnt table{
	width: 100%;
	font-size: 1.6666vw;
	margin: 1.5625vw 0 0;
	border: 2px solid #0071bc;
	box-sizing: border-box;
	border-collapse: collapse;
	border-spacing: 0;
}
#method .cnt table th,
#method .cnt table td{
	line-height: 1.25;
	padding: 0.78125vw 1.5625vw;
	box-sizing: border-box;
	border-bottom: 2px solid #0071bc;
}
#method .cnt table th{
	width: 10.2083vw;
	text-align: left;
	border-right: 2px solid #0071bc;
	background: #aae5ff;
}
#method .cnt .tit_example{
	font-family: 'M PLUS 1p', sans-serif;
	color: #f00;
	font-size: 2.1875vw;
	font-weight: 700;
	text-align: center;
	margin: 3.125vw 0 1.0416vw;
}
#method .cnt .img{
	width: 41.666vw;
	margin: 0 auto 3.125vw;
}
#method .cnt .recommend{
	color: #f00;
	font-size: 1.875vw;
}
#method .cnt .tit_attached{
	font-size: 1.6666vw;
	margin: 1.4583vw 0 0;
}
#method .cnt .cap{
	font-size: 1.6666vw;
	line-height: 1.25;
}
#method .cnt .note{
	color: #000;
	font-size: 1.6666vw;
	line-height: 1.25;
	margin: 1.7708vw 0 0;
}
#method .cnt.way{
	margin: 6.7708vw 0 4.1666vw;
}
#method .cnt.movie{
	margin: 4.6875vw 0 0;
}
@media print, screen and (max-width: 768px) {
	#method{
		padding: 21.3333vw 5.3333vw;
	}
	#method .wrap{
		width: 100%;
		padding: 12vw 4.8vw 16vw;
		border: 2px solid #3cc3f2;
		border-radius: 5.3333vw;
	}
	#method .wrap .tit{
		width: 53.3333vw;
		top: -14.6666vw;
	}
	#method .cnt .tit_cnt{
		width: 100%;
		margin: 0 0 2.1333vw;
	}
	#method .cnt .tit_method_step{
		font-size: 5.0666vw;
		margin: 3.2vw 0 2.1333vw;
	}
	#method .cnt .tit_method_step img{
		width: 20.2666vw;
		margin: 0 2.6666vw 0 0;
	}
	#method .cnt .txt{
		font-size: 3.7333vw;
		line-height: 1.7;
	}
	#method .cnt .txt.list{
		line-height: 1.7;
	}
	#method .cnt .btn{
		width: 56.5333vw;
		height: 10.1333vw;
		font-size: 4vw;
		margin: 4vw 0 5.8666vw;
		background: url("../images/btn_common.png") #fff no-repeat top 1.0666vw right 1.0666vw;
		background-size: 4vw;
		border: 2px solid #29abe2;
		border-radius: 4.2666vw;
	}
	#method .cnt .btn:hover{
		background: url("../images/btn_common.png") #ff0 no-repeat top 1.0666vw right 1.0666vw;
		background-size: 4vw;
	}
	#method .cnt table{
		font-size: 3.2vw;
		margin: 2.6666vw 0 0;
		border: 1px solid #0071bc;
	}
	#method .cnt table th,
	#method .cnt table td{
		padding: 1.6vw 1.3333vw;
		border-bottom: 1px solid #0071bc;
	}
	#method .cnt table th{
		width: 16vw;
		border-right: 1px solid #0071bc;
	}
	#method .cnt .tit_example{
		font-size: 3.7333vw;
		margin: 6.4vw 0 1.3333vw;
	}
	#method .cnt .img{
		width: 42.6666vw;
		margin: 0 auto 4vw;
	}
	#method .cnt .recommend{
		font-size: 3.7333vw;
		margin: 3.2vw 0 0;
	}
	#method .cnt .tit_attached{
		font-size: 3.7333vw;
		margin: 5.3333vw 0 0;
	}
	#method .cnt .cap{
		font-size: 3.7333vw;
		line-height: 1.4;
	}
	#method .cnt .note{
		font-size: 3.7333vw;
		margin: 3.2vw 0 0;
	}
	#method .cnt.way{
		margin: 10.1333vw 0;
	}
	#method .cnt.movie{
		margin: 9.6vw 0 0;
	}
}

#faq{
	position: relative;
	padding: 2.0833vw 0 6.4583vw;
	background: url("../images/bg_bubble.png") no-repeat #3cc3f2;
	background-size: contain;
}
#faq:before{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 6.0416vw;
	background: url("../images/bg_wave.png") repeat-x top center;
	top: -6.0416vw;
	left: 0;
}
#faq .wrap{
	width: 65.1041vw;
	margin: 0 auto;
}
#faq .wrap .tit{
	width: 25.2083vw;
	margin: 0 auto 2.6041vw;
}
#faq .wrap .list dt,
#faq .wrap .list dd{
	display: flex;
	justify-content: space-between;
	font-family: "Sawarabi Gothic", sans-serif;
	font-size: 1.875vw;
	line-height: 1.4;
	background: #009fe8;
}
#faq .wrap .list span{
	width: 3.125vw;
}
#faq .wrap .list p{
	width: calc(100% - 4.4791vw);
}
#faq .wrap .list dt{
	color: #ffff00;
	padding: 1.9791vw 1.25vw 1.7708vw;
}
#faq .wrap .list dd{
	color: #fff;
	padding: 0 1.25vw 2.8125vw;
	margin: 0 0 1.5625vw;
}
#faq .txt{
	font-family: "Sawarabi Gothic", sans-serif;
	font-size: 1.7708vw;
	line-height: 1.4;
}
#faq .btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 27.0833vw;
	height: 4.6875vw;
	font-family: 'M PLUS 1p', sans-serif;
	color: #0071b9;
	font-size: 1.9791vw;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin: 1.5625vw 0 0;
	background: #fff;
	background: url("../images/btn_common.png") #e4f7ff no-repeat top 8px right 8px;
	background-size: 2.6041vw;
	border: 0.2604vw solid #0071bc;
	border-radius: 1.875vw;
	box-sizing: border-box;
}
#faq .btn:hover{
	opacity: 1;
	background: url("../images/btn_common.png") #ff0 no-repeat top 8px right 8px;
	background-size: 2.6041vw;
}
@media print, screen and (max-width: 768px) {
	#faq{
		padding: 2.6666vw 5.3333vw 7.4666vw;
		background-size: 250%;
	}
	#faq:before{
        height: 12.8vw;
        top: -12.8vw;
        background-size: cover;
	}
	#faq .wrap{
		width: 100%;
	}
	#faq .wrap .tit{
		width: 48vw;
		margin: 0 auto 5.3333vw
	}
	#faq .wrap .list dt,
	#faq .wrap .list dd{
		font-size: 3.7333vw;
		line-height: 1.3;
	}
	#faq .wrap .list span{
		width: 4.8vw;
	}
	#faq .wrap .list p{
		width: calc(100% - 6.4vw);
	}
	#faq .wrap .list dt{
		padding: 3.7333vw 4.2666vw 4vw 2.1333vw;
	}
	#faq .wrap .list dd{
		padding: 0 4.2666vw 4vw 2.1333vw;
		margin: 0 0 3.2vw;
	}
	#faq .txt{
		font-size: 3.7333vw;
	}
	#faq .btn{
        width: 56.5333vw;
        height: 10.1333vw;
        font-size: 4vw;
        margin: 4.2666vw 0 5.8666vw;
        background: url(../images/btn_common.png) #fff no-repeat top 1.0666vw right 1.0666vw;
        background-size: 4vw;
        border: 2px solid #0071bc;
        border-radius: 4.2666vw;
	}
	#faq .btn:hover{
        background: url(../images/btn_common.png) #ff0 no-repeat top 1.0666vw right 1.0666vw;
        border-radius: 4.2666vw;
	}
}

#support{
	padding: 9.8958vw 0 4.6875vw;
	background: #cff1eb;
}
#support .wrap{
	position: relative;
	width: 65.1041vw;
	padding: 3.125vw 2.34375vw 0;
	margin: 0 auto;
	background: #fff;
	border: 7px solid #3cc3f2;
	border-radius: 2.2916vw;
	box-sizing: border-box;
}
#support .wrap .tit{
	position: absolute;
	width: 18.75vw;
	left: 50%;
	top: -7.1875vw;
	transform: translateX(-50%);
}
#support .wrap ul li{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 4.1666vw 0.78125vw;
	background: url("../images/border_support.png") no-repeat;
}
#support .wrap ul li:first-child{
	background: none;
}
#support .wrap ul li .logo{
	display: block;
	width: 20.8333vw;
}
#support .wrap ul li .inner{
	width: 33.8541vw;
}
#support .wrap ul li .inner .name{
	font-family: "M PLUS 2", sans-serif;
	font-size: 2.5vw;
	font-weight: 700;
	text-decoration: underline;
}
#support .wrap ul li .inner .name a{
	font-weight: 700;
}
#support .wrap ul li .inner .txt{
	font-family: "Sawarabi Gothic", sans-serif;
	font-size: 1.6666vw;
	margin: 0.9375vw 0 0;
}
#support .wrap ul li .inner .cap{
	font-family: "Sawarabi Gothic", sans-serif;
	font-size: 1.09375vw;
	margin: 0.9375vw 0 0;
}
@media print, screen and (max-width: 768px) {
	#support{
		padding: 24vw 5.3333vw 12.8vw;
	}
	#support .wrap{
		width: 100%;
		padding: 6.9333vw 6.4vw;
		border: 2px solid #3cc3f2;
		border-radius: 4.8vw;
	}
	#support .wrap .tit{
		width: 32.5333vw;
		top: -12.2666vw;
	}
	#support .wrap ul li{
		display: block;
		padding: 6.4vw 0.8vw;
		background-size: 190%;
	}
	#support .wrap ul li .logo{
		width: 43.7333vw;
		margin: 0 auto 5.3333vw;
	}
	#support .wrap ul li .inner{
		width: 100%;
	}
	#support .wrap ul li .inner .name{
		font-size: 4.8vw;
	}
	#support .wrap ul li .inner .txt{
		font-size: 3.7333vw;
		margin: 1.6vw 0 0;
	}
	#support .wrap ul li .inner .cap{
		font-size: 3.2vw;
		margin: 1.6vw 0 0;
	}
}

.sns_area{
	padding: 3.4375vw 1.5625vw;
}
.sns_area .inner{
	display: flex;
	justify-content: center;
	margin: 0 auto 2.6041vw;
}
.sns_area .box{
	width: 25vw;
	height: 40.625vw;
	overflow-y: scroll;
	border-radius: 0.5208vw;
	border: 2px solid #5caddc;
	margin: 0 2.0833vw;
	box-shadow: 3px 3px 0px 1px #5caddc;
}
.sns_area .btn_wrap{
	display: flex;
	justify-content: center;
}
.sns_area .btn_wrap a{
	display: block;
	width:  3.6458vw;
	margin: 0 0.5208vw;
}
.sns_area .logo_ttd{
	width: 19.7916vw;
	margin: 1.0416vw auto 0;
}
@media print, screen and (max-width: 768px) {
	.sns_area{
		padding: 11.2vw 6.4vw 6.9333vw;
	}
	.sns_area .inner{
		display: block;
		width: 100%;
		margin: 0 auto 12.8vw;
	}
	.sns_area .box{
		width: 100%;
		height: 84vw;
		margin: 0 0 6.4vw 0;
		border-radius: 2.6666vw;
	}
	.sns_area .box:last-of-type{
		margin: 0;
	}
	.sns_area .btn_wrap a{
		width: 10.6666vw;
		margin: 0 1.6vw;
	}
	.sns_area .logo_ttd{
		width: 72vw;
		margin: 3.2vw auto 0;
	}
}

footer{
	height: 4.6875vw;
	background: url("../images/bg_footer.png") no-repeat;
	background-size: cover;
}
.copyright {
	display: block;
    color: #fff;
	font-size: 0.9375vw;
	font-weight: 700;
	text-align: center;
	padding: 2.0833vw 0 0;
}
@media print, screen and (max-width: 768px) {
	footer{
		height: 26.6666vw;
	}
	.copyright {
		font-size: 3.7333vw;
		padding: 16vw 0 0;
	}
}

.smp_only{
	display: none;
}
@media print, screen and (max-width: 768px) {
	.smp_only{
		display: block;
	}
	.pc_only{
		display: none;
	}
}