@charset "utf-8";

/* common
****************************************************/
*{ margin:0; padding:0; word-break:break-all; }
body{ font-size:15px; font-family:Meiryo, "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif; color:#000000; line-height: 1.8; }
img{ border:none; font-size:0; vertical-align:top; }
ul{ list-style-type:none; line-height:200%; }
a{ text-decoration:none; color:#000000; }
a:hover{ text-decoration:underline; }
a:hover img{ opacity: 0.8; }

.cf::after{
  content: "";
  display: block;
  clear: both;
}

/*===================================================================================
デバイス（Device）
===================================================================================*/
.sp-only { display: block !important; }
.pc-only { display: none !important; }
@media screen and (min-width: 600px) {
  .sp-only { display: none !important; }
  .pc-only { display: block !important; }
}

/*===================================================================================
グリッドレイアウト（Grid Layout）
===================================================================================*/
.d-grid { display: grid; }
.g-gap10px { gap: 10px; }
.g-gap20px { gap: 20px; }
.g-gap30px { gap: 30px; }
.g-gap40px { gap: 40px; }
.g-gap50px { gap: 50px; }
.g-clm-gap10px { column-gap: 10px; }
.g-clm-gap20px { column-gap: 20px; }
.g-clm-gap30px { column-gap: 30px; }
.g-clm-gap40px { column-gap: 40px; }
.g-clm-gap50px { column-gap: 50px; }
.g-row-gap10px { row-gap: 10px; }
.g-row-gap20px { row-gap: 20px; }
.g-row-gap30px { row-gap: 30px; }
.g-row-gap40px { row-gap: 40px; }
.g-row-gap50px { row-gap: 50px; }
@media screen and (min-width: 600px) {
  .pc_d-grid { display: grid; }
  .pc_gtc-2clm { grid-template-columns: repeat(2, 1fr); }
  .pc_gtc-3clm { grid-template-columns: repeat(3, 1fr); }
  .pc_gtc-4clm { grid-template-columns: repeat(4, 1fr); }
  .pc_g-gap10px { gap: 10px; }
  .pc_g-gap20px { gap: 20px; }
  .pc_g-gap30px { gap: 30px; }
  .pc_g-gap40px { gap: 40px; }
  .pc_g-gap50px { gap: 50px; }
  .pc_g-clm-gap10px { column-gap: 10px; }
  .pc_g-clm-gap20px { column-gap: 20px; }
  .pc_g-clm-gap30px { column-gap: 30px; }
  .pc_g-clm-gap40px { column-gap: 40px; }
  .pc_g-clm-gap50px { column-gap: 50px; }
  .pc_g-row-gap10px { row-gap: 10px; }
  .pc_g-row-gap20px { row-gap: 20px; }
  .pc_g-row-gap30px { row-gap: 30px; }
  .pc_g-row-gap40px { row-gap: 40px; }
  .pc_g-row-gap50px { row-gap: 50px; }
}
@media screen and (max-width: 599px) {
  .sp_d-grid { display: grid; }
  .sp_gtc-1clm { grid-template-columns: 1fr; }
  .sp_g-gap10px { gap: 10px; }
  .sp_g-gap20px { gap: 20px; }
  .sp_g-gap30px { gap: 30px; }
  .sp_g-gap40px { gap: 40px; }
  .sp_g-gap50px { gap: 50px; }
  .sp_g-clm-gap10px { column-gap: 10px; }
  .sp_g-clm-gap20px { column-gap: 20px; }
  .sp_g-clm-gap30px { column-gap: 30px; }
  .sp_g-clm-gap40px { column-gap: 40px; }
  .sp_g-clm-gap50px { column-gap: 50px; }
  .sp_g-row-gap10px { row-gap: 10px; }
  .sp_g-row-gap20px { row-gap: 20px; }
  .sp_g-row-gap30px { row-gap: 30px; }
  .sp_g-row-gap40px { row-gap: 40px; }
  .sp_g-row-gap50px { row-gap: 50px; }
}

/*===================================================================================
フレックスボックス（Flexbox）
===================================================================================*/
.d-flex { display: flex; }
.d-il-flex { display: inline-flex; }
.fd-row { flex-direction: row; }
.fd-row-reverse { flex-direction: row-reverse; }
.fd-column { flex-direction: column; }
.fd-column-reverse { flex-direction: column-reverse; }
.fw-wrap { flex-wrap: wrap; }
.fw-nowrap { flex-wrap: nowrap; }
.jc-start { justify-content: flex-start; }
.jc-end { justify-content: flex-end; }
.jc-center { justify-content: center; }
.jc-between { justify-content: space-between; }
.jc-around { justify-content: space-around; }
.jc-evenly { justify-content: space-evenly; }
.ai-start { align-items: flex-start; }
.ai-end { align-items: flex-end; }
.ai-center { align-items: center; }
.f-gap10px { gap: 10px; }
.f-gap20px { gap: 20px; }
.f-gap30px { gap: 30px; }
.f-gap40px { gap: 40px; }
.f-gap50px { gap: 50px; }
.f-clm-gap10px { column-gap: 10px; }
.f-clm-gap20px { column-gap: 20px; }
.f-clm-gap30px { column-gap: 30px; }
.f-clm-gap40px { column-gap: 40px; }
.f-clm-gap50px { column-gap: 50px; }
.f-row-gap10px { row-gap: 10px; }
.f-row-gap20px { row-gap: 20px; }
.f-row-gap30px { row-gap: 30px; }
.f-row-gap40px { row-gap: 40px; }
.f-row-gap50px { row-gap: 50px; }
@media screen and (min-width: 600px) {
  .pc_d-flex { display: flex; }
  .pc_fd-column { flex-direction: column; }
  .pc_fd-column-reverse { flex-direction: column-reverse; }
  .pc_fw-wrap { flex-wrap: wrap; }
  .pc_fw-nowrap { flex-wrap: nowrap; }
  .pc_jc-start { justify-content: flex-start; }
  .pc_jc-end { justify-content: flex-end; }
  .pc_jc-center { justify-content: center; }
  .pc_jc-between { justify-content: space-between; }
  .pc_jc-around { justify-content: space-around; }
  .pc_jc-evenly { justify-content: space-evenly; }
  .pc_ai-start { align-items: flex-start; }
  .pc_ai-end { align-items: flex-end; }
  .pc_ai-center { align-items: center; }
  .pc_f-clm-gap10px { column-gap: 10px; }
  .pc_f-clm-gap20px { column-gap: 20px; }
  .pc_f-clm-gap30px { column-gap: 30px; }
  .pc_f-clm-gap40px { column-gap: 40px; }
  .pc_f-clm-gap50px { column-gap: 50px; }
  .pc_f-row-gap10px { row-gap: 10px; }
  .pc_f-row-gap20px { row-gap: 20px; }
  .pc_f-row-gap30px { row-gap: 30px; }
  .pc_f-row-gap40px { row-gap: 40px; }
  .pc_f-row-gap50px { row-gap: 50px; }
  .pc_f-gap10px { gap: 10px; }
  .pc_f-gap20px { gap: 20px; }
  .pc_f-gap30px { gap: 30px; }
  .pc_f-gap40px { gap: 40px; }
  .pc_f-gap50px { gap: 50px; }
}
@media screen and (max-width: 599px) {
  .sp_d-flex { display: flex; }
  .sp_fd-column { flex-direction: column; }
  .sp_fd-column-reverse { flex-direction: column-reverse; }
  .sp_fw-wrap { flex-wrap: wrap; }
  .sp_fw-nowrap { flex-wrap: nowrap; }
  .sp_jc-start { justify-content: flex-start; }
  .sp_jc-end { justify-content: flex-end; }
  .sp_jc-center { justify-content: center; }
  .sp_jc-between { justify-content: space-between; }
  .sp_jc-around { justify-content: space-around; }
  .sp_jc-evenly { justify-content: space-evenly; }
  .sp_ai-start { align-items: flex-start; }
  .sp_ai-end { align-items: flex-end; }
  .sp_ai-center { align-items: center; }
  .sp_f-clm-gap10px { column-gap: 10px; }
  .sp_f-clm-gap20px { column-gap: 20px; }
  .sp_f-clm-gap30px { column-gap: 30px; }
  .sp_f-clm-gap40px { column-gap: 40px; }
  .sp_f-clm-gap50px { column-gap: 50px; }
  .sp_f-row-gap10px { row-gap: 10px; }
  .sp_f-row-gap20px { row-gap: 20px; }
  .sp_f-row-gap30px { row-gap: 30px; }
  .sp_f-row-gap40px { row-gap: 40px; }
  .sp_f-row-gap50px { row-gap: 50px; }
  .sp_f-gap10px { gap: 10px; }
  .sp_f-gap20px { gap: 20px; }
  .sp_f-gap30px { gap: 30px; }
  .sp_f-gap40px { gap: 40px; }
  .sp_f-gap50px { gap: 50px; }
}

/* width
****************************************************/
.min-w20px { min-width: 20px; }
.min-w30px { min-width: 30px; }
.min-w50px { min-width: 50px; }

/*===================================================================================
横幅（width）
===================================================================================*/
.min-w100px { min-width: 100px; }
.min-w110px { min-width: 110px; }
.max-w100px { max-width: 100px; }

.w100px { width: 100px; }

.w50per { width: 50%; }
.w100per { width: 100%; }
@media screen and (min-width: 600px) {
  .pc_min-w100px { min-width: 100px; }
  .pc_max-w100px { max-width: 100px; }

  .pc_w100px { width: 100px; }

  .pc_w50per { width: 50%; }
	.pc_w70per { width: 70%; }
	.pc_w80per { width: 80%; }
  .pc_w100per { width: 100%; }
}
@media screen and (max-width: 599px) {
  .sp_min-w100px { min-width: 100px; }
  .sp-max-w100px { max-width: 100px; }

  .sp_w100px { width: 100px; }

  .sp_w50per { width: 50%; }
  .sp_w100per { width: 100%; }
}

/* margin
****************************************************/
/*======== top ==============*/
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
/*======== bottom ==============*/
.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
/*======== left ==============*/
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
/*======== right ==============*/
.mr10 { margin-right: 10px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }

/* padding
****************************************************/
/*======== top ==============*/
.pt10 { margin-top: 10px; }
.pt20 { margin-top: 20px; }
.pt30 { margin-top: 30px; }
.pt40 { margin-top: 40px; }
.pt50 { margin-top: 50px; }
/*======== bottom ==============*/
.pb10 { margin-bottom: 10px; }
.pb20 { margin-bottom: 20px; }
.pb30 { margin-bottom: 30px; }
.pb40 { margin-bottom: 40px; }
.pb50 { margin-bottom: 50px; }
/*======== left ==============*/
.pl10 { margin-left: 10px; }
.pl20 { margin-left: 20px; }
.pl30 { margin-left: 30px; }
.pl40 { margin-left: 40px; }
.pl50 { margin-left: 50px; }
@media screen and (max-width: 599px) {
	.sp_pl20 { padding-left: 20px; }
}
/*======== right ==============*/
.pr10 { margin-right: 10px; }
.pr20 { margin-right: 20px; }
.pr30 { margin-right: 30px; }
.pr40 { margin-right: 40px; }
.pr50 { margin-right: 50px; }
@media screen and (max-width: 599px) {
	.sp_pr20 { padding-right: 20px; }
}

/*===================================================================================
マージン（margin）
===================================================================================*/
.mgauto { margin: auto; }
.mg5px { margin: 5px; }
.mg10px { margin: 10px; }
.mg15px { margin: 15px; }
.mg20px { margin: 20px; }
.mg25px { margin: 25px; }
.mg30px { margin: 30px; }
.mg35px { margin: 35px; }
.mg40px { margin: 40px; }
.mg45px { margin: 45px; }
.mg50px { margin: 50px; }
.mg55px { margin: 55px; }
.mg60px { margin: 60px; }
.mg65px { margin: 65px; }
.mg70px { margin: 70px; }
.mg75px { margin: 75px; }
.mg80px { margin: 80px; }
.mg85px { margin: 85px; }
.mg90px { margin: 90px; }
.mg95px { margin: 95px; }
.mg100px { margin: 100px; }

.mg10per { margin: 10%; }
.mg20per { margin: 20%; }
.mg30per { margin: 30%; }
.mg40per { margin: 40%; }
.mg50per { margin: 50%; }

.mg1em { margin: 1em; }
.mg1\.5em { margin: 1.5em; }
.mg2em { margin: 2em; }
.mg3em { margin: 3em; }
.mg4em { margin: 4em; }
.mg5em { margin: 5em; }

.mg1rem { margin: 1rem; }
.mg2rem { margin: 2rem; }
.mg3rem { margin: 3rem; }
.mg4rem { margin: 4rem; }
.mg5rem { margin: 5rem; }

/* top */
.mtauto { margin-top: auto; }
.mt5px { margin-top: 5px; }
.mt10px { margin-top: 10px; }
.mt15px { margin-top: 15px; }
.mt20px { margin-top: 20px; }
.mt25px { margin-top: 25px; }
.mt30px { margin-top: 30px; }
.mt35px { margin-top: 35px; }
.mt40px { margin-top: 40px; }
.mt45px { margin-top: 45px; }
.mt50px { margin-top: 50px; }
.mt55px { margin-top: 55px; }
.mt60px { margin-top: 60px; }
.mt65px { margin-top: 65px; }
.mt70px { margin-top: 70px; }
.mt75px { margin-top: 75px; }
.mt80px { margin-top: 80px; }
.mt85px { margin-top: 85px; }
.mt90px { margin-top: 90px; }
.mt95px { margin-top: 95px; }
.mt100px { margin-top: 100px; }

.mt10per { margin-top: 10%; }
.mt20per { margin-top: 20%; }
.mt30per { margin-top: 30%; }
.mt40per { margin-top: 40%; }
.mt50per { margin-top: 50%; }

.mt1em { margin-top: 1em; }
.mt1\.5em { margin-top: 1.5em; }
.mt2em { margin-top: 2em; }
.mt3em { margin-top: 3em; }
.mt4em { margin-top: 4em; }
.mt5em { margin-top: 5em; }

.mt1rem { margin-top: 1rem; }
.mt2rem { margin-top: 2rem; }
.mt3rem { margin-top: 3rem; }
.mt4rem { margin-top: 4rem; }
.mt5rem { margin-top: 5rem; }

/* left */
.mlauto { margin-left: auto; }
.ml5px { margin-left: 5px; }
.ml10px { margin-left: 10px; }
.ml15px { margin-left: 15px; }
.ml20px { margin-left: 20px; }
.ml25px { margin-left: 25px; }
.ml30px { margin-left: 30px; }
.ml35px { margin-left: 35px; }
.ml40px { margin-left: 40px; }
.ml45px { margin-left: 45px; }
.ml50px { margin-left: 50px; }
.ml55px { margin-left: 55px; }
.ml60px { margin-left: 60px; }
.ml65px { margin-left: 65px; }
.ml70px { margin-left: 70px; }
.ml75px { margin-left: 75px; }
.ml80px { margin-left: 80px; }
.ml85px { margin-left: 85px; }
.ml90px { margin-left: 90px; }
.ml95px { margin-left: 95px; }
.ml100px { margin-left: 100px; }

.ml10per { margin-left: 10%; }
.ml20per { margin-left: 20%; }
.ml30per { margin-left: 30%; }
.ml40per { margin-left: 40%; }
.ml50per { margin-left: 50%; }

.ml1em { margin-left: 1em; }
.ml1\.5em { margin-left: 1.5em; }
.ml2em { margin-left: 2em; }
.ml3em { margin-left: 3em; }
.ml4em { margin-left: 4em; }
.ml5em { margin-left: 5em; }

.ml1rem { margin-left: 1rem; }
.ml2rem { margin-left: 2rem; }
.ml3rem { margin-left: 3rem; }
.ml4rem { margin-left: 4rem; }
.ml5rem { margin-left: 5rem; }

/* right */
.mrauto { margin-right: auto; }
.mr5px { margin-right: 5px; }
.mr10px { margin-right: 10px; }
.mr15px { margin-right: 15px; }
.mr20px { margin-right: 20px; }
.mr25px { margin-right: 25px; }
.mr30px { margin-right: 30px; }
.mr35px { margin-right: 35px; }
.mr40px { margin-right: 40px; }
.mr45px { margin-right: 45px; }
.mr50px { margin-right: 50px; }
.mr55px { margin-right: 55px; }
.mr60px { margin-right: 60px; }
.mr65px { margin-right: 65px; }
.mr70px { margin-right: 70px; }
.mr75px { margin-right: 75px; }
.mr80px { margin-right: 80px; }
.mr85px { margin-right: 85px; }
.mr90px { margin-right: 90px; }
.mr95px { margin-right: 95px; }
.mr100px { margin-right: 100px; }

.mr10per { margin-right: 10%; }
.mr20per { margin-right: 20%; }
.mr30per { margin-right: 30%; }
.mr40per { margin-right: 40%; }
.mr50per { margin-right: 50%; }

.mr1em { margin-right: 1em; }
.mr1\.5em { margin-right: 1.5em; }
.mr2em { margin-right: 2em; }
.mr3em { margin-right: 3em; }
.mr4em { margin-right: 4em; }
.mr5em { margin-right: 5em; }

.mr1rem { margin-right: 1rem; }
.mr2rem { margin-right: 2rem; }
.mr3rem { margin-right: 3rem; }
.mr4rem { margin-right: 4rem; }
.mr5rem { margin-right: 5rem; }

/* bottom */
.mbauto { margin-bottom: auto; }
.mb5px { margin-bottom: 5px; }
.mb10px { margin-bottom: 10px; }
.mb15px { margin-bottom: 15px; }
.mb20px { margin-bottom: 20px; }
.mb25px { margin-bottom: 25px; }
.mb30px { margin-bottom: 30px; }
.mb35px { margin-bottom: 35px; }
.mb40px { margin-bottom: 40px; }
.mb45px { margin-bottom: 45px; }
.mb50px { margin-bottom: 50px; }
.mb55px { margin-bottom: 55px; }
.mb60px { margin-bottom: 60px; }
.mb65px { margin-bottom: 65px; }
.mb70px { margin-bottom: 70px; }
.mb75px { margin-bottom: 75px; }
.mb80px { margin-bottom: 80px; }
.mb85px { margin-bottom: 85px; }
.mb90px { margin-bottom: 90px; }
.mb95px { margin-bottom: 95px; }
.mb100px { margin-bottom: 100px; }

.mb10per { margin-bottom: 10%; }
.mb20per { margin-bottom: 20%; }
.mb30per { margin-bottom: 30%; }
.mb40per { margin-bottom: 40%; }
.mb50per { margin-bottom: 50%; }

.mb1em { margin-bottom: 1em; }
.mb1\.5em { margin-bottom: 1.5em; }
.mb2em { margin-bottom: 2em; }
.mb3em { margin-bottom: 3em; }
.mb4em { margin-bottom: 4em; }
.mb5em { margin-bottom: 5em; }

.mb1rem { margin-bottom: 1rem; }
.mb2rem { margin-bottom: 2rem; }
.mb3rem { margin-bottom: 3rem; }
.mb4rem { margin-bottom: 4rem; }
.mb5rem { margin-bottom: 5rem; }
@media screen and (min-width: 600px) {
  .pc_mg10px { margin: 10px; }
  .pc_mg20px { margin: 20px; }
  .pc_mg30px { margin: 30px; }
  .pc_mg50px { margin: 40px; }
  .pc_mg50px { margin: 50px; }

  /* top */
  .pc_mt10px { margin-top: 10px; }
  .pc_mt20px { margin-top: 20px; }
  .pc_mt30px { margin-top: 30px; }
  .pc_mt40px { margin-top: 40px; }
  .pc_mt50px { margin-top: 50px; }

  /* left */
  .pc_ml10px { margin-left: 10px; }
  .pc_ml20px { margin-left: 20px; }
  .pc_ml30px { margin-left: 30px; }
  .pc_ml40px { margin-left: 40px; }
  .pc_ml50px { margin-left: 50px; }

  /* right */
  .pc_mr10px { margin-right: 10px; }
  .pc_mr20px { margin-right: 20px; }
  .pc_mr30px { margin-right: 30px; }
  .pc_mr40px { margin-right: 40px; }
  .pc_mr50px { margin-right: 50px; }

  /* bottom */
  .pc_mb10px { margin-bottom: 10px; }
  .pc_mb20px { margin-bottom: 20px; }
  .pc_mb30px { margin-bottom: 30px; }
  .pc_mb40px { margin-bottom: 40px; }
  .pc_mb50px { margin-bottom: 50px; }
}
@media screen and (max-width: 599px) {
  .sp_mg10px { margin: 10px; }
  .sp_mg20px { margin: 20px; }
  .sp_mg30px { margin: 30px; }
  .sp_mg40px { margin: 40px; }
  .sp_mg50px { margin: 50px; }

  /* top */
  .sp_mt10px { margin-top: 10px; }
  .sp_mt20px { margin-top: 20px; }
  .sp_mt30px { margin-top: 30px; }
  .sp_mt40px { margin-top: 40px; }
  .sp_mt50px { margin-top: 50px; }

  /* left */
  .sp_ml10px { margin-left: 10px; }
  .sp_ml20px { margin-left: 20px; }
  .sp_ml30px { margin-left: 30px; }
  .sp_ml40px { margin-left: 40px; }
  .sp_ml50px { margin-left: 50px; }

  /* right */
  .sp_mr10px { margin-right: 10px; }
  .sp_mr20px { margin-right: 20px; }
  .sp_mr30px { margin-right: 30px; }
  .sp_mr40px { margin-right: 40px; }
  .sp_mr50px { margin-right: 50px; }

  /* bottom */
  .sp_mb10px { margin-bottom: 10px; }
  .sp_mb20px { margin-bottom: 20px; }
  .sp_mb30px { margin-bottom: 30px; }
  .sp_mb40px { margin-bottom: 40px; }
  .sp_mb50px { margin-bottom: 50px; }
}

/*===================================================================================
パディング（padding）
===================================================================================*/
.pd5px { padding: 5px; }
.pd10px { padding: 10px; }
.pd15px { padding: 15px; }
.pd20px { padding: 20px; }
.pd25px { padding: 25px; }
.pd30px { padding: 30px; }
.pd35px { padding: 35px; }
.pd40px { padding: 40px; }
.pd45px { padding: 45px; }
.pd50px { padding: 50px; }
.pd55px { padding: 55px; }
.pd60px { padding: 60px; }
.pd65px { padding: 65px; }
.pd70px { padding: 70px; }
.pd75px { padding: 75px; }
.pd80px { padding: 80px; }
.pd85px { padding: 85px; }
.pd90px { padding: 90px; }
.pd95px { padding: 95px; }
.pd100px { padding: 100px; }

.pd10per { padding: 10%; }
.pd20per { padding: 20%; }
.pd30per { padding: 30%; }
.pd40per { padding: 40%; }
.pd50per { padding: 50%; }

.pd1em { padding: 1em; }
.pd1\.5em { padding: 1.5em; }
.pd2em { padding: 2em; }
.pd3em { padding: 3em; }
.pd4em { padding: 4em; }
.pd5em { padding: 5em; }

.pd1rem { padding: 1rem; }
.pd2rem { padding: 2rem; }
.pd3rem { padding: 3rem; }
.pd4rem { padding: 4rem; }
.pd5rem { padding: 5rem; }

/* top */
.pt5px { padding-top: 5px; }
.pt10px { padding-top: 10px; }
.pt15px { padding-top: 15px; }
.pt20px { padding-top: 20px; }
.pt25px { padding-top: 25px; }
.pt30px { padding-top: 30px; }
.pt35px { padding-top: 35px; }
.pt40px { padding-top: 40px; }
.pt45px { padding-top: 45px; }
.pt50px { padding-top: 50px; }
.pt55px { padding-top: 55px; }
.pt60px { padding-top: 60px; }
.pt65px { padding-top: 65px; }
.pt70px { padding-top: 70px; }
.pt75px { padding-top: 75px; }
.pt80px { padding-top: 80px; }
.pt85px { padding-top: 85px; }
.pt90px { padding-top: 90px; }
.pt95px { padding-top: 95px; }
.pt100px { padding-top: 100px; }

.pd10per { padding-top: 10%; }
.pd20per { padding-top: 20%; }
.pd30per { padding-top: 30%; }
.pd40per { padding-top: 40%; }
.pd50per { padding-top: 50%; }

.pt1em { padding-top: 1em; }
.pt1\.5em { padding-top: 1.5em; }
.pt2em { padding-top: 2em; }
.pt3em { padding-top: 3em; }
.pt4em { padding-top: 4em; }
.pt5em { padding-top: 5em; }

.pt1rem { padding-top: 1rem; }
.pt2rem { padding-top: 2rem; }
.pt3rem { padding-top: 3rem; }
.pt4rem { padding-top: 4rem; }
.pt5rem { padding-top: 5rem; }

/* left */
.pl5px { padding-left: 5px; }
.pl10px { padding-left: 10px; }
.pl15px { padding-left: 15px; }
.pl20px { padding-left: 20px; }
.pl25px { padding-left: 25px; }
.pl30px { padding-left: 30px; }
.pl35px { padding-left: 35px; }
.pl40px { padding-left: 40px; }
.pl45px { padding-left: 45px; }
.pl50px { padding-left: 50px; }
.pl55px { padding-left: 55px; }
.pl60px { padding-left: 60px; }
.pl65px { padding-left: 65px; }
.pl70px { padding-left: 70px; }
.pl75px { padding-left: 75px; }
.pl80px { padding-left: 80px; }
.pl85px { padding-left: 85px; }
.pl90px { padding-left: 90px; }
.pl95px { padding-left: 95px; }
.pl100px { padding-left: 100px; }

.pl10per { padding-left: 10%; }
.pl20per { padding-left: 20%; }
.pl30per { padding-left: 30%; }
.pl40per { padding-left: 40%; }
.pl50per { padding-left: 50%; }

.pl1em { padding-left: 1em; }
.pl1\.5em { padding-left: 1.5em; }
.pl2em { padding-left: 2em; }
.pl3em { padding-left: 3em; }
.pl4em { padding-left: 4em; }
.pl5em { padding-left: 5em; }

.pl1rem { padding-left: 1rem; }
.pl2rem { padding-left: 2rem; }
.pl3rem { padding-left: 3rem; }
.pl4rem { padding-left: 4rem; }
.pl5rem { padding-left: 5rem; }

/* right */
.pr5px { padding-right: 5px; }
.pr10px { padding-right: 10px; }
.pr15px { padding-right: 15px; }
.pr20px { padding-right: 20px; }
.pr25px { padding-right: 25px; }
.pr30px { padding-right: 30px; }
.pr35px { padding-right: 35px; }
.pr40px { padding-right: 40px; }
.pr45px { padding-right: 45px; }
.pr50px { padding-right: 50px; }
.pr55px { padding-right: 55px; }
.pr60px { padding-right: 60px; }
.pr65px { padding-right: 65px; }
.pr70px { padding-right: 70px; }
.pr75px { padding-right: 75px; }
.pr80px { padding-right: 80px; }
.pr85px { padding-right: 85px; }
.pr90px { padding-right: 90px; }
.pr95px { padding-right: 95px; }
.pr100px { padding-right: 100px; }

.pr10per { padding-right: 10%; }
.pr20per { padding-right: 20%; }
.pr30per { padding-right: 30%; }
.pr40per { padding-right: 40%; }
.pr50per { padding-right: 50%; }

.pr1em { padding-right: 1em; }
.pr1\.5em { padding-right: 1.5em; }
.pr2em { padding-right: 2em; }
.pr3em { padding-right: 3em; }
.pr4em { padding-right: 4em; }
.pr5em { padding-right: 5em; }

.pr1rem { padding-right: 1rem; }
.pr2rem { padding-right: 2rem; }
.pr3rem { padding-right: 3rem; }
.pr4rem { padding-right: 4rem; }
.pr5rem { padding-right: 5rem; }

/* bottom */
.pb5px { padding-bottom: 5px; }
.pb10px { padding-bottom: 10px; }
.pb15px { padding-bottom: 15px; }
.pb20px { padding-bottom: 20px; }
.pb25px { padding-bottom: 25px; }
.pb30px { padding-bottom: 30px; }
.pb35px { padding-bottom: 35px; }
.pb40px { padding-bottom: 40px; }
.pb45px { padding-bottom: 45px; }
.pb50px { padding-bottom: 50px; }
.pb55px { padding-bottom: 55px; }
.pb60px { padding-bottom: 60px; }
.pb65px { padding-bottom: 65px; }
.pb70px { padding-bottom: 70px; }
.pb75px { padding-bottom: 75px; }
.pb80px { padding-bottom: 80px; }
.pb85px { padding-bottom: 85px; }
.pb90px { padding-bottom: 90px; }
.pb95px { padding-bottom: 95px; }
.pb100px { padding-bottom: 100px; }

.pb10per { padding-bottom: 10%; }
.pb20per { padding-bottom: 20%; }
.pb30per { padding-bottom: 30%; }
.pb40per { padding-bottom: 40%; }
.pb50per { padding-bottom: 50%; }

.pb1em { padding-bottom: 1em; }
.pb1\.5em { padding-bottom: 1.5em; }
.pb2em { padding-bottom: 2em; }
.pb3em { padding-bottom: 3em; }
.pb4em { padding-bottom: 4em; }
.pb5em { padding-bottom: 5em; }

.pb1rem { padding-bottom: 1rem; }
.pb2rem { padding-bottom: 2rem; }
.pb3rem { padding-bottom: 3rem; }
.pb4rem { padding-bottom: 4rem; }
.pb5rem { padding-bottom: 5rem; }
@media screen and (min-width: 600px) {
  .pc_pd10px { padding: 10px; }
  .pc_pd20px { padding: 20px; }
  .pc_pd30px { padding: 30px; }
  .pc_pd40px { padding: 40px; }
  .pc_pd50px { padding: 50px; }

  /* top */
  .pc_pt10px { padding-top: 10px; }
  .pc_pt20px { padding-top: 20px; }
  .pc_pt30px { padding-top: 30px; }
  .pc_pt40px { padding-top: 40px; }
  .pc_pt50px { padding-top: 50px; }

  /* left */
  .pc_pl10px { padding-left: 10px; }
  .pc_pl20px { padding-left: 20px; }
  .pc_pl30px { padding-left: 30px; }
  .pc_pl40px { padding-left: 40px; }
  .pc_pl50px { padding-left: 50px; }

  /* right */
  .pc_pr10px { padding-right: 10px; }
  .pc_pr20px { padding-right: 20px; }
  .pc_pr30px { padding-right: 30px; }
  .pc_pr40px { padding-right: 40px; }
  .pc_pr50px { padding-right: 50px; }

  /* bottom */
  .pc_pb10px { padding-bottom: 10px; }
  .pc_pb20px { padding-bottom: 20px; }
  .pc_pb30px { padding-bottom: 30px; }
  .pc_pb40px { padding-bottom: 40px; }
  .pc_pb50px { padding-bottom: 50px; }
}
@media screen and (max-width: 599px) {
  .sp_pd10px { padding: 10px; }
  .sp_pd20px { padding: 20px; }
  .sp_pd30px { padding: 30px; }
  .sp_pd40px { padding: 40px; }
  .sp_pd50px { padding: 50px; }

  /* top */
  .sp_pt10px { padding-top: 10px; }
  .sp_pt20px { padding-top: 20px; }
  .sp_pt30px { padding-top: 30px; }
  .sp_pt40px { padding-top: 40px; }
  .sp_pt50px { padding-top: 50px; }

  /* left */
  .sp_pl10px { padding-left: 10px; }
  .sp_pl20px { padding-left: 20px; }
  .sp_pl30px { padding-left: 30px; }
  .sp_pl40px { padding-left: 40px; }
  .sp_pl50px { padding-left: 50px; }

  /* right */
  .sp_pr10px { padding-right: 10px; }
  .sp_pr20px { padding-right: 20px; }
  .sp_pr30px { padding-right: 30px; }
  .sp_pr40px { padding-right: 40px; }
  .sp_pr50px { padding-right: 50px; }

  /* bottom */
  .sp_pb10px { padding-bottom: 10px; }
  .sp_pb20px { padding-bottom: 20px; }
  .sp_pb30px { padding-bottom: 30px; }
  .sp_pb40px { padding-bottom: 40px; }
  .sp_pb50px { padding-bottom: 50px; }
}

/* color, background-color
****************************************************/
.col_red { color: red; }
.col_1, .bgc_1{ color:#a0cd00; }
.col_2, .bgc_2{ color:#009844; }
.col_3, .bgc_3{ color:#c6e166; }
.col_4, .bgc_4{ color:#f7514c; }

/*===================================================================================
背景色（background-color）
===================================================================================*/
.bgcol-yellow02 { background-color: #ffffed; }
.bgcol-green02 { background-color: #eaf4c7; }

/* font-size
****************************************************/
.fs14px { font-size: 14px; }
@media screen and (min-width: 600px) {
	.pc_fs24px { font-size: 24px; }
}
@media screen and (max-width: 599px) {
	.sp_fs16px { font-size: 16px; }
}

/* font-weight
****************************************************/
.fb{font-weight: bold;}

/*===================================================================================
フォントサイズ（font-size）
===================================================================================*/
.fs10px { font-size: 10px; }
.fs11px { font-size: 11px; }
.fs12px { font-size: 12px; }
.fs13px { font-size: 13px; }
.fs14px { font-size: 14px; }
.fs15px { font-size: 15px; }
.fs16px { font-size: 16px; }
.fs17px { font-size: 17px; }
.fs18px { font-size: 18px; }
.fs19px { font-size: 19px; }
.fs20px { font-size: 20px; }
.fs21px { font-size: 21px; }
.fs22px { font-size: 22px; }
.fs23px { font-size: 23px; }
.fs24px { font-size: 24px; }
.fs25px { font-size: 25px; }
.fs26px { font-size: 26px; }
.fs27px { font-size: 27px; }
.fs28px { font-size: 28px; }
.fs29px { font-size: 29px; }
.fs30px { font-size: 30px; }

.fs50per { font-size: 50%; }
.fs60per { font-size: 60%; }
.fs70per { font-size: 70%; }
.fs80per { font-size: 80%; }
.fs90per { font-size: 90%; }
.fs100per { font-size: 100%; }

.fs1em { font-size: 1em; }
.fs1\.5em { font-size: 1.5em; }
.fs2em { font-size: 2em; }
.fs3em { font-size: 3em; }
.fs4em { font-size: 4em; }
.fs5em { font-size: 5em; }

.fs1rem { font-size: 1rem; }
.fs1\.5rem { font-size: 1.5rem; }
.fs2rem { font-size: 2rem; }
.fs3rem { font-size: 3rem; }
.fs4rem { font-size: 4rem; }
.fs5rem { font-size: 5rem; }
@media screen and (min-width: 600px) {
  .pc_fs16px { font-size: 16px; }
}
@media screen and (max-width: 599px) {
  .sp_fs16px { font-size: 16px; }
}

/*===================================================================================
フォントウェイト（font-weight）
===================================================================================*/
.fw100 { font-weight: 100; }
.fw200 { font-weight: 200; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.fw900 { font-weight: 900; }

/*===================================================================================
ラインハイト（line-height）
===================================================================================*/
.lh-1 { line-height: 1; }
.lh-1\.1 { line-height: 1.1; }
.lh-1\.2 { line-height: 1.2; }
.lh-1\.3 { line-height: 1.3; }
.lh-1\.4 { line-height: 1.4; }
.lh-1\.5 { line-height: 1.5; }
.lh-1\.6 { line-height: 1.6; }
.lh-1\.7 { line-height: 1.7; }
.lh-1\.8 { line-height: 1.8; }
.lh-1\.9 { line-height: 1.9; }
.lh-2 { line-height: 2; }

/* text-align
****************************************************/
.ta_r{ text-align:right; }
.ta_c{ text-align:center; }

/* border
****************************************************/
@media screen and (max-width: 599px) {
	.sp_bdt-solid-1px-gray { border-top: 1px solid #ccc; }
}

/*===================================================================================
ボーダー（border）
===================================================================================*/
.bod-none { border: none; }
.bod-1px-yellow01 { border: 1px solid #ffdc3f; }
.bod-1px-green01 { border: 1px solid #a0cd00; }
.bod-1px-green02 { border: 1px solid #eaf4c7; }

/* top */
.bdt-1px-yellow01 { border-top: 1px solid #ffdc3f; }

/* left */
.bdl-1px-yellow01 { border-top: 1px solid #ffdc3f; }

/* right */
.bdr-1px-yellow01 { border-top: 1px solid #ffdc3f; }

/* bottom */
.bdb-1px-yellow01 { border-top: 1px solid #ffdc3f; }

/* radius
****************************************************/
.radius_10, #disease h3{ border-radius:10px; -webkit-border-radius:10px; -moz-border-radius:10px; }

/*===================================================================================
角丸（border-radius）
===================================================================================*/
.bdr10px { border-radius: 10px; }
.bdr20px { border-radius: 20px; }
.bdr30px { border-radius: 30px; }
.bdr40px { border-radius: 40px; }
.bdr50px { border-radius: 50px; }

.bdr10per { border-radius: 10%; }
.bdr20per { border-radius: 20%; }
.bdr30per { border-radius: 30%; }
.bdr40per { border-radius: 40%; }
.bdr50per { border-radius: 50%; }

/* top */
.bdt-left-r { border-top-left-radius: 10px; }
.bdt-left-r { border-top-left-radius: 20px; }
.bdt-left-r { border-top-left-radius: 30px; }
.bdt-left-r { border-top-left-radius: 40px; }
.bdt-left-r { border-top-left-radius: 50px; }

.bdt-right-r { border-top-right-radius: 10px; }
.bdt-right-r { border-top-right-radius: 20px; }
.bdt-right-r { border-top-right-radius: 30px; }
.bdt-right-r { border-top-right-radius: 40px; }
.bdt-right-r { border-top-right-radius: 50px; }

/* bottom */
.bdb-left-r { border-bottom-left-radius: 10px; }
.bdb-left-r { border-bottom-left-radius: 20px; }
.bdb-left-r { border-bottom-left-radius: 30px; }
.bdb-left-r { border-bottom-left-radius: 40px; }
.bdb-left-r { border-bottom-left-radius: 50px; }

.bdb-right-r { border-bottom-right-radius: 10px; }
.bdb-right-r { border-bottom-right-radius: 20px; }
.bdb-right-r { border-bottom-right-radius: 30px; }
.bdb-right-r { border-bottom-right-radius: 40px; }
.bdb-right-r { border-bottom-right-radius: 50px; }

/* icon
****************************************************/
.icon_1:before, .icon_list1 li:before{ content:"●"; color:#c6e166; margin-right:5px; }
.icon_2:before, .icon_list2 li:before{ content:"▶"; margin-right:5px; }

/* button
****************************************************/
.btn_1{ display:block; border:1px solid #f7514c; }
.btn_1{ font-size:18px; font-weight:bold; text-align:center; padding:10px 1.5em; background-color:#f7514c; color:#ffffff; }
.btn_1:hover{ background-color:#ffffff; color:#f7514c; text-decoration:none; }

.btn_2{ display:block; border:1px solid #f7514c; }
.btn_2{ font-size:18px; font-weight:bold; text-align:center; padding:10px 1.5em; background-color:#f7514c; color:#ffffff; }
.btn_2:hover{ background-color:#ffffff; color:#f7514c; text-decoration:none; }

/* header
****************************************************/
#header .top, #header2{ background-color:#a0cd00; }
#header .tel{ color:#009844; }

/* header2
****************************************************/
#header2 h1{ font-size:12px; padding:.25em 0; }

/* nav
****************************************************/
nav a{ color:#ffffff;}
nav a:hover, nav .on{ background-color:#c6e166; }

nav .online-button { background: #f7514c; }
nav .online-button:hover , nav .online-list .on { background: #ff8480; }

/* footer
****************************************************/
#footer{ background-color:#eaf4c7; }
#footer .box{ background-color:#ffffff; }
#footer .box .tel{ color:#009844; }
#footer .box .tel a{ color:#009844; }
#footer .bottom{ background-color:#a0cd00; color:#ffffff; }
#footer .bottom a{ color:#ffffff; }

/* headline
****************************************************/
.headline_1, .headline_2, .headline_3{ background-repeat:no-repeat; background-position:center; text-align:center; font-size:24px; }
.headline_1 span, .headline_2 span, .headline_3 span, .headline_4 span{ color:#f7514c; }
.headline_1{ background-image:url(images/headline1bg.png); line-height:40px; }
.headline_2{ background-image:url(images/headline2bg.png); line-height:50px; }
.headline_4{ font-size:20px; }

/*===================================================================================
見出し（headline）
===================================================================================*/
.headline-typeA { color: #fff; background: #0a64b2; border-radius: 10px; }

/*===================================================================================
アイコン（icon）
===================================================================================*/
/* 丸型 */
.icon-circle01::before { content: "\025cf"; margin-right: 0.5em; } /* ● */
.icon-circle02::before { content: "\025cb"; margin-right: 0.5em; } /* ○ */
.icon-circle03::before { content: "\025ce"; margin-right: 0.5em; } /* ◎ */

/* 三角 */
.icon-triangle01::before { content: "\025b2"; margin-right: 0.5em; } /* ▲ */
.icon-triangle02::before { content: "\025bc"; margin-right: 0.5em; } /* ▼ */
.icon-triangle03::before { content: "\025b6"; margin-right: 0.5em; } /* ▶ */
.icon-triangle04::before { content: "\025b3"; margin-right: 0.5em; } /* △ */
.icon-triangle05::before { content: "\025bd"; margin-right: 0.5em; } /* ▽ */
.icon-triangle06::before { content: "\025b7"; margin-right: 0.5em; } /* ▷ */

/* 四角 */
.icon-square01::before { content: "\025a0"; margin-right: 0.5em; } /* ■ */
.icon-square02::before { content: "\025a1"; margin-right: 0.5em; } /* □ */

/* 菱形 */
.icon-diamond01::before { content: "\025c6"; margin-right: 0.5em; } /* ◆ */
.icon-diamond02::before { content: "\025c7"; margin-right: 0.5em; } /* ◇ */

/* 米印 */
.icon-kome01::before { content: "※"; margin-right: 0.5em; } /* ※ */

/*===================================================================================
リスト（list）
===================================================================================*/
.list-style-type-none { list-style-type: none; }
.list-style-pos-inside { list-style-position: inside; }

.list-typeA .item { padding-left: 1.5em; text-indent: -1.5em; }

/* 番号つきリスト（丸型） */
.list-number-circle-typeA .item::before { counter-increment: number; content: counter(number) ""; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; margin-right: 0.5em; color: var(--white01); background: var(--black01); border-radius: 50%; }

/* notice
****************************************************/
#notice li{ border-bottom:1px dotted #009844; padding:1em; }

/* greeting all
****************************************************/
#greeting .book .oh{font-size: 12px; overflow: hidden; }
#greeting .book .fl{ float: left; }
#greeting .paper .oh{font-size: 12px; overflow: hidden; }
#greeting .paper .fl{ float: left; width: 4em; }
#greeting .paper dd{ margin-left: 4em; }
#greeting h3{ font-size: 16px; }
#greeting h4{ font-size: 15px; }

/* symptom
****************************************************/
#symptom dl{ border:1px solid #c6e166; }
#symptom dt{ background-color:#eaf4c7; border:1px solid #c6e166; margin:5px 3px 0 3px; padding:.3em 1em; font-size:14px; }
#symptom dd{ padding:5px 10px; line-height:150%; font-size:12px; }
#symptom dd a{ display:block; text-align:right; text-decoration:none; }
#symptom dd a:before{ content:"▶"; font-size:11px; margin-right:5px; color:#c6e166; }
#symptom dd a:hover:before{ color:#f7514c; }
/* symptom2 */
#symptom2 dt{ background:url(images/headline3bg.png) no-repeat left center; padding:10px 1em 0 60px; font-size:16px; font-weight:bold; }
#symptom2 dd{ margin-top:.5em; }
#symptom2 ul{ overflow:hidden; margin:30px 0 50px 70px; }
#symptom2 li{ margin-top:1em; background:url(images/icon4.png) left center no-repeat; }
#symptom2 li a{ margin-left:20px; text-decoration:none; }
#symptom2 li a:before{ content:"▶"; font-size:11px; margin-right:5px; color:#c6e166; }
#symptom2 li a:hover:before{ color:#f7514c; }
/* symptom3 */
#symptom3 h3{ background:url(images/headline3bg.png) no-repeat left center; padding:10px 1em 0 60px; font-size:16px; }
#symptom3 h4{ background:url(images/line1bg.png) repeat-x bottom left; font-size:16px; margin-top:20px; padding-bottom:10px; padding-left:15px; }
#symptom3 .des{ margin:1em 15px 0 15px; }
#symptom3 dl{ padding:2em 15px; }
#symptom3 dt{ font-weight:bold; }
#symptom3 dt:before{ content:"●"; margin-right:5px; color:#c6e166; }
#symptom3 .back{ padding-top:1em; background:url(images/line1bg.png) repeat-x top left;}
#symptom3 .back:before{ content:"◀"; margin-right:5px; color:#f7514c; }

/* disease
****************************************************/
#disease li a{
	display:block;
	background-image:url(images/icon3.png);
	background-position:left 15px center;
	background-repeat:no-repeat;
	background-color:#eaf4c7;
	text-align:center;
	padding:30px 0;
	font-size:16px;
	border:1px solid #a0cd00;
	color:#000000;
}
#disease li a:hover{ background-image:url(images/icon3.png); background-color:#ffffff; color:#000000; text-decoration:none; font-weight:bold; }
#disease h3{ background-color:#eaf4c7; color:#000000; padding:.5em 1em; font-size:18px; margin:30px; border:1px solid #a0cd00; }
#disease dl{ margin:0 30px 30px 30px;}
#disease dt{ background:url(images/line1bg.png) repeat-x bottom left; padding-bottom:10px; padding-left:15px; font-weight:bold; margin-top:2em; font-size:15px; }
#disease dd{ padding-top:1em; padding-left:15px; padding-right:15px; }

/* telemedicine
****************************************************/
#telemedicine {line-height:1.8;}

#telemedicine h3{ background-color:#eaf4c7; color:#000000; padding:.5em 1em; font-size:18px; margin:30px 10px; border:1px solid #a0cd00; border-radius:10px; }

#telemedicine h4,#myopine h4{ background:url(images/line1bg.png) repeat-x bottom left; font-size:16px; margin:20px 0; padding-bottom:10px; padding-left:15px; color: #009844; }

#telemedicine .des{ margin:1em 15px 0 15px; }

#telemedicine .merit { padding: 0 15px;}
#telemedicine .merit>div{ box-sizing: border-box; padding: 10px; margin-bottom: 10px; background-color:#fffad8; border-radius: 10px; }
#telemedicine .merit dt{ text-align: center; font-weight: bold; font-size: 16px; }
#telemedicine .merit dd p{ padding: 10px; }
#telemedicine .merit .merit_img{ width:150px; margin: auto; }
#telemedicine .merit .merit_img img{ width:100%;}

#telemedicine .usage { overflow: hidden; padding:0 15px;}
#telemedicine .usage li{ float: left; margin-right: 10px; margin-bottom: 10px; }
#telemedicine .usage li img{ width:100%;}

#telemedicine .flow_first { counter-reset: my-counter; list-style: none; padding: 0;}
#telemedicine .flow_first>li { padding:0 10px 20px 40px; position: relative; border-bottom: 1px dotted #ccc;}
#telemedicine .flow_first>li:before { content: counter(my-counter); counter-increment: my-counter; background-color: #a0cd00; color: #fff; display: block; position: absolute; margin-left: -20px; text-align: center; height: 30px; width: 30px; border-radius: 10px;  line-height: 30px; }
#telemedicine .flow_first>li:after { content:""; display: block; clear: both; }

#telemedicine .flow_first h4{ background: none; font-size:16px; margin:20px 0; padding: 0 0 0 20px; }
#telemedicine .flow_img{ height: auto; float: left; margin-right: 10px; margin-bottom: 10px; }
#telemedicine .flow_img img{ width: 100%; }

#telemedicine .app_dl li{ margin: 10px 0; padding: 10px; background-color:#fffad8;  border-radius: 10px;}
#telemedicine .app_dl li div p{ padding: 10px; }

#telemedicine .btn_mail{ display: block; font-weight: bold; border-radius: 5px; text-align: center; box-sizing: border-box; color: #fff; margin: 10px; background-color: #009844; padding: 0 8px; min-height: 40px;  line-height: 40px;}
#telemedicine .btn_pc{ display: block; font-weight: bold; border-radius: 5px; text-align: center; box-sizing: border-box; color: #fff;  padding: 0 8px; margin: 10px 20px; background-color: #a0cd00; min-height: 60px;}
#telemedicine .btn_sp{ display: inline-block; padding: 10px; margin: 10px 20px; font-weight: bold; border-radius: 5px; text-align: center; box-sizing: border-box; color: #fff; background-color: #a0cd00;}
#telemedicine .btn_agree{display: block; font-weight: bold; border-radius: 5px; text-align: center; box-sizing: border-box; color: #fff;  padding: 0 8px; margin: 10px; background-color: #a0cd00; min-height: 40px;  line-height: 40px;}
#telemedicine .btn_consul{display: block; font-weight: bold; border-radius: 5px; text-align: center; box-sizing: border-box; color: #fff;  padding: 0 8px; margin: 5px 0; background-color: #a0cd00; min-height: 40px; }

/* about
****************************************************/
#about dl{ margin-bottom:2em; }
#about dt{ color:#009844; font-size:16px; font-weight:bold; margin-top:2em; }
#about dt:before{ content:"●"; color:#009844; margin-right:5px; }
#about dd{ margin-top:1em; }
#about h3{ font-weight:normal; }
#about h3:before{ content:"■"; color:#a0cd00; margin-right:5px; }
 /* sitemap
****************************************************/
#sitemap .parent li:before{ content:"■"; color:#009844; margin-right:.5em; }
#sitemap .child li:before{ content:"●"; color:#a0cd00; margin-right:.5em; }
 /* pagetop
****************************************************/
.pagetop {
    display:none;
    position:fixed;
    bottom:50px;
    right:25px;
	line-height:0;
}
.pagetop a{
	display:block;
	padding:5px;
	background-color:#009844;
	text-align:center;
	color:#ffffff;
	text-decoration:none;
	margin-bottom:5px;
	border-radius:5px;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	opacity:.5;
}
.pagetop a:hover, .pagetop a:hover img{ opacity:1.0; }


/* モニター幅600px以上
**************************************************/
@media only screen and (min-width:600px), print{
	.pc { display: block !important; }
	.pc_head{ display: block; float: right;}
	.pc_head a{ display: inline-block; max-width: 300px; font-weight: bold; border-radius: 5px; text-align: center; box-sizing: border-box; color: #fff; }
	.sp { display: none !important; }

	a[href^="tel:"]{
    pointer-events: none;
  }

/* overflow:hidden;
****************************************************/

.oh, .oh_list{ overflow:hidden; }
.oh .fl, .oh_list li{ float:left; }
.oh .fr{ float:right; }
.oh .cb{ clear:both; }
.oh .fr400{ float:right; width: 400px; }

/* wrapper
****************************************************/
.wrapper{ width:1000px; margin-left:auto; margin-right:auto; }

/* column
****************************************************/
.column{ overflow:hidden; }
.column .lef, .column .w33, .column .w50{ float:left; }
.column .w33{ min-width:33%; }
.column .w50{ min-width:50%; }
/* profile */
.column .prof1{ float:left; width:8em; }
.column .prof2{ float:left; width:9em; }
.column .prof3{ float:left; }

/* space
****************************************************/
.space_s{ margin-top:1em; }
.space_m{ margin-top:2em; }
.space_l{ margin-top:3em; }

/* header
****************************************************/
#header .top{ padding:.25em 0; }
#header h1{ font-size:12px; }
#header .main{ background:url(images/header1bg.png) no-repeat bottom center; text-align:center; height:380px; font-weight:bold; }
#header .logo{ padding-top:100px; }
#header .adr{ margin-top:50px; }
#header .tel{ margin-top:10px; font-size:20px; }
#header .tel span{ font-size:28px; }

#header2{ background-color: transparent; vertical-align: middle;}
#header2 h1{ float: left;}

/* tel--button PC
****************************************************/
.tel--button { padding: 5px; margin:0 10px 0 0; background-color: #f7514c; }
/* .tel--button .number { font-size: 24px; }*/

/* mail--button PC
****************************************************/
.mail--button { padding: 5px 8px; margin:0 10px; background-color: #009844;  }

/* yoyaku--button PC
****************************************************/
.yoyaku--button { padding: 5px 8px; margin:0 10px; background-color: #e9aa00; }

/* olagree--button PC
****************************************************/
.olagree--button { padding: 5px 8px; margin:0 0 0 10px; background-color: #a87f2e; }


/* nav
****************************************************/
nav{ background-color:#a0cd00; width:100%; }
nav ul{ text-align:center; font-size:0; }
nav li{ display:inline-block; text-align:center; margin-left:1px; font-size:14px; }
nav a{ display:block; width:166px; line-height:50px; }
nav a:hover{ text-decoration:none; }
.fixed{ position:fixed; top:0px; left:0px; z-index:9999; opacity:.75; }
.space{ margin-top:50px; }

/* footer
****************************************************/
#footer{ padding-top:40px; }
#footer .box{ width:430px; height:350px; text-align:center; }
#footer .box .logo{ margin-top:40px; }
#footer .box .tel{ margin-top:30px; font-size:28px; font-weight:bold; }
#footer .box .tel span{ font-size:36px; }
#footer .box .adr{ margin-top:20px; }
#footer .box .btn_1{ margin:20px 20% 0 20%; }
#footer .map{ width:540px; float:right; }
#footer .bnr1{ width:33%; }
#footer .bnr2{ width:34%; text-align:center; }
#footer .bnr3{ width:33%; text-align:right; }
#footer .bottom{ padding:1em 0; text-align:center; font-size:12px; line-height:250%; }
#footer .bottom ul{ font-size:0; padding:0 25%; }
#footer .bottom li{ display:inline-block; font-size:12px; min-width:20%; line-height:250%; }

/* section & background
****************************************************/
.section_outline{ padding:70px 0; line-height:250%; }
.section_wrapper{ background-color:#ffffff; padding-top:25px; }
.section_inner{ padding:20px 40px 60px 40px; margin-left:40px; margin-right:40px; }
.section_adj{ background-position:center center; background-repeat:no-repeat; -moz-background-size:cover; background-size:cover; }
/* pages */
#notice{ background:url(images/section1bg.png) right bottom no-repeat; padding:40px 0 80px 0; }
#notice .wrapper{ width:860px; }
#guide{ background-image:url(images/section4bg.jpg); }
#medical{ background-image:url(images/section2bg.jpg); }
#greeting{ background-image:url(images/section3bg.png); }
#greeting2{ background-image:url(images/section3bg.png); background-attachment:fixed; }
#about{ background-image:url(images/section12bg.jpg); }
#sitemap{ background-image:url(images/section11bg.jpg); }
#symptom, #symptom2, #symptom3{ background-color:#c4ecff; background-repeat:no-repeat; }
#symptom{ background-image:url(images/section6bg.png); background-position:bottom right; }
#symptom .inner{ background:url(images/section5bg.png) no-repeat top center; }
#symptom2, #symptom3{ background-image:url(images/section7bg.png); background-position:bottom center; }
.disease_1{ background-image:url(images/section8bg.png); background-color:#fffad8; background-position:bottom center; }
.disease_2{ background:url(images/section10bg.png) no-repeat bottom right #fffad8; }
.disease_2 .inner{ background:url(images/section9bg.png) no-repeat top center; }
#default{ background-image:url(images/section8bg.png); background-color:#fffad8; background-position:bottom center; }
#myopine{ background-color:#fffad8; }
#telemedicine{ background-color:#fffad8; }
#contact { background-image:url(images/section2bg.jpg); }
#contact .mail{ margin:20px 0 0 0; padding:10px 30px 0 20px; border:solid 1px #ffdc3f; background-color:#ffffed; line-height: 150% }
#contact .mail_txt{ margin:20px 0 30px 0; }

#notice #online-start { display: inline-block; margin-top: -50px; padding-top: 50px; }

/* guide
****************************************************/
#guide .cut_1, #guide .cut_2{ text-align:center; background-repeat:no-repeat; background-position:bottom center; }
#guide .cut_1{ background-image:url(images/cut1bg.png); }
#guide .cut_2{ background-image:url(images/cut2bg.png); }
#guide .txt_1{ text-align:center; line-height:150%; padding:40px 100px 0 100px; height:8em; }
#guide .txt_1 strong{ font-size:16px; }
#guide .line_1{ background:url(images/line1bg.png) repeat-x bottom left; }
#guide .photo1list{letter-spacing: -.40em; text-align:center; }
#guide .photo1list li{ display:inline-block; font-size:16px; line-height:16px; margin:2.5%; width:20%; letter-spacing: normal; vertical-align:top; }
#guide .photo1list img{ margin-bottom:15px; }
#guide .dis{ display:none; }

/* greeting pc
****************************************************/
#greeting .wrapper{ width:860px; position:relative; overflow:visible; }
#greeting .photo_1{ position:absolute; top:125px; right:-90px; }
#greeting .txt{ margin-left:240px; }
#greeting .box{ border:4px solid #ffed9f; padding:20px 30px; background-color:#ffffff; margin-top:75px; font-size:12px; }

/* symptom
****************************************************/
/* symptom */
#symptom ul{ overflow:hidden; padding-top:1.5%; padding-bottom:4%; }
#symptom li{ float:left; width:30%; margin:2.5% 0 0 2.5%; }
#symptom dt{ font-size:14px; }
/* symptom2 */
#symptom2 .section_inner{ background:url(images/section1bg.png) no-repeat right bottom; }
#symptom2 dl{ padding:30px 30px 0 30px; }
#symptom2 dd{ margin-top:.5em; }
#symptom2 ul{ overflow:hidden; margin:30px 0 50px 70px; }
#symptom2 li{ float:left; width:33%; padding-top:2px; }

/* disease
****************************************************/
#disease ul{ overflow:hidden; padding-bottom:4%; }
#disease li{ float:left; width:28%; margin:4% 0 0 4%; }
#disease li a{ width:100%; }

/* telemedicine PC
****************************************************/

#telemedicine .merit { display: flex; flex-wrap: wrap; }
#telemedicine .merit>div{ width: calc(( 99.9% - 20px ) / 3); margin-right: 10px; }
#telemedicine .merit>div:nth-child(3n) { margin-right: 0;}

#telemedicine .usage li{ width:calc((99.9% - 30px)/ 4 ); }
#telemedicine .usage li:nth-child(4){ margin-right: 0; }

#telemedicine .flow_img{ width: 130px; }

#telemedicine .btn_mail{ width: 300px;}
#telemedicine .btn_sp{ width: 250px;}
#telemedicine .btn_pc{ width: 250px; line-height: 60px;}
#telemedicine .btn_agree{ width: 300px;}
#telemedicine .btn_consul{ width: 450px; margin-left: 20px; line-height: 40px;}
/* sitemap
****************************************************/
#sitemap li{ margin-top:.5em; }
#sitemap .parent{ margin-left:50px; padding:30px 0; }
#sitemap .child{ margin-left:1.5em; overflow:hidden; width:500px; }
#sitemap .child li{ float:left; width:33%; }

/* slideshow
****************************************************/
#slideshow{
   position:relative;
   width:100%;
   height:380px;
}
#slideshow li{
   position:absolute;
   height:380px;
   margin:0;
   padding:0;
   background-position:center top;
   background-repeat:no-repeat;
}

/* myopine
****************************************************/
.myopine{ display:inherit; }
.myopinesp{ display:none; }

}



/* モニター幅600px以下
**************************************************/
@media only screen and (max-width:599px){
	.pc { display: none !important; }
	.pc_head{ display: none;}
	.sp { display: block !important; }
	.sp_clear{ clear: both; }

/* common
****************************************************/
img{ max-width:100%; height:auto; }
.wrapper{ width:100%; }


/* space
****************************************************/
.space_s, .space_m, .space_l{ margin-top:1em; }

/* headline
****************************************************/
.headline_1, .headline_2, .headline_3, .headline_4{
	font-size:16px;
	-moz-background-size:contain;
	background-size:contain;
}
.headline_3, .headline_4{ background-image:url(images/headline2bg.png); line-height:50px; }
.headline_4{ background-repeat:no-repeat; background-position:center; text-align:center; }

/* header
****************************************************/
#header .top{ padding:.25em 0; text-align:center; }
#header h1{ font-size:12px; }
#header .main{ text-align:center; font-weight:bold; }
#header .logo{ padding:15px; }
#header .tel{ margin-top:10px; font-size:20px; }
#header .tel span{ font-size:28px; }

/* header2
****************************************************/
#header2 h1{ float: none; font-size:12px; padding:.25em 0; text-align:center; }

/* header--logo
****************************************************/
.header--logo { display: block; max-width: 300px; margin-left: auto; margin-right: auto; }

/* tel--button SP
****************************************************/
.tel--button { display: block; max-width: 300px; padding: 5px; margin-left: auto; margin-right: auto; font-weight: bold; color: #fff; background-color: #f7514c;  border-radius: 8px; text-align: center; box-sizing: border-box; }
.tel--button .number { font-size: 24px; }

/* mail--button SP
****************************************************/
.mail--button { display: block; max-width: 300px; margin-left: auto; margin-right: auto; padding: 3px 8px; color: #fff; background-color: #009844; border-radius: 5px; text-align: center; box-sizing: border-box; font-size: 24px; }

/* yoyaku--button SP
****************************************************/
.yoyaku--button { display: block; max-width: 300px; margin-left: auto; margin-right: auto; padding: 3px 8px; color: #fff; background-color: #e9aa00; border-radius: 5px; text-align: center; box-sizing: border-box; font-size: 24px; }

/* olagree--button SP
****************************************************/
.olagree--button  { display: block; max-width: 300px; margin-left: auto; margin-right: auto; margin-bottom: 20px; padding: 5px 8px; color: #fff; background-color: #a87f2e; border-radius: 5px; text-align: center; box-sizing: border-box; font-size: 20px; }


/* sp_btn_list
****************************************************/

/* demo */
.sp_btn_list1{ display: flex; flex-wrap:wrap; margin: 10px 10px 0;}
.sp_btn_list1 a{ display: flex; align-items: center; justify-content: center; width: calc(( 99.9% - 10px )/ 2 ); min-height: 60px; margin: 0 10px 10px 0; font-weight: bold; color: #fff; box-sizing: border-box; border-radius: 8px; font-size: 15px; }
.sp_btn_list1 a:nth-child(2n+1){margin-right: 0; }

.sp_btn_list1 .tel--button { padding: 5px; background-color: #f7514c; text-align: center;}

.sp_btn_list1 .mail--button { padding: 3px 8px; background-color: #009844;}

.sp_btn_list1 .yoyaku--button { padding: 3px 8px; background-color: #e9aa00; }

.sp_btn_list1 .olagree--button  { padding: 5px 8px; background-color: #a87f2e; font-size: 14px; }

.sp_btn_list1 .bn_clinics0{ display: block; width: 100%; min-height: auto; margin: 0 0 10px 0; }
.sp_btn_list1 .bn_clinics0 img{ border: solid 1px red;}


/* demo2 */
.sp_btn_list{ display: flex; flex-wrap:wrap; margin: 10px 10px 0;}
.sp_btn_list a{ display: flex; align-items: center; width: calc(( 99.9% - 10px )/ 2 ); min-height: 60px; margin: 0 10px 10px 0; font-weight: bold; color: #fff; box-sizing: border-box; border-radius: 8px; font-size: 15px; }
.sp_btn_list a:nth-child(2n){margin-right: 0; }

.sp_btn_list .tel--button { padding: 5px; background-color: #f7514c; text-align: center;}

.sp_btn_list .mail--button { padding: 3px 8px; background-color: #009844;}

.sp_btn_list .yoyaku--button { padding: 3px 8px; background-color: #e9aa00; }

.sp_btn_list .olagree--button  { padding: 5px 8px; background-color: #a87f2e; font-size: 14px; }

.sp_btn_list .bn_clinics{ display: block; width: 100%; min-height: auto; margin: 0;}



/* chuushaku box1
****************************************************/
.box-gr { max-width: 290px; margin-left: auto; margin-right: auto; padding:5px; border: solid 1px #009844;/*線*/ border-radius: 5px;/*角の丸み*/ line-height:1.2em;}


/* chuushaku box2
****************************************************/
.box-yel { max-width: 290px; margin-left: auto; margin-right: auto; padding:5px; border: solid 1px #e9aa00;/*線*/ border-radius: 5px;/*角の丸み*/ line-height:1.2em;}

/* nav
****************************************************/
nav{ text-align:center; letter-spacing: -0.4em; margin-bottom:10px; margin-top:10px; }
nav li{
	display:inline-table;
	width:31%;
	margin:5px 1% 0 1%;
	vertical-align:top;
	letter-spacing:normal;
	line-height:20px;
	font-size:12px;
}
nav li a{
	height:50px;
	display:table-cell;
	vertical-align:middle;
	background-color:#a0cd00;
	text-align:center;
	border:1px solid #e0e0e0;
	border-radius: 10px;
	-webkit-border-radius: 10px; /* Safari,Google Chrome */
	-moz-border-radius: 10px;  /* Firefox */
}

/* footer
****************************************************/
#footer{ padding-top:5px; margin-top:2em; }
#footer .column{ margin:15px; }
#footer .box{ padding:15px; text-align:center; }
#footer .box .tel{ margin-top:10px; font-weight:bold; }
#footer .box .tel span{ font-size:24px; }
#footer .box .adr{ margin-top:10px; }
#footer .box .btn_1{ margin-top:10px; }
#footer .map{ margin-top:1em; }
#footer .wrapper li{ margin-bottom:1em; }
#footer .bottom{ padding:15px; font-size:12px; }
#footer address{ font-size:10px; text-align:center; margin-top:1em; }
#footer .bnr1, #footer .bnr2, #footer .bnr3{ text-align:center; }

/* section
****************************************************/
.section_inner{ padding-bottom:1em; }

.section_outline, #notice{ padding:1em; }

/* guide
****************************************************/
#guide .cut_1, #guide .cut_2, #guide .txt_1{ display:none; }
#guide .photo1list{ text-align:center; }
#guide .photo1list li{ margin-top:1em; }
#guide .dis{ text-align:left; }

/* greeting sp
****************************************************/
#greeting .photo_1{ text-align:center; margin-top:30px; }
#greeting .lef{ text-align:center; }
#greeting .txt{ margin-top:1em; }
#greeting .prof1, #greeting .prof2, #greeting .prof3{ font-size:12px; }
#greeting .prof1, #greeting .prof2{ margin-right:1em; }

/* symptom
****************************************************/
#symptom ul{ padding:0 20px 20px 20px; }
#symptom li{ margin-top:20px; }
/* symptom2 */
#symptom2 dl{ margin-top:15px; padding:15px; }
#symptom2 ul{ margin:20px; }

/* disease
****************************************************/
#disease ul{ padding:0 20px 20px 20px; }
#disease li{ margin-top:20px; }

/* telemedicine SP
****************************************************/

#telemedicine .usage li{ width:calc((99.9% - 10px)/ 2 ); }
#telemedicine .usage li:nth-child(2n){ margin-right: 0; }

#telemedicine .flow_img{ width:  calc(( 99.9% - 20px )/ 2 ); }

#telemedicine .btn_mail{ min-width: 90%;}
#telemedicine .btn_sp{ min-width: 90%;}
#telemedicine .btn_pc{ min-width: 90%; display: flex; align-items: center; justify-content: center;}
#telemedicine .btn_agree{ min-width: 90%;}
#telemedicine .btn_consul{  min-width: 90%;}

/* sitemap
****************************************************/
#sitemap li{ margin-top:.5em; }
#sitemap .parent{ padding:20px; }
#sitemap .child{ margin-left:1.5em; }

/* pagetop
****************************************************/
.pagetop{ bottom:10px; right:10px; }

/* slideshow
****************************************************/
#slideshow{
	margin-top:20px;
	position:relative;
	width:100%;
	overflow: hidden;
	height:0;
    padding-top:33%;
}
#slideshow li{
	position:absolute;
	width:100%;
	background-size:contain;
	height:100%;
	top:0;
	left:0;
	background-position:center top;
	background-repeat:no-repeat;
}

/* myopine
****************************************************/
.myopine{ display:none; }
.myopinesp{ display:inherit; }

#contact .mail{ margin:20px 0 0 0; padding:10px ; border:solid 1px #ffdc3f; background-color:#ffffed; line-height: 150%; }
#contact .mail_txt{ margin:10px; }

}

/* table
****************************************************/
.table01 { border-collapse: collapse; width: 100%; }
.table01 th, .table01 td { padding: 0.5rem; border: 1px solid #a0cd00; }
.table01 th { color: #009844; background-color: #EAF4C7; }