@charset "UTF-8";


/* ========================================================
  
  FV

======================================================== */
.m_img {
	position: relative;
	background-image: url(../images/info/m_img@2x.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    height: min(35vw,410px);
}
.m_img::before {
	position: absolute;
	content: "";
	background: linear-gradient(to right, rgba(0,0,0,0.4), rgba(0,0,0,0));
	width: 62%;
	height: 100%;
	left: 0;
	top: 0;
}
.m_obj {
	position: absolute;
	width: 30%;
	max-width: 401px;
	left: 0;
	top: 0;
	translate: -35% -10%;
	pointer-events: none;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img {
	height: 55vw;
}
.m_obj {
	width: 54%;
}
}

/*---------------------------------------------------------
 m_title
---------------------------------------------------------*/
.m_title {
    position: absolute;
	color: #FFF;
	text-align: left;
	font-size: min(352%,5vw);
	letter-spacing: .15em;
	line-height: 1.4;
	white-space: nowrap;
	left: 13%;
    top: 62%;
    translate: 0 -50%;
}
.m_title .ft_agenda_t {
	font-size: 50%;
	line-height: 1;
	letter-spacing: .14em;
    margin-top: .4em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_title {
	font-size: 200%;
	left: 10%;
}
}


/* ========================================================
  
  parts

======================================================== */
.com_inbox {
	width: 94%;
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}
.txt_bld {
    font-size: 112%;
    font-weight: var(--fw_bold);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.txt_bld {
    font-size: 105%;
}
}

/*---------------------------------------------------------
 pankuzu
---------------------------------------------------------*/
.pankuzu {
	position: relative;
	display: flex;
	justify-content: flex-end;
	column-gap: .4em;
	color: #999;
	font-size: 70%;
	letter-spacing: .1em;
    margin: 2em 3.6% min(6vw,60px) auto;
}
.pankuzu li::after {
	content: "ー";
	font-weight: bold;
}
.pankuzu li:last-child::after {
	display: none;
}
.pankuzu a {
	text-decoration: underline;
}
.pankuzu a:hover {
	color: #839453;
	text-decoration: none;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pankuzu {
	font-size: 60%;
	letter-spacing: .02em;
    margin: 1em 4% 10% auto;
}
}

/*---------------------------------------------------------
com_ank_list
---------------------------------------------------------*/
.com_ank_list {
	max-width: 90vw;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	row-gap: 1em;
	font-size: 88%;
	row-gap: 1em;
	margin: 0 auto min(10vw,80px);
}
.com_ank_list a {
	position: relative;
	display: block;
	letter-spacing: .1em;
	line-height: 1.4;
	padding: 0 1.5em;
	transition: color .5s;
}
.com_ank_list a::before {
	display: inline-block;
	font-family: 'fontello';
	content: '\e805';
	color: #839453;
	margin-right: .5em;
	transition: translate .4s;
}
.com_ank_list a:hover {
	color: #839453;
}
.com_ank_list a:hover::before {
	translate: 0 3px;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_ank_list > li:not(:last-of-type) {
	border-right: 1px solid #B2B2B2;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_ank_list {
	flex-wrap: wrap;
	gap: 1.5em 6%;
	font-size: 80%;
}
.com_ank_list > li {
	width: 47%;
	border-bottom: 1px solid #B2B2B2;
}
.com_ank_list a {
	text-align: center;
	letter-spacing: .05em;
	padding: 0 3% 1.5em;
}
.com_ank_list a::before {
	position: absolute;
	font-size: 90%;
	inset: auto 0 .3em 0;
}
}


/*---------------------------------------------------------
 com_lead_box
---------------------------------------------------------*/
.com_lead_box {
	position: relative;
    text-align: center;
}
.com_lead_box .com_h__min {
	text-align: center;
}
.com_lead_box .lead_txt {
	line-height: 2.2;
	margin-inline: auto;
}
.com_lead_box .com_ank_list {
	margin-top: 4.2%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_lead_box .lead_txt {
	text-align: left;
	line-height: 2;
}
.com_lead_box .com_ank_list {
	margin-top: 10%;
}
}


/*---------------------------------------------------------
 title
---------------------------------------------------------*/
/* 英字100px + 明朝20px */
.com_title1 {
	text-align: center;
	font-size: min(2vw,117%);
	letter-spacing: .1em;
	margin-bottom: min(6vw,70px);
}
.com_title1 .ft_agenda_t {
	color: #99C286;
	font-size: 500%;
	letter-spacing: normal;
	line-height: 1;
}
/* 英字35px + 明朝40px */
.com_title2 {
	text-align: center;
	font-size: min(3.5vw,235%);
	letter-spacing: .1em;
	margin-bottom: 1em;
}
.com_title2 .ft_agenda_t {
	font-size: 87%;
	letter-spacing: normal;
	line-height: 1;
	margin-bottom: 1em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_title1 {
	font-size: 100%;
	margin-bottom: 10%;
}
.com_title1 .ft_agenda_t {
	font-size: 320%;
}
.com_title2 {
	font-size: 145%;
	letter-spacing: .05em;
}
}


/*---------------------------------------------------------
 heading
---------------------------------------------------------*/
/* com_h__min */
.com_h__min {
	position: relative;
	font-family: "tot-shizukamin-stdn", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: min(176%,2.8vw);
	line-height: 1.6;
	letter-spacing: .1em;
	margin-bottom: .7em;
}
/* com_h__bg */
.com_h__bg {
	position: relative;
	text-align: center;
	color: #FFF;
	font-family: "tot-shizukamin-stdn", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: min(3vw,205%);
	letter-spacing: .1em;
	line-height: 1.4;
	background-color: #A9B26B;
	padding: .8em;
	margin-bottom: 2em;
}
/* com_h__radi */
.com_h__radi {
	position: relative;
	text-align: center;
	color: #FFF;
	font-family: "tot-shizukamin-stdn", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: min(2.2vw,147%);
	letter-spacing: .1em;
	line-height: 1.3;
	background-color: #B0B0BB;
	border-radius: 100vmax;
	padding: .6em;
	margin-bottom: 1.2em;
}

.h__20 {font-size: min(2vw,117%);}
.h__25 {font-size: min(2.4vw,147%);}
.h__35 {font-size: min(3.2vw,205%);}
.h__40 {font-size: min(3.6vw,235%);}
.h__45 {font-size: min(4.2vw,264%);}
.h__50 {font-size: min(4.4vw,294%);}
.h__60 {font-size: min(5vw,352%);}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_h__bg {
	letter-spacing: .1em;
	margin-bottom: 1.5em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* com_h__min */
.com_h__min {
	font-size: 130%;
	letter-spacing: .06em;
}
/* com_h__bg */
.com_h__bg {
	font-size: 135%;
	letter-spacing: .08em;
	padding: .6em 1em;
	margin-bottom: 1.4em;
}
/* com_h__radi */
.com_h__radi {
	font-size: 125%;
	letter-spacing: .1em;
	padding: .4em 1em;
}

.h__20 {font-size: 125%;}
.h__25 {font-size: 125%;}
.h__27 {font-size: 127%;}
.h__35 {font-size: 140%;}
.h__40 {font-size: 145%;} 
.h__45 {font-size: 150%;} 
.h__50 {font-size: 155%;}
.h__60 {font-size: 165%;}
}

/*---------------------------------------------------------
 deco
---------------------------------------------------------*/
/*com_fuki*/
.com_fuki {
	position: relative;
	text-align: center;
	max-width: max-content;
	letter-spacing: .12em;
	line-height: 1.3;
	margin: 0 auto 1.2em;
}
.com_fuki::before,
.com_fuki::after {
	position: absolute;
	display: inline-block;
	content: "";
	background-color: currentColor;
	width: 1px;
	height: 1.5em;
	bottom: -0.2em;
}
.com_fuki::before {
	rotate: -25deg;
	right: calc(100% + 1.2em);
}
.com_fuki::after {
	rotate: 25deg;
	left: calc(100% + 1.2em);
}
/*com_ccl_txt */
.com_ccl_txt {
    position: relative;
    display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
	color: #FFF;
	font-family: "tot-shizukamin-stdn", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: min(1.6vw,105%);
	line-height: 1.3;
	letter-spacing: .06em;
	font-feature-settings: "palt";
	background: radial-gradient(rgba(103,173,171,0.7), rgba(103,173,171,0.95));
    width: min(8.4em);
    height: min(8.4em);
    box-sizing: border-box;
    border-radius: 50%;
}
.com_ccl_txt span {
	font-size: 130%;
	margin-top: .1em;
}
.com_ccl_txt.pdg_t {padding-top: .6em;}
.com_ccl_txt.pdg_b {padding-bottom: .8em;}

.com_ccl_list {
	display: flex;
	justify-content: center;
	gap: 0 .3em;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*com_fuki*/
.com_fuki {
	font-size: 120%;
	letter-spacing: .1em;
}
.com_fuki::before {
	right: calc(100% + 1.2em);
}
.com_fuki::after {
	left: calc(100% + 1.2em);
}
/*com_ccl_txt */
.com_ccl_txt {
    font-size: 3vw;
}
}


/*---------------------------------------------------------
 bg / border / space
---------------------------------------------------------*/
.com_bg_color {
	position: absolute;
	background-color: #FAF9F7;
	width: 100vw;
	height: 100%;
	left: 0;
	bottom: 0;
	margin-left: calc(50% - 50vw);
	z-index: -1;
}
.com_bg_img {
	position: absolute;
	width: 100vw;
	height: 100%;
	left: 0;
	top: 0;
	margin-left: calc(50% - 50vw);
	z-index: -1;
	overflow: hidden;
}
.com_bg_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/*com_pdg*/
.com_pdg {
	position: relative;
	padding: min(10vw,120px) 0;
}
.com_pdg_s {
	position: relative;
	padding: min(8vw,80px) 0;
}
.com_pdg_l {
	position: relative;
	padding: min(12vw,140px) 0;
}
/*border*/
.bdr_b,.bdr_b_l,.bdr_b_s {
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 1px solid rgba(8,2,2,0.5);
}
.bdr_b_l {
	padding-bottom: 80px;
	margin-bottom: 80px;
}
.bdr_b_s {
	padding-bottom: 45px;
	margin-bottom: 45px;
}
/* com_inbox */
.com_inbox {
	max-width: 1220px;
	margin-inline: auto;
}
.com_inbox.in__1100 {
	max-width: 1100px;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*border*/
.bdr_b {
	padding-bottom: 6%;
	margin-bottom: 6%;
}
.bdr_b_l {
	padding-bottom: 8%;
	margin-bottom: 8%;
}
.bdr_b_s {
	padding-bottom: 5%;
	margin-bottom: 5%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*com_pdg*/
.com_pdg {
	padding: 14% 0;
}
.com_pdg_s {
	padding: 10% 0;
}
.com_pdg_l {
	padding: 15% 0;
}
/*border*/
.bdr_b,
.bdr_b_s {
	padding-bottom: 8%;
	margin-bottom: 9%;
}
.bdr_b_l {
	padding-bottom: 9%;
	margin-bottom: 10%;
}
}


/*---------------------------------------------------------
 list
---------------------------------------------------------*/
.com_list > li {
	position: relative;
	text-align: left;
	line-height: 1.5;
	padding-left: 1.2em;
	margin-bottom: .4em;
}
.com_list > li:last-of-type {
	margin-bottom: 0 !important;
}
.com_list > li::before {
	position: absolute;
	content: "";
	font-weight: normal;
	left: 0;
	top: 0;
}

.list__chk > li {
	padding-left: 2em;
}
.list__chk > li::before {
	font-family: 'fontello';
	content: '\e806';
	font-size: 140%;
	top: -0.2em;
}
.list__point > li::before {
	font-family: 'fontello';
	content: '\e802';
}
.list__dot > li::before {
	content: "・";
}
.list__dash > li::before {
	content: '-';
}
.list__arw > li::before {
	font-family: 'fontello';
	content: '\e801';
}

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.list__col2 {
	display: grid;
	grid-template-columns: repeat(2,max-content);
	column-gap: 7%;
}
}


/*---------------------------------------------------------
 com_flt
---------------------------------------------------------*/
.com_flt {
	text-align: left;
}
.com_flt::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.com_flt .img_l,
.com_flt .img_r {
	max-width: max-content;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_flt .img_l,
.com_flt .img_r {
    width: 40%;
	margin-bottom: .5em;
}
.com_flt .img_l {
	margin-right: 5%;
}
.com_flt .img_r {
	margin-left: 5%;
}
.com_flt .img_r,
.com_flt .txt_r {
	float: right;
}
.com_flt .img_l,
.com_flt .txt_l {
	float: left;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_flt .sp_img_w {
	width: 45%;
}
.com_flt .txt_l,
.com_flt .txt_r {
	width: 100% !important;
	float: none;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_flt .img_l,
.com_flt .img_r {
	width: 80%;
	margin: 0 auto 5%;
}
.com_flt .sp_img_w {
	width: 90%;
}
}


/*---------------------------------------------------------
com_box
---------------------------------------------------------*/
.com_box_radi {
	position: relative;
	max-width: 1100px;
	background-color: #fff;
	border-radius: 30px;
	box-sizing: border-box;
	padding: 3% 9% 6.8%;
	margin-inline: auto;
}
.com_box_radi > .com_h__min {
	text-align: center;
	margin-bottom: 1.4em;
}
.com_box_radi > .com_h__min.h__bdr {
	padding-bottom: 1em;
	border-bottom: 1px solid currentColor;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_box_radi {
	padding: 4% 6% 10%;
	border-radius: 6vw;
}
.com_box_radi > .com_h__min {
	margin-bottom: 1.2em;
}
.com_box_radi > .com_h__min.h__bdr {
	padding-bottom: .8em;
}
}


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

/* 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) {


}


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

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

/* 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) {


} 