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

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
div.main_photo div.slider div.hamon{
    width: 100%;
    height: 100vh;
}
div.main_photo div.slider div.main_photo01{
    background: url("../images/top/main_photo01.jpg") no-repeat;
    background-size: cover;
    background-position: center bottom;
}
div.main_photo div.slider div.main_photo02{
    background: url("../images/top/main_photo02.jpg") no-repeat;
    background-size: cover;
    background-position: center top;
}
div.main_photo div.slider div.main_photo03{
    background: url("../images/top/main_photo03.jpg") no-repeat;
    background-size: cover;
    background-position: center;
}
div.main_photo div.slider div.main_photo04{
    background: url("../images/top/main_photo04.jpg") no-repeat;
    background-size: cover;
    background-position: center;
}
div.main_photo div.slider div.main_photo05{
    background: url("../images/top/main_photo05.jpg") no-repeat;
    background-size: cover;
    background-position: center bottom;
}
div.main_photo div.slider div.main_photo06{
    background: url("../images/top/main_photo06.jpg") no-repeat;
    background-size: cover;
    background-position: center;
}
div.main_photo div.slider div.main_photo07{
    background: url("../images/top/main_photo07.jpg") no-repeat;
    background-size: cover;
    background-position: center;
}

.slider{
    display: none;
}
.slider.slick-initialized{
    display: block; /*slick-initializedが付与されたら表示*/
}

#insta .eapps-instagram-feed-title-container {
	display: none!important;
}


/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 641px){
	
	div.main_photo {
		width: 100%;
		min-width: 1200px;
		line-height: 0;
		position: relative;
		overflow: hidden;
	}
	
	div.main_photo h1{
		width: 540px;
		padding: 20px 0;
		position: absolute;
		top: -webkit-calc(50% - 20px);
        top: -moz-calc(50% - 20px);
        top: calc(50% - 20px);
		left: -webkit-calc(50% - 270px);
        left: -moz-calc(50% - 270px);
        left: calc(50% - 270px);
		z-index: 5;
		transition-duration: 0.25s;
		transition-property: all;
		text-align: center;
	}
	
	div.main_photo h1 img{
		width: 100%;
		max-width: 540px;
		transition-duration: 0.5s;
		transition-property: all;
	}
	
	div.main_photo h1.is-fixed{
		width: 100%;
		min-width: 1280px;
		padding: 0;
		line-height: 0;
		position: fixed;
		z-index: 10;
		top: 20px;
		left: auto;
	}
	
	div.main_photo h1.is-fixed img{
		width: 25%;
	}
	
	div.main_photo div.slider {
		height: 100vh;
	}
	
	div.main_photo div.slider img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	div.main_photo div.slider .slick-slide {
		height: 100vh;
	}
	
	section#beginning {
		padding: 120px 0 92px;
	}
	
	section#beginning div.section_inner{
		position: relative;
		padding-bottom: 114px;
	}
	
	section#beginning h2{
		font-size: 40px;
		font-size: 4.0rem;
		font-weight: 500;
		line-height: 1.75;
		letter-spacing: 0.3em;
		margin-bottom: 38px;
	}
	
	section#beginning p{
		font-size: 22px;
		font-size: 2.2rem;
		line-height: 3.2;
		letter-spacing: 0.3em;
	}
	
	section#beginning div.section_inner figure {
		width: 576px;
		line-height: 0;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: -1;
	}
	
	section#beginning2{
		margin-bottom: 110px;
	}
	
	section#beginning2 div.bg01 {
		background: url("../images/top/bg_top.jpg") #065fd3 no-repeat;
		background-size: cover;
		padding: 96px 0 100px;
	}
	
	section#beginning2 div.block {
		width: 1030px;
		margin: 0 auto;
		color: #FFF;
	}
	
	section#beginning2 div.block h2{
		font-size: 30px;
		font-size: 3.0rem;
		font-weight: 500;
		line-height: 1.46;
		letter-spacing: 0.16em;
		margin-bottom: 30px;
	}
	
	section#beginning2 div.block p{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 2.5;
		letter-spacing: 0.16em;
	}
	
	section#beginning2 div.block p.cap{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.5;
		letter-spacing: 0.1em;
		text-indent: -1em;
		padding-left: 1em;
		margin-top: 15px;
	}
	
	section#beginning2 div.bg02 {
		background: url("../images/top/bg_bottom.jpg") no-repeat;
		background-size: cover;
		padding: 90px 0 300px;
		position: relative;
		z-index: 0;
	}
	
	section#beginning2 div#support {
		width: 1164px;
		margin: -238px auto 0;
		position: relative;
		z-index: 3;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		padding-left: 24px;
	}
	
	section#beginning2 div#support div.block02{
		width: 1130px;
		margin-right: -145px;
	}
	
	section#beginning2 div#support div.block02 figure {
		line-height: 0;
	}
	
	section#beginning2 div#support div.block02 div.text_box {
		width: 976px;
		padding-left: 80px;
		color: #595757;
		margin-top: -110px;
	}
	
	section#beginning2 div#support div.block02 div.text_box h2 {
		display: inline-block;
		font-size: 30px;
		font-size: 3.0rem;
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.16em;
		padding: 35px 35px 0;
		background: #FFF;
		margin-bottom: 15px;
	}
	
	section#beginning2 div#support div.block02 div.text_box p{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 2.5;
		letter-spacing: 0.18em;
		padding-left: 35px;
	}
	
	section#introduction {
		margin-bottom: 170px;
	}
	
	section#introduction .name_box {
		margin-bottom: 90px;
		text-align: center;
	}
	
	section#introduction .name_box p{
		line-height: 1;
		letter-spacing: 0.3em;
	}
	
	section#introduction .name_box h3{
		width: 600px;
		margin: 18px auto 20px;
		padding: 24px 0 20px;
		font-size: 50px;
		font-size: 5.0rem;
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.3em;
		background: url("../images/top/name_bg.svg") no-repeat;
		background-size: contain;
		background-position: center;
	}
	
	section#introduction .name_box h3 + p{
		font-size: 14px;
		font-size: 1.4rem;
		letter-spacing: 0;
	}
	
	section#introduction div.block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	
	section#introduction div.block figure{
		width: 528px;
		line-height: 0;
		margin-top: 10px;
		margin-right: -145px;
	}
	
	section#introduction div.block div.text_box{
		width: 716px;
	}
	
	section#introduction div.block div.text_box h2{
		font-size: 30px;
		font-size: 3.0rem;
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.16em;
		margin-bottom: 30px;
	}
	
	section#introduction div.block div.text_box p{
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 2.5;
		letter-spacing: 0.05em;
	}
	
	section#partner {
		margin-bottom: 96px;
	}
	
	section#partner h2,
	section#plan div.section_inner h2,
	section#insta div.section_inner h2{
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
		text-align: center;
		margin-bottom: 45px;
		letter-spacing: 0.3em;
	}
	
	section#partner h2 span,
	section#plan div.section_inner h2 span,
	section#insta div.section_inner h2 span{
		width: 314px;
		display: block;
		margin: 0 auto 30px;
	}
	
	section#partner h3{
		font-size: 30px;
		font-size: 3.0rem;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.05em;
		margin-bottom: 90px;
		text-align: center;
	}
	
	section#partner div.block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	section#partner div.block + div.block {
		margin-top: 50px;
	}
	
	section#partner div.block figure{
		width: 250px;
		line-height: 0;
	}
	
	section#partner div.block div.text_box{
		width: 824px;
	}
	
	section#partner div.block div.text_box h4{
		width: 460px;
		line-height: 0;
		margin-bottom: 30px;
	}
	
	section#partner div.block div.text_box p{
		letter-spacing: 0.18em;
		line-height: 2.5;
	}
	
	/*section#partner div.block div.text_box p + p{
		margin-top: 30px;
	}
	
	section#partner div.block div.text_box p a{
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 14px;
		font-size: 1.4rem;
		color: #595757;
	}*/
	
	section#plan {
		background: url("../images/top/bg_plan.jpg") no-repeat;
		background-size: cover;
		padding: 96px 0 130px;
	}
	
	section#plan div.section_inner h2{
		color: #FFF;
	}
	
	section#plan div.section_inner ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
	}
	
	section#plan div.section_inner ul li{
		width: 48%;
		background: #FFF;
	}
	
	section#plan div.section_inner ul li a{
		display: block;
		padding: 8px 8px 25px 8px;
		color: #595757;
	}
	
	section#plan div.section_inner ul li a figure{
		line-height: 0;
		position: relative;
		margin-bottom: 54px;
	}
	
	section#plan div.section_inner ul li a figure figcaption{
		width: 320px;
		position: absolute;
		bottom: -2px;
		left: 10px;
		z-index: 3;
	}
	
	section#plan div.section_inner ul li a p{
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		text-align: right;
		padding-right: 8px;
		letter-spacing: 0.05em;
	}
	
	section#plan div.section_inner ul li a p::after{
		content: "";
		width: 42px;
		height: 10px;
		background: url("../images/top/arrow.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin-left: 8px;
	}
	
	section#insta {
		padding: 100px 0;
	}
	
	section#insta .eapps-instagram-feed-posts-inner {
		width: 1164px!important;
	}
	
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 640px){
	div.main_photo {
		width: 100%;
		line-height: 0;
		position: relative;
		overflow: hidden;
	}
	
	div.main_photo h1{
		width: 50%;
		padding: 30px 0;
		position: absolute;
		top: -webkit-calc(50% - (30px + 3vw));
        top: -moz-calc(50% - (30px + 3vw));
        top: calc(50% - (30px + 3vw));
        left: 25%;
		z-index: 5;
		transition-duration: 0.25s;
		transition-property: all;
		text-align: center;
	}
	
	div.main_photo h1 img{
		width: 100%;
		max-width: 320px;
		transition-duration: 0.5s;
		transition-property: all;
	}
	
	div.main_photo h1.is-fixed{
		width: 50%;
		padding: 0;
		line-height: 0;
		position: fixed;
		z-index: 10;
		top: 30px;
		left: 25%;
	}
	
	div.main_photo h1.is-fixed img{
		width: 80%;
	}
	
	div.main_photo div.slider {
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
	}
	
	div.main_photo div.slider img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	div.main_photo div.slider div.main_photo01{
        background: url("../images/top/main_photo01.jpg") no-repeat;
        background-size: cover;
        background-position: right bottom;
    }
    div.main_photo div.slider div.main_photo03{
        background: url("../images/top/main_photo03.jpg") no-repeat;
        background-size: cover;
        background-position: right bottom;
    }
    div.main_photo div.slider div.main_photo04{
        background: url("../images/top/main_photo04.jpg") no-repeat;
        background-size: cover;
        background-position: left center;
    }
    div.main_photo div.slider div.main_photo05{
        background: url("../images/top/main_photo05.jpg") no-repeat;
        background-size: cover;
        background-position: left bottom;
    }
    div.main_photo div.slider div.main_photo07{
        background: url("../images/top/main_photo07.jpg") no-repeat;
        background-size: cover;
        background-position: left center;
    }
	
	section#beginning {
		padding: 35px 0 20px;
	}
	
	section#beginning div.section_inner{
		position: relative;
		padding-bottom: 54vw;
	}
	
	section#beginning h2{
		font-size: 20px;
		font-size: clamp(20px, 5.823vw, 50px);
		font-weight: 500;
		line-height: 1.75;
		letter-spacing: 0.2em;
		margin-bottom: 20px;
	}
	
	section#beginning p{
		font-size: 14px;
		font-size: clamp(14px, 2.56vw, 28px);
		line-height: 2.8;
		letter-spacing: 0.16em;
	}
	
	section#beginning div.section_inner figure {
		width: 69vw;
		line-height: 0;
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: -1;
	}
	
	section#beginning2{
		margin-bottom: 60px;
	}
	
	section#beginning2 div.bg01 {
		background: url("../images/top/bg_top.jpg") no-repeat;
		background-size: cover;
		padding: 40px 0;
	}
	
	section#beginning2 div.block {
		width: 94%;
		margin: 0 auto;
		color: #FFF;
	}
	
	section#beginning2 div.block h2{
		font-size: 16px;
		font-size: clamp(16px, 3.96vw, 34px);
		font-weight: 500;
		line-height: 1.46;
		letter-spacing: 0.16em;
		margin-bottom: 15px;
	}
	
	section#beginning2 div.block p{
		font-size: 12px;
		font-size: clamp(12px, 2.79vw, 24px);
		line-height: 2.5;
	}
	
	section#beginning2 div.block p.cap{
		font-size: 10px;
		font-size: clamp(10px, 2.33vw, 20px);
		line-height: 1.5;
		letter-spacing: 0.04em;
		text-indent: -1em;
		padding-left: 1em;
		margin-top: 15px;
	}
	
	section#beginning2 div.bg02 {
		background: url("../images/top/bg_bottom.jpg") no-repeat;
		background-size: cover;
		padding: 35px 0 36vw;
		position: relative;
		z-index: 0;
	}
	
	section#beginning2 div#support {
		width: 100%;
		margin: -31.8vw auto 0;
		position: relative;
		z-index: 3;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}
	
	section#beginning2 div#support div.block02{
		width: 100%;
	}
	
	section#beginning2 div#support div.block02 figure {
		line-height: 0;
		padding-left: 6.2vw;
	}
	
	section#beginning2 div#support div.block02 div.text_box {
		width: 100%;
		padding-right: 6.2vw;
		color: #595757;
		margin-top: -45px;
	}
	
	section#beginning2 div#support div.block02 div.text_box h2 {
		display: inline-block;
		font-size: 16px;
		font-size: clamp(16px, 3.96vw, 34px);
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.08em;
		padding: 20px 12px 0 6.2vw;
		background: #FFF;
		margin-bottom: 15px;
	}
	
	section#beginning2 div#support div.block02 div.text_box p{
		font-size: 12px;
		font-size: clamp(12px, 2.79vw, 24px);
		line-height: 2.5;
		letter-spacing: 0.14em;
		padding-left: 6.2vw;
	}
	
	section#introduction {
		margin-bottom: 40px;
	}
	
	section#introduction .name_box {
		margin-bottom: 15px;
		text-align: center;
	}
	
	section#introduction .name_box p{
		line-height: 1;
		letter-spacing: 0.3em;
	}
	
	section#introduction .name_box h3{
		width: 100%;
		margin: 10px auto 12px;
		padding: 14px 0;
		font-size: 30px;
		font-size: clamp(30px, 6.99vw, 60px);
		font-weight: 500;
		line-height: 1;
		letter-spacing: 0.3em;
		background: url("../images/top/name_bg.svg") no-repeat;
		background-size: contain;
		background-position: center;
	}
	
	section#introduction .name_box h3 + p{
		font-size: 13px;
		font-size: clamp(13px, 2.56vw, 28px);
		line-height: 1.6;
		letter-spacing: 0.1em;
	}
	
	section#introduction div.block {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	
	section#introduction div.block figure{
		width: 100%;
		line-height: 0;
		margin-bottom: 25px;
	}
	
	section#introduction div.block div.text_box{
		width: 100%;
	}
	
	section#introduction div.block div.text_box h2{
		font-size: 16px;
		font-size: clamp(16px, 3.96vw, 34px);
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.16em;
		margin-bottom: 15px;
	}
	
	section#introduction div.block div.text_box p{
		font-size: 13px;
		font-size: clamp(13px, 2.79vw, 24px);
		line-height: 2.5;
	}
	
	section#partner {
		margin-bottom: 96px;
	}
	
	section#partner h2,
	section#plan div.section_inner h2,
	section#insta div.section_inner h2{
		font-size: 12px;
		font-size: clamp(12px, 2.79vw, 24px);
		font-weight: 400;
		line-height: 1;
		text-align: center;
		margin-bottom: 25px;
		letter-spacing: 0.3em;
	}
	
	section#partner h2 span,
	section#plan div.section_inner h2 span,
	section#insta div.section_inner h2 span{
		width: 42vw;;
		display: block;
		margin: 0 auto 10px;
	}
	
	section#partner h3{
		font-size: 13px;
		font-size: clamp(13px, 3.26vw, 28px);
		font-weight: 500;
		line-height: 1.6;
		letter-spacing: 0.05em;
		margin-bottom: 40px;
		text-align: center;
	}
	
	section#partner div.block {
		display: block;
	}
	
	section#partner div.block + div.block {
		margin-top: 50px;
	}
	
	section#partner div.block figure{
		width: 68vw;
		margin: 0 auto 20px;
		line-height: 0;
	}
	
	section#partner div.block div.text_box{
		width: 100%;
	}
	
	section#partner div.block div.text_box h4{
		width: 76vw;
		line-height: 0;
		margin-bottom: 10px;
	}
	
	section#partner div.block div.text_box p{
		font-size: 13px;
		font-size: clamp(13px, 3.26vw, 28px);
		letter-spacing: 0.18em;
		line-height: 1.8;
	}
	
	/*section#partner div.block div.text_box p + p{
		margin-top: 30px;
	}
	
	section#partner div.block div.text_box p a{
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 14px;
		font-size: 1.4rem;
		color: #595757;
	}*/
	
	section#plan {
		background: url("../images/top/bg_plan.jpg") no-repeat;
		background-size: cover;
		padding: 40px 0;
	}
	
	section#plan div.section_inner h2{
		color: #FFF;
	}
	
	section#plan div.section_inner ul{
		display: block;
		list-style: none;
	}
	
	section#plan div.section_inner ul li + li{
		margin-top: 20px;
	}
	
	section#plan div.section_inner ul li{
		width: 100%;
		background: #FFF;
	}
	
	section#plan div.section_inner ul li a{
		display: block;
		padding: 4px 4px 15px 4px;
		color: #595757;
	}
	
	section#plan div.section_inner ul li a figure{
		line-height: 0;
		position: relative;
		margin-bottom: 30px;
	}
	
	section#plan div.section_inner ul li a figure figcaption{
		width: 58%;
		position: absolute;
		bottom: -2px;
		left: 10px;
		z-index: 3;
	}
	
	section#plan div.section_inner ul li a p{
		font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
		font-size: 13px;
		font-size: clamp(13px, 3.26vw, 28px);
		text-align: right;
		padding-right: 4px;
		letter-spacing: 0.05em;
	}
	
	section#plan div.section_inner ul li a p::after{
		content: "";
		width: 30px;
		height: 8px;
		background: url("../images/top/arrow.svg") no-repeat;
		background-size: contain;
		display: inline-block;
		margin-left: 8px;
	}
	
	section#insta {
		padding: 40px 0;
	}
}