@charset "UTF-8";


/*---------------------------------------------------------
m_img
---------------------------------------------------------*/
.m_img_area {
	height: 100vh;
	display: flex;
	flex-direction: column;
	min-height: min(calc(100vw * 0.7), 1004px);
}
.m_img {
	position: relative;
	width: 100%;
	height: 100%;
}
.m_img::before {
	z-index: 1;
}
.m_img::after {
	position: absolute;
	content: "";
	--x-gradient: linear-gradient(90deg, #FFF 0 30px, transparent 0 calc(100% - 30px), #FFF calc(100% - 30px));
    --y-gradient: linear-gradient(#FFF 0 30px, transparent 0 calc(100% - 30px), #FFF calc(100% - 30px));
    background-image:
        var(--x-gradient),
        var(--y-gradient),
        var(--x-gradient),
        var(--y-gradient);
    background-repeat: no-repeat;
    background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;
    background-position: top, right, bottom, left;
	left: 50%;
	top: 50%;
	width: 96%;
	height: 94%;
	translate: -50% -50%;
	z-index: 1;
	pointer-events: none;
	scale: 1.01;
	opacity: 0;
	filter: blur(5px);
	transition: all 1s;
}
.m_img.anime_on {
	opacity: 1;
}
.m_img.anime_on::after {
	scale: 1;
	opacity: 1;
	filter: blur(0);
}
/*m_copy*/
.m_img .m_copy {
	position: absolute;
	width: 65%;
	max-width: max-content;
	left: 0;
	right: 0;
	top: 55%;
	margin: auto;
	translate: 0 -50%;
	transition: opacity 2s, filter 1.5s;
	opacity: 0;
	filter: blur(10px);
	z-index: 1;
}
.m_img_area.anime_on .m_copy {
	opacity: 1;
	filter: blur(0);
}
.m_img .m_copy .point {
	margin-top: 4%;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	height: 100svh;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	height: 100svh;
	min-height: calc(100vw * 1.5);
}
.m_img::after {
	--x-gradient: linear-gradient(90deg, #FFF 0 5vw, transparent 0 calc(100% - 5vw), #FFF calc(100% - 5vw));
    --y-gradient: linear-gradient(#FFF 0 5vw, transparent 0 calc(100% - 5vw), #FFF calc(100% - 5vw));
	width: calc(100% - 5vw);
	height: calc(100% - 5vw);
}
.m_img .m_copy {
	width: 95%;
}
.m_img .m_copy picture {
	display: block;
	width: 80%;
	margin: 0 auto 8%;
}
}
/*m_img:m_slider
---------------------------------------------------------*/
.m_slider {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	overflow: hidden;
}
.m_slider li {
	position: relative;
	z-index: -1;
}
.m_slider li::before {
	position: absolute;
	display: block;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 116vw;
	height: 100%;
	left: 0;
	top: 0;
	transform: translateZ(0);
	translate: 0 0;
	transition: translate 10s cubic-bezier(1, 0.8, 1, 1);
}
.m_slider li[class*=-active]::before,
.m_slider li[class*=-prev]::before {
	translate: -16vw 0;
}
.m_slider .slide1::before {background-image: url("../images/top/m_img1@2x.jpg");}
.m_slider .slide2::before {background-image: url("../images/top/m_img2@2x.jpg");}
.m_slider .slide3::before {background-image: url("../images/top/m_img3@2x.jpg");}

/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media screen and (orientation: portrait) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_slider .slide1::before {background-image: url("../images/top/m_img1_sp@2x.jpg");}
.m_slider .slide2::before {background-image: url("../images/top/m_img2_sp@2x.jpg");}
.m_slider .slide3::before {background-image: url("../images/top/m_img3_sp@2x.jpg");}
}

/*dot
---------------------------------------------------------*/
.m_img .swip-pagination {
	position: absolute;
	display: flex;
	justify-content: center;
	left: 0;
	right: 0;
	bottom: 100px;
	margin: auto;
	z-index: 1;
}
.m_img .swip-pagination .swiper-pagination-bullet {
	position: relative;
	cursor: pointer;
	display: block;
	width: .7em;
	height: .7em;
	border-radius: 50%;
	background: #FFF;
	opacity: 1;
	box-sizing: border-box;
	margin: 0 .8em;
	transition: all 0.4s;
}
.m_img .swip-pagination .swiper-pagination-bullet-active,
.m_img .swip-pagination .swiper-pagination-bullet:hover {
	opacity: 0.4;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.m_img .swip-pagination {
	justify-content: flex-start;
	left: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img .swip-pagination {
	bottom: 6vw;
}
.m_img .swip-pagination .swiper-pagination-bullet {
	width: .5em;
	height: .5em;
	margin: 0 .8em;
}
}



/*---------------------------------------------------------
WP
---------------------------------------------------------*/
/* wp_title */
.wp_title .ft_gra {
	color: #47a789;
	font-size: min(3vw,233%);
}
.wp_title .com_link1 {
	margin-top: .5em;
	margin-left: auto;
}
/* wp_list */
.wp_list {
	display: flex;
}
.wp_list > li {
	width: 30%;
	margin-right: 5%;
}
.wp_list > li:last-of-type {
	margin-right: 0;
}
.wp_list > li > a {
	display: block;
}
.wp_list .date {
	display: block;
	color: #878f8e;
	font-size: 93%;
	letter-spacing: .12em;
	margin-bottom: .8em;
}
.wp_list .title {
	font-size: 113%;
	line-height: 1.5;
}
.wp_list .title::after {
	/* position: absolute; */
	font-family: 'fontello';
	display: inline-block;
	content: '\e800';
	color: #47a789;
	opacity: 0;
	margin-left: .5em;
	transition: all .4s;
}
.wp_list > li > a:hover .title::after {
	opacity: 1;
	margin-left: 0.4em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* wp_title */
.wp_title .ft_gra {
	font-size: 130%;
}
/* wp_list */
.wp_list > li {
	min-width: 50vw;
	margin-right: 6vw;
}
.wp_list .date {
	font-size: 85%;
	letter-spacing: .1em;
}
.wp_list .title {
	font-size: 90%;
}
}
/*WP:news
---------------------------------------------------------*/
#news {
	position: relative;
	padding: 70px 0 60px;
}
#news::before {
	position: absolute;
	content: "";
	background-color: inherit;
	width: 100%;
	height: min(15vw,180px);
	left: 0;
	top: calc(100% - 1px);
}
#news .wp_title {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}
#news .com_link2 {
	margin-top: 0;
}
#news .wp_list > li {
	padding-right: 2.5%;
	margin-right: 2.5%;
	border-right: 1px dashed #a5a3a1;
}
#news .wp_list > li:last-of-type {
	padding-right: 0;
	margin-right: 0;
	border-right: none;
}
#news .wp_list dt {
	margin-bottom: .8em;
}
#news .wp_list .title {
	color: #47a789;
	font-size: 120%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#news {
	padding: 10% 0 8%;
}
#news::before {
	height: 24vw;
}
#news .wp_title {
	justify-content: flex-start;
	margin-bottom: 1.2em;
}
#news .com_link2 {
	line-height: 1;
	margin-left: 1em;
}
#news .wp_list > li {
	padding-right: 5%;
	margin-right: 5%;
}
#news .wp_list dt {
	margin-bottom: .5em;
}
#news .wp_list .date {
	margin-bottom: .5em;
}
#news .wp_list .title {
	font-size: 100%;
}
#news .wp_list dd {
	font-size: 85%;
}
}
/*WP:blog
---------------------------------------------------------*/
#blog {
	background-image: url(../images/top/shadow@2x.png);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	padding: 80px 0 60px;
}
.wp_list .img_wrap {
	position: relative;
	overflow: hidden;
	margin-bottom: 1.4em;
}
.wp_list .img_wrap::before {
	display: block;
	content: "";
	padding-top: 64%;
}
.wp_list .img_wrap img {
	position: absolute;
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
	inset: 0;
	margin: auto;
	transition: scale .5s;
}
.wp_list > li > a:hover img {
	scale: 1.05;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#blog .inbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 16% 82%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#blog {
	padding: 10% 0;
}
#blog .wp_title {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1.2em;
}
#blog .com_link2 {
	line-height: 1;
	margin-top: 0;
	margin-left: 1em;
}
#blog .inbox {
	grid-template-columns: 30% 66%;
}
}



/*---------------------------------------------------------
reserve
---------------------------------------------------------*/
#reserve .com_ctc_box {
	box-shadow: 0 40px 25px -30px rgba(0,0,0,0.15);	
}
#reserve .rsv_wrap {
	margin-top: 40px;
}
#reserve .rsv_wrap iframe {
	display: block;
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {
#reserve .rsv_wrap {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48% 48%;
}
}


/*---------------------------------------------------------
schedule
---------------------------------------------------------*/
/* kamoku_list */
#schedule .kamoku_list {
	display: grid;
	justify-content: space-between;
	row-gap: 12%;
	grid-template-columns: repeat(3,32.5%);
	margin-top: 6%;
}
#schedule .kamoku_list > li {
	text-align: center;
	font-size: min(1.3vw,112%);
	line-height: 1.5;
	letter-spacing: .1em;
	padding: .5em;
	border: 1px solid #dcdedc;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#schedule .inbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 44% 51%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#schedule .inbox > div:first-of-type {
	margin-bottom: 8%;
}
/* kamoku_list */
#schedule .kamoku_list {
	row-gap: 8%;
	grid-template-columns: repeat(2,49%);
}
#schedule .kamoku_list > li {
	font-size: 90%;
}
}

/*---------------------------------------------------------
conceptv
---------------------------------------------------------*/
#concept {
	position: relative;
	color: #FFF;
	background: linear-gradient(90deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0) 100%);
	padding: 120px 0 140px;
}
#concept .cpt_bg {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
#concept .cpt_bg::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/cpt_bg@2x.jpg) no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: -1;
}
#concept .cpt_copy {
	font-size: min(5vw,400%);
	letter-spacing: .2em;
	line-height: 1.6;
	margin-bottom: .5em;
}
#concept dt {
	font-size: min(2.2vw,153%);
	word-break: keep-all;
	overflow-wrap: break-word;
	margin-bottom: 1.2em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#concept dd {
	width: 80%;
	max-width: 710px;
	font-size: 105%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#concept {
	padding: 12% 0 14%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#concept {
	/* height: 145vw; */
	padding: 14% 0 16%;
}
#concept .cpt_bg::before {
	background-image: url(../images/top/cpt_bg_sp@2x.jpg);
	position: sticky;
	min-width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
}
#concept .cpt_copy {
	font-size: 8vw;
	letter-spacing: .15em;
}
#concept dt {
	font-size: 110%;
	margin-bottom: 1.2em;
}
#concept .com_btnlist {
	display: grid;
	justify-content: center;
	grid-template-columns: 52% 46%;
}
#concept .com_btnlist > li a {
	min-width: 0;
}
}

/*---------------------------------------------------------
point
---------------------------------------------------------*/
#point {
	padding-top: min(13vw,190px);
}
#point .poi_title {
	position: relative;
	width: 25em;
	text-align: center;
	font-size: min(153%,2.2vw);
	letter-spacing: .14em;
	line-height: 1.5;
	padding: 1em 2em .8em;
	padding-left: 8.8em;
	margin-bottom: 3em;
}
#point .poi_title .ft_min {
	margin-top: .5em;
}
#point .poi_title .ft_gra {
	color: #47a789;
	font-size: 173%;
	line-height: 1;
	white-space: nowrap;
}
#point .poi_title .no {
	position: absolute;
	font-size: 1100%;
	left: 8%;
	top: 50%;
	translate: 0 -50%;
}
/* poi_slider */
.poi_slider {
	left: 50%;
	translate: -50% 0;
	margin-top: 90px;
}
.poi_slider li {
	width: 44vw;
	max-width: max-content;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#point .poi_title {
	margin-right: 4%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#point {
	padding-top: 20%;
}
#point .poi_title {
	font-size: 80%;
	letter-spacing: .14em;
}
/* poi_slider */
.poi_slider li {
	width: 88vw;
}
}
/*point:poi_wrap
---------------------------------------------------------*/
#point .poi_wrap {
	counter-reset: mycounter;
}
#point .poi_inbox {
	position: relative;
	padding-top: 20px;
	margin-top: 100px;
}
#point .poi_inbox:first-of-type {
	margin-top: 0;
}
#point .poi_bgbox {
	position: relative;
	box-sizing: border-box;
	padding: 110px 6.5% 90px;
}
#point .poi_bgbox::before {
	position: absolute;
	content: "";
	background-color: #f6f5f4;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
#point .poi1 .poi_bgbox::before,
#point .poi3 .poi_bgbox::before,
#point .poi5 .poi_bgbox::before  {
	background-color: #fff;
	box-shadow: 0 40px 25px -30px rgba(0,0,0,0.15);
}
#point .poi_bgbox > div {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
#point .com_style1_txt {
	line-height: 1.8;
	margin-bottom: .5em;
}
#point .com_style1_txt span {
	color: #47a789;
}
#point .poi_img {
	position: relative;
	max-width: max-content;
}
#point .abs {
	position: absolute;
	width: 15vw;
	max-width: max-content;
	top: 0;
	right: 8%;
	translate: 0 -23%;
}
#point .poi3 .abs {
	width: 28vw;
	transition-delay: .2s;
}
/* poi_no */
#point .poi_no {
	position: relative;
	color: #47a789;
	font-size: 156%;
	font-family: "adobe-garamond-pro", serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: .12em;
	line-height: 1;
	margin-bottom: 1.2em;
}
#point .poi_no::before {
	display: block;
	counter-increment: mycounter;
	content: counter(mycounter, decimal-leading-zero);
}
#point .poi_no::after {
	position: absolute;
	content: "";
	width: .9em;
	height: .9em;
	left: -1.2em;
	top: -1em;
	border-top: 1px solid currentColor;
	border-left: 1px solid currentColor;
	scale: 1.5;
	opacity: 0;
	filter: blur(5px);
	transition: all 1s .5s;
}
#point .poi_bgbox.anime_on .poi_no::after {
	left: -1em;
	top: -.8em;
	scale: 1;
	opacity: 1;
	filter: blur(0);
}
/* poi_collist */
.poi_collist {
	margin-top: 5%;
}
.poi_collist > li {
	position: relative;
	color: #FFF;
	background-color: #47a789;
	background-repeat: no-repeat;
	background-position: right top;
	background-size: 90% auto;
	padding: 50px 12%;
	box-sizing: border-box;
}
.poi_collist > li:nth-of-type(even) {
	background-color: #2c9a77;
}
.poi_collist dt {
	text-align: center;
	font-size: min(173%,2.5vw);
	letter-spacing: .1em;
	line-height: 1.6;
	word-break: keep-all;
	overflow-wrap: break-word;
	margin-bottom: .4em;
}
.poi_collist > li:nth-of-type(1) {	background-image: url(../images/top/poi4_col_bg1@2x.png);}
.poi_collist > li:nth-of-type(2) {	background-image: url(../images/top/poi4_col_bg2@2x.png);}
.poi_collist > li:nth-of-type(3) {	background-image: url(../images/top/poi4_col_bg3@2x.png);}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#point .poi_wrap {
	display: flex;
	flex-wrap: wrap;
}
#point .poi_wrap > * {
	width: 100%;
}
#point .poi_inbox.type_col .poi_bgbox {
	width: 58%;
	max-width: 768px;
}
#point .poi_inbox.type_col .poi_bgbox > div {
	max-width: 560px;
}
#point .poi_inbox.type_col .poi_img {
	position: absolute;
	width: 54%;
	top: 0;
}
#point .poi_inbox.type_half {
	width: 50%;
}
#point .poi_inbox.type_half .poi_img {
	width: 90%;
}
#point .poi_inbox.type_half .poi_bgbox {
	width: 95%;
	padding-left: 10%;
	padding-right: 10%;
	margin-top: -2em;
	translate: -10% 0;
}
#point .poi_inbox.type_half .poi_bgbox > div {
	max-width: 440px;
}
/* poi_collist */
.poi_collist {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}
/* poi1 */
#point .poi1 {
	padding-top: 70px;
	padding-bottom: 70px;
}
#point .poi1 .poi_img {
	width: 46% !important;
}
#point .poi1 .poi_img:nth-of-type(1) {
	left: -6%;
}
#point .poi1 .poi_img:nth-of-type(2) {
	right: -6%;
	top: auto;
	bottom: 0;
}
#point .poi1 .poi_bgbox {
	margin: 0 auto;
}
/* poi2 */
#point .poi2 .poi_img {
	left: 0;
}
#point .poi2 .poi_bgbox {
	margin-left: auto;
}
/* poi3 */
#point .poi3 .poi_img {
	right: 0;
}
/* poi4 */
#point .poi4 {
	margin-top: 0 !important;
}
#point .poi4 .poi_bgbox {
	padding: 30px 6%;
}
#point .poi4 .poi_bgbox::before {
	width: 45vw;
	translate: 0 -12%;
	margin-left: calc(50% - 50vw);
}
#point .poi4 .poi_bgbox > div {
	display: grid;
	grid-template-columns: 35% 60%;
}
#point .poi4 .poi_bgbox .poi_no {
	grid-column: 1/3;
	grid-row: 1/2;
}
/* poi6 */
#point .poi6 .poi_img,
#point .poi6 .poi_bgbox {
	margin-left: auto;
}
#point .poi6 .poi_bgbox {
	translate: -6% 0 !important;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#point .poi_inbox {
	margin-top: 10%;
}
#point .poi_bgbox {
	padding: 70px 7%;
}
#point .poi_inbox.type_col .poi_img {
	width: 50%;
}
#point .poi_inbox.type_col .poi_bgbox {
	width: 65%;
}
/* poi2 */
#point .poi2 .poi_img {
	left: -5%;
}
/* poi3 */
#point .poi3 .poi_img {
	right: -5%;
}
/* poi4 */
#point .poi4 .poi_bgbox {
	padding: 3% 4%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#point .poi_inbox {
	margin-top: 12%;
}
#point .poi_bgbox {
	width: 96vw;
	padding: 18% 10% 0;
	left: 50%;
	translate: -50% 0;
	margin-top: -12%;
}
#point .poi1 .poi_bgbox,
#point .poi3 .poi_bgbox,
#point .poi5 .poi_bgbox  {
	padding-bottom: 12%;
}
#point .poi1 .poi_bgbox::before,
#point .poi3 .poi_bgbox::before,
#point .poi5 .poi_bgbox::before  {
	box-shadow: 0 25px 20px -20px rgba(0,0,0,0.15);
}
#point .poi_img {
	width: 100vw;
	left: 50%;
	translate: -50% 0;
}
#point .poi_inbox.type_half .poi_img {
	width: 80vw;
	left: auto;
	margin-left: auto;
	translate: 6.5% 0;
}
#point .poi_inbox.type_half .poi_bgbox {
	left: -6%;
	translate: none;
}
#point .abs {
	width: 25vw;
	right: 6%;
	top: 4vw;
	translate: none;
}
#point .poi3 .abs {
	width: 46vw;
}
/* poi_no */
#point .poi_no {
	font-size: 4vw;
}
/* poi_collist */
.poi_collist {
	margin-top: 7%;
}
.poi_collist > li {
	padding: 8% 10%;
}
.poi_collist dt {
	font-size: 115%;
}
/* poi1 */
#point .poi1 .img_wrap {
	position: relative;
	display: grid;
	grid-template-columns: 50% 50%;
	width: 100vw;
	left: 50%;
	translate: -50% 0;
}
#point .poi1 .poi_img {
	width: auto;
	left: auto;
	translate: none;
}
/* poi4 */
#point .poi4 {
	margin-top: 0;
}
#point .poi4 .poi_bgbox {
	padding-bottom: 0;
}
}


/*---------------------------------------------------------
voice
---------------------------------------------------------*/
#voice {
	background: linear-gradient(to bottom, rgba(246,245,244,1), transparent 30%);
}
#voice .graph_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#voice .graph_list figcaption {
	text-align: center;
	font-size: min(133%,2vw);
	letter-spacing: .1em;
	line-height: 1.6;
	word-break: keep-all;
	overflow-wrap: break-word;
	margin-bottom: .5em;
}
/* PC
------------------------------------------*/
@media only screen and (min-width: 960px) {
#voice .inbox {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 28% 69%;
}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#voice {
	padding-top: 0;
}
#voice .com_deco_txt2 {
	text-align: right;
	translate: 5% -50%;
}
#voice .graph_list figure {
	width: 33.33%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#voice .inbox {
	width: 90%;
	margin: 0 auto;
}
#voice .graph_list {
	margin-top: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#voice .com_deco_txt2 {
	text-align: center;
	margin-bottom: .2em;
}
#voice .com_style1 > dt {
	text-align: center;
}
#voice .graph_list {
	margin-top: 6%;
}
#voice .graph_list figure {
	width: 50%;
}
#voice .graph_list figure:nth-of-type(n+3) {
	margin-top: 4%;
}
#voice .graph_list figcaption {
	font-size: 95%;
}
}


/*---------------------------------------------------------
reason
---------------------------------------------------------*/
#reason {
	position: relative;
	color: #FFF;
	background-color: #2d4054;
	padding-bottom: 0;
	overflow: clip;
}
#reason .bg {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/top/rsn_bg@2x.jpg) no-repeat center top -50px;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	transform: translateZ(0);

	-webkit-mask-image: linear-gradient(to bottom, white 0%, transparent 10%);
	mask-image: linear-gradient(to bottom, white 0%, transparent 10%);
    mask-mode: alpha;
    -webkit-mask-position: center top -10%;
    mask-position: center top -10%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: auto 100%;
    mask-size: auto 100%
}
#reason .bg.anime_on {
	animation: mask-animation 3s 0s forwards;
}
#reason .com_deco_txt2 {
	opacity: 0.8;
}
#reason .lead {
	position: relative;
}
#reason .com_brc {
	margin-bottom: .5em;
}
#reason .com_style2_txt {
	text-align: center;
	margin-bottom: 1em;
}
/* arw_wrap */
#reason .arw_wrap {
	position: relative;
	padding-top: min(5vw,70px);
	padding-bottom: min(7vw,100px);
	transition: padding 2s .5s;
}
#reason .arw_wrap::before {
	position: absolute;
	content: "";
	background-color: #425365;
	width: 100%;
	height: min(16vw,250px);
	left: 0;
	bottom: -1px;
	clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 0 100%);
}
/* sum_wrap */
#reason .sum_wrap {
	background-color: #425365;
	padding-top: 30px;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* arw_wrap */
#reason .arw_wrap {
	padding-bottom: 10vw;
}
#reason .arw_wrap::before {
	height: 16vw;
}
}
/*reason:data_list
---------------------------------------------------------*/
#reason .data_list {
	width: 96%;
	max-width: 1380px;
	margin: 0 auto;
}
#reason .data_list > dl {
	position: relative;
	background-color: rgba(28,49,70,0.7);
	box-sizing: border-box;
	padding: 60px 5%;
	margin-top: 15px;
}
#reason .data_list .title {
	font-size: min(200%,2.5vw);
	letter-spacing: .12em;
	line-height: 1.3;
	white-space: nowrap;
}
#reason .data_list .title span {
	display: block;
	color: #a4e8d2;
	font-size: 133%;
}
#reason .data_list .title .icon {
	display: inline-block;
	width: 2.4em;
	margin: 0;
}
#reason .data_list .title .parts {
	display: inline-block;
	font-size: 76%;
	vertical-align: .9em;
	background-color: #47a789;
	padding: .2em 1em;
	margin-left: .5em;
	border-radius: 2em;
}
#reason .data_list .title .index {
	margin-top: .2em;
}
/* graph_wrap */
#reason .data_list .graph_wrap > div {
	position: relative;
	max-width: 370px;
	padding-left: 10%;
}
#reason .data_list .graph_wrap .ft_min {
	position: absolute;
	font-size: min(166%,1.8vw);
	letter-spacing: .5em;
	line-height: 1.3;
	white-space: nowrap;
	writing-mode: vertical-rl;
	left: 0;
	top: 0;
}
#reason .data_list canvas {
	display: block;
	max-width: 370px;
	width: 100%;
	max-height: 260px;
}
#reason .data_list .abs {
	position: absolute;
	width: 32%;
	max-width: 128px;
	right: -4%;
	top: -6%;
}
/* number */
#reason .data_list .number {
	display: flex;
	justify-content: space-between;
	width: 88%;
	margin: 0 auto;
}
#reason .data_list .number > li {
	width: 48%;
	position: relative;
	text-align: center;
	font-size: min(1.2vw,93%);
	letter-spacing: .1em;
	line-height: 1.3;
	white-space: nowrap;
	background-color: #70bccf;
	box-sizing: border-box;
	padding: .5em .5em .4em;
}
#reason .data_list .number > li::before {
	position: absolute;
	content: "";
	background-color: inherit;
	width: .5em;
	height: .5em;
	left: 72%;
	bottom: 99%;
	translate: -50% 0;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
#reason .data_list .number > li span {
	font-size: 118%;
	letter-spacing: normal;
	vertical-align: -0.05em;
	margin-left: .5em;
	margin-right: .1em;
}
#reason .data_list .graph2 .number > li,
#reason .data_list .graph4 .number > li {
	background-color: #d09291;
}
#reason .data_list .graph1 .number > li:nth-of-type(2):before {left: 30%;}
#reason .data_list .graph2 .number > li:nth-of-type(2):before {left: 64%;}
#reason .data_list .graph3 .number > li:nth-of-type(1):before {left: 86%;}
#reason .data_list .graph3 .number > li:nth-of-type(2):before {left: 16%;}
#reason .data_list .graph4 .number > li:nth-of-type(1):before {left: 48%;}
#reason .data_list .graph4 .number > li:nth-of-type(2):before {left: 94%;}

/* PC
------------------------------------------*/
@media only screen and (min-width: 960px) {
#reason .data_list > dl {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 26% 74%;
}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#reason .data_list .graph_wrap {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 48% 48%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#reason .data_list > dl {
	padding: 5% 5% 6%;
}
#reason .data_list .title {
	text-align: center;
	font-size: 2.8vw;
}
/* graph_wrap */
#reason .data_list .graph_wrap {
	margin-top: 5%;
}
#reason .data_list .graph_wrap .ft_min {
	font-size: 2vw;
}
#reason .data_list .number > li {
	font-size: 1.4vw;
}
}
/* Tablet,Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 959px) {
#reason .data_list .title span {
	display: inline-block;
	vertical-align: -0.05em;
	margin-left: .1em;
}
#reason .data_list cite {
	text-align: center;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#reason .data_list .title {
	text-align: center;
	font-size: 110%;
}
#reason .data_list > dl {
	padding: 8% 5%;
	margin-top: 1%;
}
#reason .data_list > dl {
	padding: 8% 5%;
}
#reason .data_list .graph_wrap > div {
	position: relative;
	box-sizing: border-box;
	padding-left: 10%;
	margin-top: 10%;
}
#reason .data_list .graph_wrap .ft_min {
	font-size: 4.5vw;
}
/* number */
#reason .data_list .number > li {
	font-size: 2.8vw;
}
}
/*reason:sum_list
---------------------------------------------------------*/
#reason .sum_list > li {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	height: 100%;
	background: url(../images/top/rsn_bg_gas@2x.jpg) no-repeat center bottom;
	background-size: 100% auto;
	box-sizing: border-box;
	padding: 2em 14% 4.5em;
}
#reason .sum_list .target {
	text-align: center;
	color: #a4e8d2;
	font-size: min(666%,8vw);
	letter-spacing: .15em;
	line-height: 1;
	margin-bottom: .4em;
}
#reason .sum_list .com_style1 > dt {
	text-align: center;
}
#reason .sum_list .com_arw {
	margin: 8% auto 0;
}
#reason .sum_list > li:last-of-type {
	background-image: url(../images/top/rsn_bg_col@2x.jpg);
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 1600px) {
#reason .sum_list > li {
	background-position: center top;
}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#reason .sum_list {
	display: grid;
	grid-template-columns: 50% 50%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#reason .sum_list > li {
	padding: 10% 6%;
}
#reason .sum_list .target {
	font-size: 12vw;
}
#reason .sum_list dd {
	font-size: 90%;
}
}

/*---------------------------------------------------------
medical
---------------------------------------------------------*/
#medical {
	background: linear-gradient(to bottom,rgba(30,24,21,0.08), rgba(30,24,21,0)) no-repeat;
	background-size: 100% 80px;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#medical {
	background-size: 100% 10vw;
}
}

/*---------------------------------------------------------
search
---------------------------------------------------------*/
#search {
	background-color: #46666b;
}
#search .com_title1 {
	color: #FFF;
}
#search .com_deco_txt1 {
	color: #b4eac3;
}
/* tab */
#search .tab-list {	
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
}
#search .tab-btn {
	color: #8ea2a5;
	height: 2.5em;
	font-size: min(2vw,133%);
	padding: 0 .5em;
	border-right: 1px dashed #8ea2a5;
}
#search .tab-btn.active,
#search .tab-btn:hover {
	color: #FFF;
}
#search .tab-content {
	background-color: #fff;
	box-sizing: border-box;
	padding: 60px 5%;
	margin-top: .8em;
}
#search .tab-content dt {
	font-size: min(133%,2vw);
}
#search .tab-content dt:first-of-type {
	margin-top: 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#search .tab-content {
	padding: 6% 4%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

/* tab */
#search .tab-btn {
	font-size: 3vw;
}
#search .tab-content {
	padding: 6% 5% 10%;
}
#search .tab-content dt {
	font-size: 95%;
}
}

/*---------------------------------------------------------
info
---------------------------------------------------------*/
#info .inf_logo {
	width: 75%;
	/* max-width: max-content; */
	max-width: 720px;
	margin-bottom: 3%;
}
#info address {
	font-size: min(1.8vw,120%);
	margin-bottom: 1.5em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#info .inf_grid {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 51% 45%;
}
#info .com_link1 {
	text-align: right;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#info .inf_grid > div:first-of-type {
	margin-bottom: 6%;
}
#info .inf_logo {
	width: 100%;
	margin-bottom: 3%;
}
#info address {
	font-size: 95%;
	margin-bottom: 1.2em;
}
#info iframe {
	height: 68vw;
}
}
/*media_list
---------------------------------------------------------*/
.media_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	max-width: 1044px;
	margin: 6% auto 0;
}
.media_list > li {
	height: min(9.2vw,110px);
}
.media_list img {
    width: auto;
    height: 100%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.media_list {
	gap: 10px;
	margin-top: 10%;
}
.media_list > li {
	height: 14vw;
}
}


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

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

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}