@charset "utf-8";
/* CSS Document */

#MainImgWrap picture{
    display: flex;
    justify-content: center;	
}
.top_campbtn{display: none;}

.sp{display: none;}
body{position: relative;background:none;}
#header,.Gnavi_wrap,.breadcrumb_wrap,.cont_title,.footer-wrap{position: relative;}

.Gnavi_wrap .Gnavi_ul{
	max-width: 100%;
	overflow: hidden;
}
.concept-wrap{
	position: relative;
}
.concept-wrap p{
    font-family: 'Montserrat', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
    font-size: 16px;
    line-height: 1.7;
    color: #222;
    word-break: break-all;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
.Main-img-wrap {
    width: 100%;
    /*height: 0;*/
    height: 400px;
    /* padding-bottom: calc(100%*350/1920); */
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
}
.Main-img-wrap:before{
    content: "";
    background: url(../img/concept_MainImg_left.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 35%;
    max-width: 600px;
    height: 0;
    padding-bottom: calc(50%*275/537);
    position: absolute;
    left: calc(25% - 370px);
    top: 50px;
	}
.Main-img-wrap:after{
    content: "";
    background: url(../img/concept_MainImg_right.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 35%;
    max-width: 600px;
    height: 0;
    padding-bottom: calc(50%*275/537);
    position: absolute;
    right: calc(25% - 370px);
    top: 50px;
	}	
.Main-img-wrap img{display: block;margin: auto;}
.Main-img-wrap img:nth-of-type(1){
    width: 40%;
    max-width: 425px;
    height: auto;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 20px;
    left: 0;
    right: 0;
}
.Main-img-wrap img:nth-of-type(2){}
.concept-item{
	padding: 80px 0;
	position: relative;
}
.concept-item:after{
    content: "";
    width: 70%;
    display: block;
    margin: auto;
    left: 0;
    bottom: 0;
    right: 0;
    border-bottom: 1px solid #e5e5e5;
    position: absolute;
}
.inner-wrap{
    width: 90%;
    max-width: 1300px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.concept-item:nth-of-type(even){
	background: #fff;
	background: #fffcf5;
	/*border-top: 1px solid #f4f7e8;*/
	/*border-bottom: 1px solid #f4f7e8;*/
}
.concept-item:nth-of-type(odd){
	/* background: rgb(255 255 255 / 60%); */
	background: #fff;
	background: #fffcf5;
}
.text-area{width: 45%;}
.image-area{
	width: 45%;
    max-width: 670px;
}
.concept-item:nth-of-type(odd) .text-area{order: 2;}	
.concept-item:nth-of-type(odd) .image-area{order: 1;}	
.image-area img{max-width: 100%; height: auto;position: relative;}

/*見出し*/	
.policy-headline{
	display: flex;
    align-items: center;
	flex-wrap: wrap;
    margin: 0 0 30px;
}
.policy-number{
    width: 80px;
    height: 80px;
    font-size: 15px;
    color: #fff;
    background-color: #28c6c0;
    border-radius: 100px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px;
    margin-right: 15px;
}
.policy-number span{
    font-size: 30px;
    display: block;
    width: 100%;
    text-align: center;
}
.policy-headline h2{
	width: 83%;
    font-size: 24px;
    line-height: 1.5;
    color: #0c726f;
    font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/*ボタン*/	
.concept-btn{
    width: 450px;
    font-size: 20px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    background: #f783c2;
    -webkit-box-shadow: 0 3px 0 #ac6089;
    box-shadow: 0 3px 0 #ac6089;
    display: block;
    margin: 30px 0 0;
    padding: 15px 20px;
    border-radius: 5px;
	position: relative;
}
.concept-btn:after{
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 20px;
    display: block;
    content: '';
    width: 13px;
    height: 13px;
    border-top: 3px solid #ffffff;
    border-right: 3px solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}	
/*フッター*/
.footer-wrap{
    background: url(../img_top/cont_back_green.png);
    max-width: 100%;
    overflow: hidden;
}

@media  screen and (max-width:1830px) {
.Main-img-wrap:before{left: calc(25% - 390px);}
.Main-img-wrap:after{right: calc(25% - 390px);}
.text-area {width: 50%;}
}
	
@media  screen and (max-width:1450px) {	
.Main-img-wrap:before{
	width: 33%;
    padding-bottom: calc(33%*275/537);
    left: calc(25% - 340px);
    margin: auto;
    top: 0;
    bottom: 0;	
	
}
.Main-img-wrap:after{
	width: 33%;
    padding-bottom: calc(33%*275/537);
    right: calc(25% - 340px);
    margin: auto;
    top: 0;
    bottom: 0;
}
	
}

@media  screen and (max-width:1280px) {		
.image-area{width: 40%;}
.text-area {width: calc(60% - 30px);}
}	
@media  screen and (max-width:1000px) {
.Main-img-wrap{height: 450px;}	
.Main-img-wrap:before{
    width: 16%;
    padding-bottom: calc(16%*745/300);
    left: calc(25% - 200px);
    top: 25px;
    background: url(../img/concept_MainImg_left_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
}	
.Main-img-wrap:after{
    width: 16%;
    padding-bottom: calc(16%*745/300);
    right: calc(25% - 200px);
    top: 25px;
    background: url(../img/concept_MainImg_right_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.Main-img-wrap img:nth-of-type(1){
	width: 52%;
    max-width: 450px;	
}	
	
}
	
@media  screen and (max-width:767px) {
	
	#MainImgWrap{width: 100%;}
	#MainImgWrap img{width: 100%; height: auto;}	

	.sp{display:flex;}

	.Main-img-wrap{height: 0;padding-bottom: calc(100%*400/750);}
	.Main-img-wrap img:nth-of-type(1){
		width: 50%;
		top: 2vw;
		max-width: unset;
}
.Main-img-wrap:before{
    width: 19%;
    padding-bottom: calc(19%*323/130);
    left: 2vw;
    top: 2vw;
    background: url(../img/concept_MainImg_left_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
}	
.Main-img-wrap:after{
    width: 19%;
    padding-bottom: calc(19%*323/130);
    right: 2vw;
    top: 2vw;
    background: url(../img/concept_MainImg_right_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
}
	
.concept-item{width: 100%;padding: 26vw 0 15vw;overflow: hidden;}
.concept-item:after{width:90%;}
	

.image-area{
    width: 95%;
    order: 1;
    margin: 0 auto 5vw;
}
.text-area{
    width: 95%;
    margin: auto;
    order: 2;
	}
.policy-headline{
    width: 90%;
    margin: auto;
    position: absolute;
    top: -20vw;
    left: 0;
    right: 0;
}
.policy-headline h2{width: calc(100% - 20vw);font-size: 4.3vw;}
.policy-number{
    width: 15vw;
    height: 15vw;
    font-size: 3.3vw;
    padding: 3.5vw;
    margin-right: 2vw;
}	
.policy-number span{font-size: 5vw;}	
.concept-btn{
	width: 90%;
	font-size: 4vw;
	margin: 7vw auto 0;
    padding: 4vw 0;
		
}
.concept-btn:after{
    right: 3.5vw;
    width: 2.5vw;
    height: 2.5vw;
    border-top: 0.5vw solid #ffffff;
    border-right: 0.5vw solid #ffffff;
}
	
.inner-wrap{width: 95%;}	
}
	
/*アニメーション*/	
.animation {
    opacity: 0;
}
.animation.policy_item.right.play{
	opacity :0;
    animation-name:rightin;
    animation-duration: 1s;
    animation-timing-function: ease-out; 
    animation-delay: 0.3s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
}	
.animation.policy_item.left.play{
	opacity :0;
    animation-name:leftin;
    animation-duration: 1s;
    animation-timing-function: ease-out; 
    animation-delay: 0.3s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
}
.animation.title_wrap.play,.animation.introduction.play{
	opacity :0;
    animation-name:underin;
    animation-duration: 1s;
    animation-timing-function: ease-out; 
    animation-delay: 0.3s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;	
}

@keyframes rightin {
	0% {
	  opacity: 0;
	  transform: translate3d(-30px, 0, 0);
	}
	100% {
	  opacity: 1;
	  transform: translate3d(0, 0, 0);
	}
}
@keyframes leftin {
	0% {
	  opacity: 0;
	  transform: translate3d(30px, 0, 0);
	}
	100% {
	  opacity: 1;
	  transform: translate3d(0, 0, 0);
	}
}
@keyframes underin {
	0% {
	  opacity: 0;
	  transform: translate3d(0, 30px, 0);
	}
	100% {
	  opacity: 1;
	  transform: translate3d(0, 0, 0);
	}
}


/* ====================================
  2026改修
==================================== */	

/* 変数　*/
:root {
	--base-font: 'Noto Sans JP', sans-serif;
	--mincho-font: "游明朝体", "Yu Mincho", YuMincho, serif;
	--base-color1:#e3c27b;
	--base-color2:#dbcfb5;
	--base-color3:#196e58;
	--base-color4:#1e8d86;
}

body:before{
    content: "";
    width: 100%;
    height: 100%;
	position: fixed;
    background: url(https://kizuna3.com/img/sectionBG_01.jpg);
    background-size: cover;
    background-position: center;
	background-repeat: no-repeat;
}
.red{
	color: #e93c65 !important;
	font-weight: bold;	
}
iframe.youtube{
    width: 80%;
    aspect-ratio: 1920 / 1080;
    margin: 0 auto 30px;	
}
.concept-wrap {position: relative;}
#MainImgWrap{
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid #efdfc0;	
}
[id^="section_"] {
    width: 100%;
    padding: 80px 0;
}

.article_area h2,.article_area h3{
    color:var(--base-color3);
    font-size: 30px;
    line-height: 1.3;
    letter-spacing:0.05em;
    font-weight: bold;
    font-family: var(--mincho-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.article_area h3{
    font-size: 28px;
    margin: 0 auto 30px;	
}
.article_area h2:after,,.article_area h3:after{
    content: "";
    background: url(../img/section_title_line.png);
    background-size: 100%;
    width: 445px;
    aspect-ratio: 750 / 32;
    display: block;
    margin: 15px auto 0;
}
	
.article_area p{
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    padding: 0;
    margin: 0 auto 20px;	
}
.section-en-label {
    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-style: italic;
    font-weight: 600;
    color: #cf9d41;
    text-align: center;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}
.section-en-label:before,.section-en-label:after{
	content: "";
	width: 10px;
	height: 2px;
	background:#cf9d41;
	display: block;
}
.section-en-label span{
    font-size: 40px;
    transform: translate(0,-5px);	
}
.concept-wrap p a{
    color: #3e6e58;
    font-weight: bold;
    text-decoration: underline;	
}

.introduction{
    width: 1000px;
    margin: 0 auto 50px;
    background-position: top,bottom,center;
    position: relative;
    padding: 0;
    border-radius: 10px;
}
.introduction:before{
    /*content: "";*/
    background: url(../img/introduction_ornament.png);
    background-size: 100%;
    width: 80px;
    aspect-ratio: 150 / 52;
    position: absolute;
    margin: auto;
    top: 27px;
    left: 0;
    right: 0;
}

[id^="section_"] h2{
    order: 2;
    color:var(--base-color3);
    text-align: center;
    font-size: 35px;
    line-height: 1.4;
    letter-spacing: 0.05rem;
    font-weight: bold;
    font-family: var(--mincho-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    transform: translateY(30px);	
}

[id^="section_"] h2:before{
    content: "";
    background: url(../img/headline_ornament.png);
    background-size: 100%;
    width: 350px;
    aspect-ratio: 750 / 92;
    display: block;
    position: absolute;
    top: -110px;
}
[id^="section_"] h2:after{
    content: "";
    background: url(../img/section_title_line.png);
    background-size: 100%;
    width: 90%;
    aspect-ratio: 750 / 32;
    display: block;
    margin: 25px auto 0;	
}

[id^="section_"] .title_wrap{
    height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 30px;
}
[id^="section_"] .title_wrap span.English_title{
    order: 1;
    font-family: "Cormorant Garamond", serif;
    color: #cf9d41;
    font-size: 30px;
    transform: translateY(15px);
}

.introduction p{
    width: 100%;
    text-align: center;
    margin: auto;
    padding: 30px 0 10px;
    -webkit-text-stroke: 5px #ffffff;
    text-stroke: 5px #ffffff;
    paint-order: stroke;
    letter-spacing: 0.05em;
}


@media  screen and (max-width:767px) {
	body:before{
		background: url(https://kizuna3.com/img/sectionBG_01_sp.jpg)#efe9e5;
		background-size: 100%;
		background-position: top;
		background-repeat: no-repeat;
	}
	.line_break_sp{display: block;}
	#MainImgWrap{margin: 0;}	
	[id^="section_"] {
		width: 100%;
		margin: 0 auto;
		padding: 8vw 0;
	}
	[id^="#section_"] h2{
		width: 100%;
		margin: 0 auto 5vw;
	}
	.introduction{
		width: 95%;
		margin: 0 auto 5vw;
		padding: 0;
	}
	.introduction:before{
		width: 15%;
		top: 3vw;
	}
	.introduction p{
		font-size: 3.7vw;
		line-height: 1.7;
		padding: 0;
	}
	[id^="section_"] h2{
		font-size: 5vw;
		margin-bottom: 5vw;
		-webkit-text-stroke: 5px #ffffff;
		text-stroke: 5px #ffffff;
		paint-order: stroke;
		transform: translateY(8vw);
	}
	[id^="section_"] .image_area{
		width: 95% !important;
		overflow: unset !important;
		position: absolute !important;
		margin: auto;
		top: 30vw;
		left: 0;
		right: 0;
	}
	iframe.youtube {
		width: 100%;
		margin: 0 auto 5vw;
	}
	.article_area p,.concept-wrap p{
		width: 100%;
		font-size: 3.7vw;
		line-height: 1.7;
		padding: 0;
		margin: 0 auto 3vw;
	}
	.section-en-label{
		font-size: 5vw;
		margin-bottom: 3vw;
		gap: 2vw;
	}
	.section-en-label:before,.section-en-label:after{
		width: 3vw;
		height: 0.3vw;
	}
	.article_area h3{
		font-size: 5vw;
		margin-bottom: 57vw;
		text-align: center;
	}
	.section-en-label span{
		font-size: 10vw;
		transform: translate(0,-1vw);
	}
	
}


#FixRegi a.register_button_wrap {
    display: block;
}
#FixRegi .register_button_wrap img {
    width: 80%;
    height: auto;
    display: block;
    margin: auto;
}



@media  screen and (min-width:768px) {
    #FixRegi {
        width: 100%;
        padding: 10px 0;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 5000;
        box-sizing: border-box;
        background: rgb(255 255 255 / 50%);
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
	.sp_view.type2{}
	
}

/* ====================================
  スムーズスクロール
==================================== */

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* ====================================
  #section_01
==================================== */	

#section_01{
    background: #fffcf5;
    border-bottom: 1px solid #efdfc0;	
}

#section_01 h2{
    transform: translateY(0px);
    margin: 0 0 30px;
}
#section_01 h2:before{display: none;}
#section_01 h2:after{display: none;}

.section_frame{
    width: 1000px;
    margin: auto;
    background: #fff;
	border: 1px solid var(--base-color1);
	position: relative;
}
.section_frame:before{
    content: "";
    background: url(../img/concept_ornament_corner_pc.png);
    background-size: 100%;
    width: 100%;
    aspect-ratio: 1000 / 68;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    z-index: 2;
    pointer-events: none;
}
.section_frame:after{
    content: "";
    background: url(../img/concept_ornament_corner_pc.png);
    background-size: 100%;
    width: 100%;
    aspect-ratio: 1000 / 68;
    position: absolute;
    margin: auto;
    left: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
	transform: scale(1, -1);
}

#section_01 .article_area{
    width: 100%;
    height: max-content;
    padding: 35px 30px 30px;
    position: relative;
}
#section_01 .image_area{
    width: 40%;
    position: relative;
    overflow: hidden;
    padding: 30px;
}
#section_01 .image_area:before{
    content: "";
    width: 100px;
    height: 100%;
    /*background-image: linear-gradient(90deg, rgb(255 255 255), rgba(255, 255, 255, 0));*/
    position: absolute;
    left: 0;
    z-index: 1;	
}
#section_01 .image_area picture{
    width: 100%;
    display: block;
    position: relative;
}
#section_01 .image_area img{
    width: 100%;
    height: auto;
    position: absolute;	
}
.section_outset{
    display: flex;
    flex-wrap: wrap;
}
.section_detail{
    width: 100%;
    padding: 30px 0;
}
.section_detail_title{
    font-size: 25px;
    text-align: center;
    display: block;
    color: var(--base-color3);
    font-weight: bold;
    font-family:var(--mincho-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0 0 20px;
}
.section_detail_title:before{
    content: "";
    background: url(../img/leaf_ornament.png);
    background-size: 100%;
    width: 70px;
    aspect-ratio: 100 / 35;
    display: inline-block;
    margin-right: 10px;
}	
.section_detail_title:after{
    content: "";
    background: url(../img/leaf_ornament.png);
    background-size: 100%;
    width: 70px;
    aspect-ratio: 100 / 35;
    display: inline-block;
    margin-left: 10px;
	transform: scale(-1, 1);
}
	
.points-list{
    width: 95%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 30px;
}
.point-card{
    width: 32%;
    background: #fff;
    padding: 10px 10px 60px 10px;
    border: 1px solid var(--base-color2);
    border-radius: 8px;
    position: relative;
}

.point-card dt{
    color: var(--base-color3);
    font-weight: bold;
    font-size: 20px;
    font-family: var(--mincho-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-align: center;
    margin: 0 0 10px;
    border-bottom: 1px dotted #dbb778;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
}
.point-card dt span.title{
    order: 2;
    min-height: 50px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 5px;
}
.point-card dt img{
    order: 1;
    margin-bottom: 10px;	
}

.point-card dd{
    font-size: 15px;
    line-height: 1.3;
    padding: 0px;
    margin: 0;
	letter-spacing: 0.05em;
}
.point-card a{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;	
}
.point-card a span{
    width: 90%;
    color: #fff;
    text-align: center;
    background: var(--base-color4);
    padding: 10px;
    border-radius: 100px;
    margin: auto;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
}
.point-card a span:before{
    content: "";
    margin: auto;
    top: 0;
    bottom: 0;
    right: 25px;
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}


.internal_link_area{
    width: 95%;
    background: #ffffff;
    margin: auto;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    /* gap: 20px; */
    align-items: center;
    justify-content: space-between;
    border: 1px solid var(--base-color2);
	position: relative;
    border-radius: 9px;
}
.internal_link_area p{
    width: 77%;
    line-height: 1.3;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
}
.internal_link_area p:before{
    content: "";
	
    /*width: 45px;
    height: 45px;
    display: block;
    background: url(../img/internal_link_area_icon.png);
    background-size: 100%;*/
}
.internal_link_area p span{
    font-size: 16px;
    letter-spacing: 0.05em;	
}
.internal_link_area a{
    width: 100%;
    height: 100%;
	padding: 0;
    position: absolute;
	top: 0;
    left: 0;
    z-index: 1;
}

.internal_link_area .title{
    width: 100%;
    font-family: var(--mincho-font);
    font-size: 23px;
    font-weight: bold;
    letter-spacing: 0.05em;
    color: var(--base-color3);
    margin-top: 10px;
}

.concept-wrap p.side_note a{
    color: #9b7d1b;
    text-decoration: underline;	
}

.picture_02{
    width: 23%;
    display: block;	
}
.picture_02 img{
    width: 100%;
    height: auto;	
}


@media  screen and (max-width:767px) {
	#section_01 h2{margin: 0 0 5vw;}
	.section_frame{width: 95%;}
	.section_outset{
		display: flex;
		flex-wrap: wrap;
		padding: 5vw 3vw;
	}
	#section_01 .article_area {
		width: 100%;
		padding: 0;
	}
	.section_detail{padding: 0 0 5vw;}
	.section_detail_title {
		width: 85%;
		font-size: 4.5vw;
		margin: 0 auto 5vw;
		position: relative;
	}
	.section_detail_title:before{
		width: 13%;
		margin: auto;
		position: absolute;
		left: 3vw;
		top: 0;
		bottom: 2vw;
	}	
	.section_detail_title:after{
		width: 13%;
		margin: auto;
		position: absolute;
		right: 3vw;
		top: 0;
		bottom: 2vw;
	}	
	.points-list{
		width: 95%;
		margin: 0 auto 0;
	}
	.point-card{
		width: 100%;
		padding: 2vw 2vw 12vw;
		margin: 0 0 3vw;
	}
	.point-card dd{
		font-size: 3.3vw;
		line-height: 1.5;
		padding: 0px;
		margin: 0;
		color: #222;
	}
	.point-card dt{
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row;
		margin: 0 0 2vw;
	}
	.point-card dt span.title{
		width: 82%;
		font-size: 4.5vw;
		margin: 0;
		min-height: unset;
		text-align: left;
	}
	.point-card dt img{
		width: 15%;
		margin-bottom: 2vw;
	}
	.point-card a span{
		font-size: 3.5vw;
		padding: 1.5vw;
		bottom: 2vw;
	}
	.internal_link_area{
		width: 95%;
		padding: 16vw 3vw 0;
		display: flex;
		justify-content: flex-end;
	}
	.internal_link_area p{
		width: 95%;
		font-size: 3.7vw;
		position: absolute;
		top: 3vw;
	}
	.internal_link_area p:before{
		/*width: 8vw;
		height: 8vw;*/
	}
	.internal_link_area a{
		width: 100%;
		font-size: 3.7vw;
		padding: 0;
	}
	.concept-wrap p.side_note{
		width: 95%;
		font-size: 3.7vw;
		text-align: left;
		margin: auto;
		padding: 0;
	}
	#section_01 .image_area{top: 17vw;}
	.internal_link_area .title{
		width: 55%;
		font-size: 4vw;
		margin: 3vw 0 2vw;
	}
	.picture_02{
		width: 43%;
		display: block;
		transform: translateY(-3vw);
	}	
	.internal_link_area p span{font-size: 3.3vw;}
		
	
}

@media  screen and (min-width:768px) {
	
	.point-card:hover:after{transform: translateX(3px) rotate(45deg);}
	.point-card a:hover{background: rgb(255 255 255 / 30%);transition: 0.3s;}
	.point-card a:hover span:before{right: 20px;transition: 0.3s;}
	.internal_link_area a:hover{
		background: rgb(255 255 255 / 30%);
		transition: 0.3s;
	}	
	
}


/* ====================================
  #section_02
==================================== */	

#section_02{
    width: 100%;
    /*background: #fffcf5;*/
    border: none;	
}

#section_02 .title_wrap{
    /*background: url(../img/section_02_img.png)#fff;*/
	/*background-position: center;*/
    /*background-repeat: no-repeat;*/
}

.policy_list{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 20px auto;
    gap: 10px;
    justify-content: center;
    counter-reset: policy-num;
}
.policy_list li{
    width: 100%;
    list-style-type: none;
    border-radius: 5px;
    display: flex;
    align-items: center;
    counter-increment: policy-num;
    flex-direction: column;
    position: relative;
}
.policy_list li::before {
    content: "policy";
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-weight: 600;
    font-size: 20px;
    color: #cf9d41;
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(44px,14px);
    z-index: 2;
}	
.policy_list li::after {
    content: counter(policy-num, decimal-leading-zero);
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-weight: 600;
    font-size: 35px;
    color: #cf9d41;
    position: absolute;
    top: 0px;
    left: 0;
    transform: translate(49px, 28px);
}
.policy_list li a{
    width: 100%;
    color: #b48227;
    font-size: 19px;
    text-align: center;
    line-height: 1.5;
    text-decoration: none;
    padding: 28px;
    letter-spacing: 0.15rem;
    font-weight: bold;
    font-family: "游明朝体", "Yu Mincho", YuMincho, serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    border: 1px solid var(--base-color1);
    background: #fff;
}
.policy_list li a:before{
    content: "";
    background: #fcf4e5;
    background-size: 100%;
    width: 68px;
    height: 68px;
    position: absolute;
    margin: auto;
    left: 30px;
    top: 0;
    bottom: 0;
    border-radius: 100px;
}
.policy_list li a:after{
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 25px;
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    border-top: 3px solid #cf9d41;
    border-right: 3px solid #cf9d41;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.policy_list li a span{/*display: block;*/}
.policy_item{
    width: 1000px;
    margin: 0 auto 50px;
    border: 1px solid var(--base-color1);
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    background: #fff;
    position: relative;
}
.policy_item:before {
    content: "";
    background: url(../img/concept_ornament_corner_pc.png);
    background-size: 100%;
    width: 100%;
    aspect-ratio: 1000 / 68;
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    z-index: 2;
    pointer-events: none;
}
.policy_item:after {
    content: "";
    background: url(../img/concept_ornament_corner_pc.png);
    background-size: 100%;
    width: 100%;
    aspect-ratio: 1000 / 68;
    position: absolute;
    margin: auto;
    left: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
    transform: scale(1, -1);
}

.policy_item.right{text-align: left;}	
	
.policy_item .article_area{
    width: 65%;
    height: max-content;
    padding: 35px 30px 0 0;
}
.policy_item.right .article_area{padding:35px 0 0 30px;}

.policy_item.left .article_area	{order:2;}
	
.policy_item .image_area{
    width: 35%;
    position: relative;
    overflow: hidden;
    min-height: 650px;
    padding: 30px;
}
.policy_item.left .image_area{order:1;}	

.policy_item .image_area:before{
    /*content: "";*/
    width: 100px;
    height: 100%;
    background-image: linear-gradient(90deg, rgb(255 255 255), rgba(255, 255, 255, 0));
    position: absolute;
    left: 0;
    z-index: 1;
}
.policy_item.left .image_area:before{
    right: 0;
    left: unset;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgb(255 255 255));	
}

.policy_item .image_area picture{
    width: 100%;
    aspect-ratio: 750 / 1480;
    display: block;
    position: relative;
    margin-bottom: 20px;
}

.policy_item .image_area img{
    width: 100%;
    height: auto;
    position: absolute;	
}

.concept-btn{margin: 30px auto 0;order: 3;}	

@media  screen and (max-width:767px) {
	#section_02{
		width: 100%;
		padding: 15vw 0 0;
	}
	#section_02 .title_wrap{height: auto;}
	#section_02 h2:before{
		width: 90%;
		top: -20vw;
	}
	#section_02 .title_wrap span.English_title {
		font-size: 5vw;
		transform: translateY(6vw);
	}
	#section_02 h2:after{
	    width: 85%;
		margin: 3vw auto 0;	
	}
	.policy_list{
		width: 100%;
		padding: 0;
		margin: 5vw auto;
		gap: 3vw;
	}
	.policy_item{
		width: 95%;
		margin: 0 auto 5vw;
		padding: 3vw;
	}
	/*#policy03.policy_item{}*/	
	
	.policy_item .article_area{
		width: 100%;
		padding: 0;
	}
	.policy_item .image_area{
		padding: 0;
		top: 34vw;
	}
	/*#policy03.policy_item .image_area,#policy04.policy_item .image_area{top: 27vw;}*/
	
	
	.policy_item.right .article_area{padding: 0;}
	.policy_item .image_area:before{display: none;}
	.policy_list li{width: 95%;}
	.policy_list li::before{
		font-size: 4vw;
		top: 0;
		transform: translate(-6vw,3vw);
	}
	.policy_list li::after{
		font-size: 8vw;
		top: 0px;
		transform: translate(3vw, 0);
	}
	.policy_list li a{
		font-size: 3.7vw;
		padding: 13vw 2vw 2vw;
		letter-spacing: 0;
		font-weight: bold;
		text-align: left;
	}
	.policy_list li a span{display: inline;}
	.policy_item .image_area picture{margin: auto;}
}

/* ====================================
  #section_03
==================================== */		

#section_03{
    background: #fffcf5;
    border-top: 1px solid #efdfc0;	
}
#section_03 h2{
    transform: translateY(0px);
    margin: 0 0 30px;
    justify-content: center;
    flex-direction: unset;
}
#section_03 h2:before{display: none;}
#section_03 h2:after{display: none;}

#section_03 .article_area {
    width: 100%;
    height: max-content;
    padding: 35px 30px 30px;
    position: relative;
}

.point_item_container{
    width: 95%;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(49%, 1fr));
    gap: 20px;
    margin: auto;
}
.point_item{
    background: #fff;
    border: 1px solid var(--base-color2);
    padding: 15px;
    position: relative;
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.point_item:before{
    /*content: "";*/
    background: url(../img/clip.png);
    background-size: 100%;
    width: 60px;
    aspect-ratio: 150 / 139;
    margin: auto;
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
}
.text_area{
    width: 48%;
    order: 2;	
}
.point_item h3{
    width: 100%;
    color:var(--base-color3);
    font-size: 25px;
    line-height: 1.3;
    letter-spacing: 0.15rem;
    margin: 0 auto 20px;
    font-weight: bold;
    font-family:var(--mincho-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.point_item picture{
    width: 50%;
    display: block;
    order: 1;
}
.point_item picture img{
    width: 100%;
    height: auto;	
}
.point_item .explanation_area{width: 100%;}

.point_item picture.picture_01{
    width: 100%;
    display: block;
    margin: auto;
}
.point_item picture.picture_01 img{
    width: 100%;
    height: auto;
}
mark{
    font-weight: bold;
    background: -webkit-linear-gradient(left, rgb(255 248 48 / 50%) 50%, transparent 50%);
    background: -moz-linear-gradient(left, rgb(255 248 48 / 50%) 50%, transparent 50%);
    background: linear-gradient(left, rgb(255 248 48 / 50%) 50%, transparent 50%);
    background-repeat: no-repeat;
    background-size: 200% .8em;
    background-position: 0% 9px;	
}

@media  screen and (max-width:767px) {
	.text_area{
		width: 100%;
		order: 1;
	}
	.point_item{
		width: 100%;
		margin: 0 auto;
		padding: 5vw 3vw 2vw;
	}
	.point_item h3{
		width: 100%;
		font-size: 5vw;
		line-height: 1.3;
		letter-spacing: 0.05em;
		margin: 0 auto 70vw;
		text-align: center;
	}
	#section_03 h2{
		margin: 0 0 5vw;
		flex-direction: column;
	}
	#section_03 .article_area{padding: 0;}
	.point_item_container{
		width: 100%;
		gap: 5vw;
		margin: 0 auto 5vw;
	}
	.point_item picture{
		width: 95%;
		order: 2;
		position: absolute;
		margin: auto;
		left: 0;
		right: 0;
		top: 21vw;
	}
	.point_item .explanation_area{width: 100%;}
	
}
	
/* ====================================
  #section_04
==================================== */		

#section_04{
    width: 100%;
    background: #fffcf5;
    padding: 0 0 80px;	
}

#section_04 h2{
    transform: translateY(0px);
    margin: 0 0 30px;
}
#section_04 h2:before{display: none;}
#section_04 h2:after{display: none;}

#section_04 .article_area {
    width: 100%;
    height: max-content;
    padding: 35px 30px 30px;
    position: relative;
}

.question1_item{
	width: 1000px;
    margin: 0 auto 30px;
    background: #fff;
    border: 1px solid #efdfc0;
}

.faq_area {
    width: 95%;
    margin: 0 auto;
    padding: 0;
}

.faq_list {
    display: grid;
    gap: 10px;
    margin: 0 auto 30px;
}

.faq_item {
	border: 1px solid var(--base-color2);
	background: #fff;
	box-shadow: 0 2px 8px rgba(90, 70, 35, 0.04);
}

.faq_question {
	margin: 0;
}

.faq_trigger {
    position: relative;
    display: block;
    width: 100%;
    min-height: 54px;
    padding: 20px 52px 20px 58px;
    border: 0;
    background: transparent;
    color: #26342f;
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.04em;
    text-align: left;
    cursor: pointer;
}

.faq_trigger::before {
	content: "Q";
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	color: #00725f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
}

.faq_trigger::after {
	content: "";
	position: absolute;
	right: 24px;
	top: 50%;
	width: 9px;
	height: 9px;
	border-right: 2px solid #00725f;
	border-bottom: 2px solid #00725f;
	transform: translateY(-65%) rotate(45deg);
	transition: transform 0.3s ease;
}

.faq_item.is_open .faq_trigger::after {
	transform: translateY(-35%) rotate(225deg);
}

.faq_answer {
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition:
		height 0.35s ease,
		opacity 0.25s ease;
}

.faq_item.is_open .faq_answer {
	opacity: 1;
}

.faq_answer_inner {
	padding: 0 52px 20px 58px;
	color: #333;
	font-size: 15px;
	line-height: 1.9;
	letter-spacing: 0.03em;
}

.faq_answer_inner p {
	margin: 0;
}

.faq_answer_inner p + p {
	margin-top: 0.8em;
}

.faq_more {
	margin: 28px 0 0;
	text-align: center;
}

.faq_more a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 320px;
	padding: 13px 30px;
	border: 1px solid #9dc5b2;
	border-radius: 999px;
	background: #fff;
	color: #00725f;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-decoration: none;
	box-shadow: 0 3px 10px rgba(0, 80, 65, 0.08);
	transition:
		background-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.faq_more a::before {
	/*content: "?";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin-right: 16px;
	border: 1px solid #00725f;
	border-radius: 50%;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;*/
}

.faq_more a::after {
	content: "";
	width: 8px;
	height: 8px;
	margin-left: 16px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
	.faq_answer,
	.faq_trigger::after,
	.faq_more a {
		transition: none;
	}
}

@media screen and (max-width: 767px) {
	.faq_more a::after{
		width: 2vw;
		height: 2vw;
		margin-left: 3vw;
		border-top: 0.5vw solid currentColor;
		border-right: 0.5vw solid currentColor;
	}
	#section_04{padding: 0 0 8vw;}
	#section_04 h2{margin: 0 0 5vw;}
	.faq_area {
		width: 100%;
		padding: 0;
	}

	.faq_trigger {
		min-height: auto;
		padding: 3vw 8vw 3vw 9vw;
		font-size: 3.7vw;
		line-height: 1.6;
	}

	.faq_trigger::before {
		left: 3vw;
		font-size: 5vw;
	}

	.faq_trigger::after {
		right: 3vw;
		top: 50%;
		width: 1.5vw;
		height: 1.5vw;
		border-right: 0.5vw solid #00725f;
		border-bottom: 0.5vw solid #00725f;
	}

	.faq_answer_inner {
		padding: 0 4vw 5vw 8vw;
		line-height: 1.8;
	}
	.faq_more a{
		width: 100%;
		min-width: 0;
		padding: 2.5vw;
		font-size: 3.7vw;
	}
	#section_04 .article_area{padding: 0;}
	.question1_item{
		width: 100%;
		margin: 0 auto 5vw;
	}
	
	
}

@media  screen and (min-width:768px) {

	a.faq_more:hover {
		background: #f7fbf8;
		box-shadow: 0 5px 14px rgba(0, 80, 65, 0.12);
		transform: translateY(-1px);
	}	
	
}


/* ====================================
  CVボタン
==================================== */

.policy-cta {
    width: 65%;
    text-align: center;
    margin: 0 auto 30px;
}
.policy_item.left .policy-cta{order: 3;}

.policy-cta__button {
    width: 100%;
    position: relative;
    display: block;
    align-items: center;
    justify-content: center;
    padding: 20px 0;
    box-sizing: border-box;
    border: 1px solid #c9a85c;
    border-radius: 9px;
    background: var(--base-color4);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.08em;
    text-decoration: none;
    transition: background-color 0.22s ease,
		box-shadow 0.22s ease,
		transform 0.22s ease;
}

.policy-cta__arrow {
    position: absolute;
    top: 50%;
    right: 24px;
    width: 9px;
    height: 9px;
    border-top: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    transform: translateY(-50%) rotate(45deg);
    transition: right 0.22s ease;
}

.policy-cta__button:focus-visible {
	outline: 3px solid rgba(8, 118, 111, 0.3);
	outline-offset: 3px;
}

@media screen and (max-width: 767px) {
	.policy-cta {
		width: 100%;
		margin: 0 auto 5vw;
	}
	.policy-cta__button {
		width: 100%;
		padding: 3vw;
		font-size: 4vw;
		letter-spacing: 0.05em;
	}

	.policy-cta__arrow {
		right: 5vw;
		width: 2vw;
		height: 2vw;
		border-top: 0.5vw solid #ffffff;
		border-right: 0.5vw solid #ffffff;
	}
}

@media  screen and (min-width:768px) {
	
	.policy-cta__button:hover {
		color: #fff;
		text-decoration: none;
		background: #0a837b;
		box-shadow: 0 5px 12px rgba(0, 0, 0, 0.16);
		transform: translateY(-2px);
	}

	.policy-cta__button:hover .policy-cta__arrow {
		right: 20px;
	}
	
}

@media (prefers-reduced-motion: reduce) {
	.policy-cta__button,
	.policy-cta__arrow {
		transition: none;
	}

	.policy-cta__button:hover {
		transform: none;
	}
}





