@charset "UTF-8";

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

======================================================== */
.fv_area {
	height: 45vw;
	max-height: 500px;
}
.m_img {
    position: absolute;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fv_area {
	height: 65vw;
}
}
/*---------------------------------------------------------
 m_title
---------------------------------------------------------*/
.m_title {
    position: absolute;
	color: #FFF;
	font-size: min(162%,2.4vw);
	letter-spacing: .15em;
	line-height: 1.4;
	white-space: nowrap;
	left: 6.6%;
    top: 70%;
    translate: 0 -50%;
}
.m_title [lang="en"] {
    font: var(--font_wed);
	font-size: min(9.2vw,403%);
	letter-spacing: normal;
	text-transform: uppercase;
    margin-bottom: .2em;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_title {
	font-size: 100%;
}
.m_title [lang="en"] {
	font-size: 210%;
}
}


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

======================================================== */
.com_inbox {
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}
.in__1100 {
    padding: 0 3%;
	max-width: 1100px;
}
.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;
	color: #999;
	font-size: 80%;
	letter-spacing: .1em;
	padding: 2em 6.6%;
    margin-bottom: min(7vw,110px);
}
.pankuzu li::after {
	content: "ー";
	margin: 0 .5em;
}
.pankuzu li:last-child::after {
	display: none;
}
.pankuzu a {
	text-decoration: underline;
}
.pankuzu a:hover {
	color: var(--color_dgrn);
	text-decoration: none;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pankuzu {
	font-size: 60%;
	letter-spacing: .02em;
}
}

/*---------------------------------------------------------
 com_lead_box
---------------------------------------------------------*/
.com_lead_box {
	position: relative;
    text-align: center;
}
.com_lead_box .com_h__bld {
	color: var(--color_dgrn);
}
.com_lead > dd {
	line-height: 2;
} 

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_lead > dd {
	text-align: left;
	line-height: 1.8;
}
}


/*---------------------------------------------------------
 title
---------------------------------------------------------*/
.com_title1 {
	text-align: center;
	margin-bottom: min(6vw,80px);
}
.com_title1 .com_h__en {
	color: #e1e3e5;
	line-height: 0.68;
}
.com_title1 .com_h__bld {
	margin-top: .8em;
	margin-bottom: 0;
}
.com_title1.bdr {
	border-top: 2px solid #e1e3e5;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_title1 {
	margin-bottom: 10%;
}
}


/*---------------------------------------------------------
 heading
---------------------------------------------------------*/
/* com_h__bg */
.com_h__bg {
	position: relative;
	font-size: min(2.2vw,150%);
    font-weight: var(--fw_bold);
	letter-spacing: .15em;
	line-height: 1.3;
	background-color: var(--color_lgry);
    border-left: .25em solid var(--color_red);
	padding: .8em 1.5em;
	margin-bottom: 1.4em;
}
/* com_h__radi */
.com_h__radi {
	position: relative;
	text-align: center;
	color: #FFF;
	font-size: min(2.5vw,176%);
    font-weight: var(--fw_bold);
	letter-spacing: .15em;
	line-height: 1.3;
	background-color: var(--color_dgrn);
	border-radius: 2em;
	padding: .6em 1em;
	margin-bottom: 1em;
}
/* 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__bg {
	font-size: 130%;
	letter-spacing: .08em;
	padding: .6em 1em;
	margin-bottom: 1.4em;
}
.com_h__bg {
	background-size: 12% auto;
}
/* com_h__radi */
.com_h__radi {
	font-size: 120%;
	letter-spacing: .1em;
	padding: .4em 1em;
}
}


/*---------------------------------------------------------
 bg
---------------------------------------------------------*/
.com_bg_color {
	position: relative;
}
.com_bg_color::before {
	position: absolute;
	content: "";
	background-color: #e3e5e7;
	width: 100vw;
	height: 100%;
	left: 0;
	bottom: 0;
	margin-left: calc(50% - 50vw);
	z-index: -1;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}


/*---------------------------------------------------------
 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_ank_list
---------------------------------------------------------*/
.com_ank_list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: .8em;
	margin-bottom: min(8.5vw,130px);
}
.com_ank_list a {
	position: relative;
	display: block;
	min-width: 15em;
	max-width: 100%;
	text-align: center;
	font-size: min(2vw,125%);
	letter-spacing: .15em;
	line-height: 1.3;
	background-color: #edeeef;
	box-sizing: border-box;
	padding: 1.2em .5em 1.4em;
	border-radius: 100vmax;
}
.com_ank_list .com_arw-r {
	position: absolute;
	font-size: 60%;
	rotate: 90deg;
	left: 50%;
	bottom: 0;
	translate: -50% 50%;
}
.com_ank_list a:hover {
	background-color: #dfeded;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_ank_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,49%);
	column-gap: 2%;
	row-gap: 1em;
	margin-bottom: 15%;
}
.com_ank_list a {
	min-width: max-content;
	width: 100%;
	font-size: 90%;
}
}

/*---------------------------------------------------------
 com_box
---------------------------------------------------------*/
.com_box__bg {
    position: relative;
    background-color: #fff;
    box-sizing: border-box;
    padding: 5.4% 5%;
}
.com_box__bg .bg_inbox {
    position: relative;
    background-color: #f1f2f3;
    box-sizing: border-box;
    padding: 4.5%;
	border-radius: 1.2em;
	margin-top: 5%;
}
.com_box__bg .bg_inbox .h__20 {
	text-align: center;
	color: #FFF;
	background-color: #bf7a20;
	padding: .4em;
	margin-bottom: .7em;
	border-radius: 2em;
}
.com_box__bg .bg_inbox .h__20 + P {
	padding: 0 1.4em;
}

.com_box__bg .no_list {
	max-width: 950px;
	list-style: none;
	counter-reset: mycounter;
	margin-left: auto;
	margin-right: auto;
}
.com_box__bg .no_list > li {
	position: relative;
	font-size: 94%;
	padding: 1.2em 6.8% 1.2em 13.6%;
	border-bottom: 1px dashed #ccc;
}
.com_box__bg .no_list > li::before {
	position: absolute;
	display: block;
	counter-increment: mycounter;
	content: counter(mycounter, decimal-leading-zero);
	text-align: center;
	color: #FFF;
	font-size: min(1.5vw,106%);
	letter-spacing: normal;
	line-height: 2.6;
	width: 2.6em;
	border-radius: 50%;
	background-color: var(--color_lgrn);
	left: 9%;
	top: 50%;
	translate: -50% -50%;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_box__bg {
    padding: 9% 7% 10%;
}
.com_box__bg .bg_inbox {
	width: 108%;
    padding: 7% 5% 10%;
	border-radius: .8em;
	margin-top: 7%;
	translate: -4% 0;
}
.com_box__bg .bg_inbox .h__20 + P {
	padding: 0 .4em;
}

.com_box__bg .no_list > li {
	padding: 1em 1% 1em 15%;
}
.com_box__bg .no_list > li::before {
	font-size: 3vw;
	left: 6%;
}
}

/*---------------------------------------------------------
 com_box__chk
---------------------------------------------------------*/
.com_box__chk {
    position: relative;
	width: 85vw;
	max-width: 1100px;
    background-color: #fff;
	margin-inline: auto;
}
.com_box__chk::before {
	height: 78%;
}
.com_box__chk .com_h__en {
	position: absolute;
	max-width: max-content;
	text-align: center;
    color: #abb1b6;
	font-size: min(2vw,143%);
	padding-bottom: .5em;
	border-bottom: 2px solid currentColor;
	inset: -0.5em 0 auto 0;
	margin: auto;
}
.com_box__chk .com_h__bld {
	text-align: center;
	margin-bottom: 5%;
}
.com_box__chk > div {
    position: relative;
	box-sizing: border-box;
	padding: 4%;
}
.com_box__chk .bg_white {
	padding-top: 6%;
}
.com_box__chk .bg_dgrn {
	text-align: center;
    color: #FFF;
	font-size: min(2vw,125%);
	line-height: 1.8;
}
.com_box__chk .list__chk {
	max-width: 830px;
	font-size: min(1.8vw,112%);
	font-weight: var(--fw_bold);
	margin-inline: auto;
}
.com_box__chk .list__chk > li {
	margin-bottom: 1em;
}
.com_box__chk .list__chk > li::before {
	font-weight: bold;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_box__chk {
	width: 90vw;
}
.com_box__chk .com_h__en {
	font-size: 4vw;
}
.com_box__chk .com_h__bld {
	margin-bottom: 7%;
}
.com_box__chk > div {
	padding: 7% 6%;
}
.com_box__chk .bg_white {
	padding-top: 12%;
}
.com_box__chk .bg_dgrn {
	font-size: 105%;
}
.com_box__chk .list__chk {
	max-width: max-content;
	font-size: 95%;
}
.com_box__chk .list__chk > li {
	margin-bottom: .6em;
}
}

/*---------------------------------------------------------
 com_col_list
---------------------------------------------------------*/
.com_col_list > * {
	color: #FFF;
	background-color: var(--color_dgrn);
	box-sizing: border-box;
	padding: 10% 8%;
	border-radius: 1.2em;
}
.com_col_list dt {
	text-align: center;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.com_col_list {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(2,49%);
	row-gap: 2em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_col_list > * {
	margin-top: 3%;
}
}


/*---------------------------------------------------------
 com_flow
---------------------------------------------------------*/
.com_flow {
	position: relative;
	list-style: none;
	counter-reset: flowCounter;
}
.com_flow > li {
	display: grid;
	justify-content: space-between;
	grid-template-columns: 10% 87%;
	margin-bottom: 4.9%;
}
.com_flow > li:last-of-type {
	margin-bottom: 0;
}
.com_flow .flow_no {
	color: var(--color_dgrn);
	font: var(--font_wed);
	font-size: min(1.1vw,81%);
	letter-spacing: normal;
	background-color: #fff;
    width: min(9.2em);
    height: min(9.2em);
}
.com_flow .flow_no::after {
	display: block;
	counter-increment: flowCounter;
	content: counter(flowCounter, decimal-leading-zero);
	font-size: 230%;
	margin-top: .1em;
}
.com_flow .flow_no::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/flow_arrow.svg) no-repeat center center;
	background-size: contain;
	width: .9em;
	height: 1.15em;
	inset: calc(100% + 1.5em) 0 auto 0;
	margin: auto;
}
.com_flow > li:last-of-type .flow_no::before {
	display: none;
}
.com_flow .com_h__bld {
	color: var(--color_dgrn);
	margin-bottom: .6em;
}
.com_flow .com_flt {
	width: 100%;
}
.com_flow .com_flt .img_r {
	max-width: 340px;
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_flow > li {
	display: block;
	margin-bottom: 10%;
}
.com_flow .flow_no {
	position: absolute;
	font-size: 2vw;
	left: 6%;
}
.com_flow .com_flt {
	width: 90%;
	margin-inline: auto;
}
.com_flow .com_flt .img_r {
	width: 65%;
	margin-right: 5%;
}
}



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

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


}




/* ========================================================
  
  f_bnr

======================================================== */
.f_bnr {
    background-color: #fff;
}
.f_bnr .bnr_list {
    display: grid;
    grid-template-columns: 19.6% 19.6% 60.8%;
    text-align: center;
    font-size: min(2.1vw,156%);
    letter-spacing: .15em;
    line-height: 1.25;
}
.f_bnr .bnr_list > li {
    border-right: 1px solid #ccc;
}
.f_bnr .bnr_list > li:first-of-type {
    border-left: 1px solid #ccc;
}
.f_bnr .bnr_list a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    box-sizing: border-box;
    padding: .5em;
}
.f_bnr .bnr_list a > * {
    position: relative;
}
.f_bnr .bnr_list [lang="en"] {
    display: block;
    color: #999;
    font: var(--font_wed);
    font-size: 60%;
    letter-spacing: normal;
    margin-bottom: .8em;
}
.f_bnr .bnr_list .com_arw-r {
    font-size: 56%;
    margin: 1em auto 0;
}
/* rec_list */
.f_bnr .rec_list {
    display: grid;
    justify-content: space-between;
    grid-template-columns: repeat(2,49.5%);
}
.f_bnr .rec_list a {
    height: 5.65em;
    color: #FFF;
    font-size: 92%;
	font-weight: var(--fw_bold);
}
.f_bnr .rec_list .img_wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.f_bnr .rec_list .com_arw-r {
    position: absolute;
    left: 50%;
    bottom: 0;
    translate: -50% 40%;
    margin-top: 0;
}
.f_bnr .rec_list .com_arw-r {
    font-size: 60%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
.f_bnr .bnr_list > li:last-of-type {
    display: grid;
    grid-template-columns: 32% 68%;
    padding-right: 5%;
}
.f_bnr .bnr_list > li:last-of-type [lang="en"] {
    margin-bottom: 1.8em;
}
.f_bnr .bnr_list > li:last-of-type div {
    align-self: center;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_bnr .bnr_list {
    display: grid;
    grid-template-columns: 50% 50%;
    font-size: 105%;
}
.f_bnr .bnr_list > li:last-of-type {
    grid-column: 1 / 3;
    border-right: none;
    margin-top: 5%;
}
/* rec_list */
.f_bnr .rec_list {
    margin-top: 3%;
}
.f_bnr .rec_list a {
    font-size: 100%;
}
}



/* ========================================================
  
  footer

======================================================== */
.f_logo {
    width: 80%;
	max-width: 362px;
    margin-bottom: 1.5em;
}
footer address a {
    display: inline-block;
    color: #808080;
    margin-left: .5em;
}
footer .com_list {
    font-size: 94%;
    margin-top: .5em;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
footer .col_info,
footer .col_site {
	display: grid;
    justify-content: space-between;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}
/* col_info */
footer .col_info {
    grid-template-columns: 33% 67%;
    align-items: center;
    margin-bottom: 8.2%;
}
.f_schedule {
	border-right: 1px solid #999;
    padding-right: 8%;
}
.f_contact {
    display: flex;
    column-gap: 5%;
	padding-left: 11%;
}
/* col_site */
footer .col_site {
    grid-template-columns: 50% 46%;
}
.f_sitemap ul {
	grid-template-rows: repeat(6, auto);
}

footer .copyright {
	text-align: right;
    margin-top: -2em;
    margin-right: 2em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_sitemap ul {
	grid-template-rows: repeat(8, auto);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* col_info */
footer .col_info {
    text-align: center;
    margin-bottom: 8%;
}
.f_schedule {
	border-bottom: 1px solid #999;
    padding-bottom: 6%;
    margin-bottom: 7%;
}
.f_contact .com_tel {
    margin-bottom: 1em;
}
/* col_site */
.f_logo {
    margin: 0 auto 5%;
}
footer address {
    text-align: center;
}
footer .com_list {
    max-width: max-content;
    font-size: 85%;
    margin: .5em auto 0;
}
/* col_site */
.f_sitemap {
    margin-top: 8%;
}
}


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

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

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


} 