@charset "UTF-8";

/*---------------------
* 表示関係
---------------------*/
._pc {
	display: block;
}

._sp {
    display: none;
}

/* ---------------------------------------------------
 * body
/* ---------------------------------------------------*/
body {
    overflow: hidden;
    font-size: 25px;
    line-height: 1.6;
    font-weight: 500;
}


/*フッター*/
#footer {
	text-align: center;
	font-size: 15px;
	padding: 15px;
	line-height: 26.25px;
	background-color: #333;
	color: #fff;
}

/*---------------------
* 内包
---------------------*/
.wrap_03 {
	background-color: #eee;
	border: 10px solid #000103;
}
.wrap {
	background-color: #fff;
	width: 960px;
}
.wrap,.wrap_03 {
    margin: 0 auto;
}
@media only screen and (max-width: 767px) {
	.wrap_03 {
		margin: 0 auto 20px;
	}
}

.wrap_02 {
    width: 960px;
    margin: 0 auto;
	background-color: transparent;
}
@media only screen and (max-width: 1024px) {
    .wrap {
        width: 92%;
    }
}

/*---------------------
* セクション内レター
---------------------*/
article.content_article.wrap {
    position: relative;
}

/*セクション内レターの分離*/
article.content_article.leave_sec div.ca_sec {
    margin-bottom: 30px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
}
article.content_article.leave_sec div.ca_sec_02 {
    margin-bottom: 30px;
    box-shadow: none;
}

/*セクション内レターの段落*/
article.content_article div.ca_sec > p.p_bottom {
	padding-bottom: 20px;
}
article.content_article div.ca_sec > p.sec_04_end_00 {
	padding: 0 0;
}
article.content_article div.ca_sec > p.sec_04_end {
	padding: 50px 0;
}
article.content_article div.ca_sec > p {
    padding: 50px 50px;
    font-size: 25px;
    line-height: 1.7;
}

/*---------------------
* box
---------------------*/
.box_01 {
	border: 2px solid #043960;
	border-top: none;
}	

.box {
    margin: 0 50px 50px;
    border-radius: 0;
    overflow: hidden;
    text-align: left;
    box-sizing: border-box;
}

.end {
  margin: 0 50px 0;
}

p.box-txt,.box-txt {
  padding: 40px;
  font-size: 25px;
  line-height: 1.7;
}
.box_img {
  padding: 0 40px 0;
}
@media only screen and (max-width: 767px) {
	.box_img {
	  padding: 0 10px 0;
	}
}

.box_img img {
  width: 100%;
  height: auto;
  border-radius: 0;
}

@media only screen and (max-width: 767px) {
  .box{
	margin: 0px 15px 15px;
	border-radius: 0; 
	overflow: hidden; 
	text-align: justify;
  }
  .end {
    margin: 0 15px 0;
  }
	
  p.box-txt {
    padding: 10px;
    font-size: 21px;
    line-height: 1.7;
	white-space: pre-line;
  }

  div.box-txt > p {
    font-size: 21px;
    line-height: 1.7;
    white-space: pre-line;
  }
	
  .box_tittle img {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
	
  .box_img img {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}

  .img_bottom {
	margin-bottom: 15px;
  }
  .sec_07_02_01.img_bottom {
	margin-bottom: 11px;
  }

/* ---------------------------------------------------
 * セクションの背景
/* ---------------------------------------------------*/
/*fv*/
#section-fv-01,
#section-fv-02,
#section-fv-03,
#section-fv-04{
    background-size: cover;
}

#section-fv-01 {
    background: url(../images/section-fv_01.webp) no-repeat center;
}

#section-fv-02 {
    background: url(../images/section-fv_02.webp) no-repeat top center;
}

#section-fv-03 {
    background: url(../images/section-fv_03.webp) no-repeat center;
}

#section-fv-04 {
    background: url(../images/section-fv_04.webp) no-repeat center;
}

/* section_bg */
.section_bg {
    background-repeat: no-repeat;
    background-position: center 0;
    background-attachment: fixed;
    width: 100%;
    height: auto; 
    padding: 30px 0 0;
    overflow: hidden;
    display: block;
}

#section-01_bg,
#section-02_bg,
#section-03_bg,
#section-04_bg,
#section-05_bg,
#section-06_bg,
#section-07_bg,
#section-08_bg{
    background-size: cover;
}

#section-01_bg,#section-02_bg,#section-03_bg,#section-04_bg,#section-05_bg,#section-06_bg,#section-07_bg,#section-08_bg {
    background-image: url(../images/section_bg_main.jpg);
}

#section-09_bg {
    background-repeat: no-repeat;
    background-position: top;
	background-image: 
	linear-gradient(to bottom right, #FFF8DB 0%, #D9B675 100%),
	url(../images/section-09_bg_image.png);
	background-blend-mode: overlay;
}

#section-10_bg {
    background-image: url(../images/section-10_bg_image.png);
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: top right;
	background-attachment: scroll;
	padding: 80px 0 80px;
    background-size: 65%;
}

/*---------------------
* テキスト関係
---------------------*/
.center{
	text-align: center;
}

.kakko{
	color: #545454;
}

p {
    font-size: 25px;
    font-weight: 500;
    line-height: 1.6;
    color: #1a1a1a;
    font-family: notosans,"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro",A-OTF Shin Go Pro,Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    white-space: pre-line;
}

span.kakko_small{
	font-size: 23px !important;
}

p.photo_caption{
	font-size: 20px !important;
	line-height: 1.6 !important;
	margin-top: 8px;
	text-align: center;
	color: #808080 !important;
	white-space: pre-line;
}
.sec_02_06>p.photo_caption{
	font-size: 20px !important;
	text-align: right;
	margin-top: -20px;
}
.sec_01_10>p.photo_caption{
	margin-bottom: 20px;
}
.sec_04_11>p.photo_caption{
	font-size: 20px !important;
	text-align: left;
	margin: 20px auto 0;
	color: #1a1a1a !important;
}
@media only screen and (max-width: 767px) {
	p.photo_caption{
		font-size: 18px !important;
		margin-top: 5px;
	}
	.sec_02_06>p.photo_caption{
		margin-top: -28px;
	}
	.sec_01_10>p.photo_caption{
		margin-bottom: 15px;
	}
	.sec_04_11>p.photo_caption{
		font-size: 16px !important;
		margin: 5px auto 20px;
	}
}

/*>うまく再生出来ない場合はこちらから視聴してください<*/
p.caption {
    position: absolute;
    top: 78%;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    font-size: 16.3px;
    font-weight: 500;
    color: #fff;
    font-family: notosans, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    text-align: center;
}
@media only screen and (max-width: 1024px) {
    p.caption {
        position: absolute;
        top: 81%;
        left: 50%;
        width: 100%;
        transform: translateX(-50%);
        font-size: 13px;
        font-weight: 500;
        color: #fff;
        font-family: notosans, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
        text-align: center;
    }
}

/*こちら*/
span.link,
a {
    color: #00aaff;
    text-decoration: none;
}

span.link:hover,
a:hover {
    text-decoration: underline;
    cursor: pointer;
}

strong {
    font-weight: 900;
}

/*文字サイズ*/
.fsb_00,
.fsb_01 {
    font-weight: 900;
}

.fsb_00 {
    font-size: 35px;
}

.fsb_01 {
    font-size: 25px;
}

/*---------------------
* 余白調整
---------------------*/
.lp_p {
    padding: 0 50px;
}

@media only screen and (max-width: 1024px) {
    .lp_p {
        padding: 0 60px;
    }
}

.image-container_02 {
    width: 70%;
    margin: 38px auto 0;
}
@media only screen and (max-width: 1024px) {
.image-container_02 {
    width: 100%;
}
}
@media only screen and (max-width: 767px) {
.image-container_02 {
    margin: -12px auto 0;
}
}

.cta_btn {
	margin: 0 88px 25px;
	width: 81%;
}
.sec_02_04 {
	text-align: center;
}
.sec_02_04 img {
	width: 50%;
}
@media only screen and (max-width: 767px) {
.sec_02_04 img {
	width: 70%;
}
}

.sec_02_16{
	padding-bottom: 50px;
}

.sec_04_01_02,.sec_04_01_03,.sec_04_01_04,.sec_04_01_05,.sec_04_01_06,.sec_04_01_07,.sec_04_01_08{
	padding-top: 50px;
	padding-bottom: 50px;
}
@media only screen and (max-width: 767px) {
	.sec_04_01_02,.sec_04_01_03,.sec_04_01_04,.sec_04_01_05,.sec_04_01_06,.sec_04_01_07,.sec_04_01_08{
		padding-top: 20px !important;
		margin-bottom: 20px;
	}
}
.sec_04_01_02_a,.sec_04_01_03_a,.sec_04_01_04_a,.sec_04_01_05_a,.sec_04_01_06_a,.sec_04_01_07_a,.sec_04_01_08_a{
	padding-bottom: 50px;
}
@media only screen and (max-width: 767px) {
.sec_04_01_02_a,.sec_04_01_03_a,.sec_04_01_04_a,.sec_04_01_05_a,.sec_04_01_06_a,.sec_04_01_07_a,.sec_04_01_08_a{
		padding-bottom: 20px !important;
	}
}

.sec_04_07 {
    margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
	.sec_04_07 {
		margin-bottom: 10px;
	}
}

.sec_04_08,.sec_04_09,.sec_04_10{
    padding-bottom: 50px;
}
@media only screen and (max-width: 767px) {
	.sec_04_08,.sec_04_09,.sec_04_10 {
		margin-bottom: 20px;
	}
}

.ca_sec_top {
    padding: 50px 50px 50px;
}
@media only screen and (max-width: 767px) {
	.ca_sec_top {
		padding: 15px 15px 15px;
	}
}


.sec_08_ca_sec{
	margin-bottom: 50px !important;
}
@media only screen and (max-width: 767px) {
	.sec_08_ca_sec{
		margin-bottom: 40px !important;
	}
}

.section-09_bg{
	padding: 30px auto;
}

.sec_09_02{
   text-align: center;
   width: 100%;
   margin: 110px auto 110px;
}

@media only screen and (max-width: 767px) {
	.padding-top_0_sp{
		padding-top: 0 !important;
	}
}

.sec_01_05,.sec_01_05a,.sec_01_05b {
	text-align: center !important;
}
.sec_01_05 img,.sec_01_05a img,.sec_01_05b img{
	width: 88%;
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
.sec_01_05 img,.sec_01_05a img,.sec_01_05b img{
	width: 100%;
}
}
/* ---------------------------------------------------
 * 動画
/* ---------------------------------------------------*/
.ytp-title-link yt-uix-sessionlink {
	displayr:none !important;
}

.youtube_container {
    position: relative;
}

.youtube_box {
    position: absolute;
    z-index: 999;
    width: 63.6%;
    height: auto;
    box-sizing: border-box;
    left: 50%;
    top: 64.4%;
    transform: translate(-50%, -50%);
}

.youtube_box .movie_msk {
    width: 100%;
    height: 100%;
    position: absolute;
}

.youtube_box::after {
    content: "";
    display: block;
    padding-top: 56.3%;
}

.video_box {
    position: absolute;
    z-index: 99;
    width: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 0;
    pointer-events: pointer;
}

video {
    display: block;   
    width: 100%;      
}

.video_container_01,.video_container_02 {
    position: relative;
}
.video_container_01 {
    margin-bottom: 55%;
}
.video_container_02 {
    margin-bottom: 55%;
}
@media only screen and (max-width: 767px) {
.video_container_01 {	
	margin-top: 0;
	margin-bottom: 57%;
}
.video_container_02 {
	margin-top: 0;
	margin-bottom: 57%;
}
}

@media only screen and (max-width: 767px) {
	/*---------------------
	* 表示関係
	---------------------*/
	._pc {
		display: none !important;
	}

	._sp {
		display: block !important;
	}

	body {
		font-size: 21px;
		line-height: 1.6;
		overflow: hidden;
    	font-weight: 500;
    	color: #1a1a1a;
	}
	
    .wrap {
        width: 92%;
    }

	/*フッター*/
	#footer {
		text-align: center;
		font-size: 12px;
		padding: 15px;
		line-height: 21px;
		background-color: #333;
		color: #fff;
	}
	
	/*---------------------
	* テキスト関係
	---------------------*/
	.saipon-form_v2-th-inner{
		font-size: 21px !important;
		line-height: 1.6 !important;
		white-space: pre-line !important;
	}
	.textbox_title {
		margin-bottom: 3px !important;
	}
	
	/*---------------------
	* セクション内レター
	---------------------*/
	article.content_article.wrap {
		position: relative;
	}

	article.content_article.leave_sec div.ca_sec {
		margin-bottom: 20px;
	}

	article.content_article div.ca_sec > p.p_bottom {
		padding-bottom: 10px;
	}
	article.content_article div.ca_sec > p.sec_04_end_00 {
		padding: 0 0;
	}
	article.content_article div.ca_sec > p.sec_04_end {
		padding: 20px 0;
	}
	article.content_article div.ca_sec > p {
		padding: 20px 16px;
		font-size: 22px;
	}
	
	span.kakko_small{
		font-size: 20px !important;
	}
	
    .img_bottom {
        margin-bottom: 12px;
    }
	.sec_07_02_01.img_bottom{
        margin-bottom: 5px;
    }
	
    #section-fv-01 {
        background: url(../images/section-fv_in_01_sp.webp) no-repeat center;
    }
	
    #section-fv-02 {
        background: url(../images/section-fv_in_02_sp.webp) no-repeat top center;
    }

    #section-fv-03 {
        background: url(../images/section-fv_in_03_sp.webp) no-repeat top center;
    }
	
    #section-fv-04 {
        background: url(../images/section-fv_in_04_sp.webp) no-repeat top center;
    }
	
    .section_bg {
        background-repeat: no-repeat;
        background-size: contain;
        background-attachment: fixed;
        padding: 20px 0 0;
    }

	/*image*/
	#section-09_bg {
		background-repeat: no-repeat;
		background-position: top center;
		background-attachment: scroll;
		background-image: 
		linear-gradient(to bottom right, #FFF8DB 0%, #D9B675 100%),
		url(../images/section-09_bg_image_sp.png);
		background-blend-mode: overlay;
		padding: 20px 0 0;
	}
	
	#section-10_bg {
		background-image: url(../images/section-10_bg_image_sp.png);
		padding: 20px 0 0;
		background-size: 100%;
    }
	
	#section-01_bg,#section-02_bg,#section-03_bg,#section-04_bg,#section-05_bg,#section-06_bg,#section-07_bg,#section-08_bg {
        background: none;
        font-size: 25px;
        line-height: 1.6;
    }
	
	#section-01_bg::after,#section-02_bg::after,#section-03_bg::after,#section-04_bg::after,#section-05_bg::after,#section-06_bg::after,#section-07_bg::after,#section-08_bg::after {
        content: "";
        display: block;
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 0;
        background-image: url(../images/section_bg_main.jpg);
        background-size: cover;
        background-position: center;
        z-index: -1;
    }	
	
	/*---------------------
	* イメージの説明
	---------------------*/
	.image-container_02 {
		padding-bottom: 14px;
	    width: 100%;
	}
	
	.cta_btn {
		margin: 0 15px 0;
		width: 90%;
	}
	
    .fsb_00 {
        font-size: 28px;
    }
    .fsb_01 {
        font-size: 21px;
    }
}

@media only screen and (max-width: 644px) {
/*---------------------
* 余白調整
---------------------*/
    .lp_p {
        padding: 0 15px;
    }
	
	.sec_01_04 img{
		width: 100%;
	}
	
	.sec_02_16{
        padding-bottom: 20px;
    }

	.sec_09_02{
	   text-align: center;
	   width: 100%;
	   margin: 50px auto 50px;
	}
	
/* ---------------------------------------------------
 * 動画
/* ---------------------------------------------------*/
	.youtube_box {
        width: 89%;
        top: 68.5%;
    }

	.youtube_box .movie_msk {
		width: 100%;
		height: 100%;
		position: absolute;
	}
}

.sec_09_title{
	width: 100%;
	margin: 90px auto 70px;
    text-align: center;
}
@media only screen and (max-width: 644px) {
	.sec_09_title{
		margin: 30px auto 30px;
	}
}

.sec_09_title img {
    width: 100%;
}

img.hukidasi {
    margin: 0 auto;
	width: 85%;
}
@media only screen and (max-width: 644px) {
	img.hukidasi {
		margin: 0 auto;
		width: 100%;
	}
}

.hukidasi_bottom {
    margin: 0 auto 20px;
}
@media only screen and (max-width: 644px) {
	.hukidasi_bottom {
		margin: 0 auto 25px;
	}
}

img.fr {
    display: block;
    float: right;
	width: 350px;
    max-width: 40%;
}
@media only screen and (max-width: 644px) {
    img.fr {
        display: block;
        float: right;
        max-width: 160px;
        margin-top: 4%;
        margin-left: 0;
    }
}

/*---------------------
* 基本情報
---------------------*/
.btn_02 {
    background-image: url('../images/btn_02.png'); 
	background-color: transparent;
    background-size: cover; 
    width: 689px !important; 
    height: 188px !important;
    border: none; 
    color: transparent;
    cursor: pointer; 
}
@media only screen and (max-width: 644px){
	.btn_02 {
		width: 100% !important; 
		height: 85px !important;
	}
}

dd {
    margin-inline-start: 0;
}

.form_box{
	padding: 20px 20px 50px;
}
@media only screen and (max-width: 644px){
	.form_box{
		padding: 20px 16px 20px;
	}	
}	

.saipon-form .form-control {
    font-size: 20px;
    font-weight: 300;
    min-height: 44px;
    padding: 4px 8px;
	margin-bottom: 20px;
}

.form-control_end{
	height: 300px !important;
}
@media only screen and (max-width: 644px){
.form-control_end{
	height: 150px !important;
}	
}

#form form .info dl {
    margin-bottom: 40px;
}

#form form .info dl:last-child {
    margin-bottom: 0;
}

#form form .info dl dt {
    width: 100%;
    margin-bottom: 10px;
}

#form form .info input {
    font-size: 20px;
    padding: 15px;
    border: solid 1px #ccc;
    border-radius: 15px;
    font-family: notosans, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

input.text,input.mail{
	width: 100%;
	height: 60px;
	border: solid 1px #ccc;
	border-radius: 5px;
	font-size: 20px;
	padding-left: 10px;
    font-family: notosans, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro", A-OTF Shin Go Pro, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}
@media only screen and (max-width: 644px) {
	input.text, input.mail {
		padding-left: 10px;
	}
}	

.textbox{
	margin-top: -40px;
}
@media only screen and (max-width: 644px) {
	.textbox{
		margin-top: -32px;
	}
}	
@media only screen and (max-width: 644px) {
	div.textarea_info_title>p{
		font-size: 21px;
	}
}
.textarea{
	width: 100%;
	height: 300px;
	border-radius: 5px;
	border: solid 1px #ccc;
}
@media only screen and (max-width: 644px) {
	.textarea{
		height: 250px;
	}
}	

.form_box .info dd {
    margin-inline-start: 0;
}

dd{
	padding-left: 0;
}

.centered-content {
    display: flex;         
    align-items: center;   
    height: 50px;          
}

/*必項*/
.label {
    display: inline;
    padding: .3em .6em;
    font-size: 50% !important;
	margin-left: 1%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
	background-color: #b80000;
}

@media only screen and (max-width: 644px) {
	.label.end/*動画の感想や質問の必項*/ {
		margin-bottom: 1%;
	}
}	

.form-control{
	color: #1a1a1a !important;
}