@charset "utf-8";

/*---------------------------------------------
  custom
---------------------------------------------*/
:root {
  --red: #c41d0e;
  --black: #2b2828;
  --gray: #9f9d9d;
  --green: #00a199;
  --white: #fff;
  
  --light-gray: #b1b2b2;
  --dark-gray: #666;
  --white-gray: #e0e0e0;
  --blue-gray: #e6edf2;

  --bg-gray: #555a5d;
  --bg-red: #fff3f2;
  --bg-blue: #f0f4f7;
  --bg-green: #e1f2f1;

  --lh-normal: 1.7;
  --transition: all .3s ease;
}
body { color: var(--black); font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans W3", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 1.4rem; line-height: 1.7; letter-spacing: .02em; background: #f7fafc;}
img { max-width: 100%; }
a , button { display: inline-block; color: var(--black); transition: var(--transition); }

input,button {line-height: 1.7;}

/*---------------------------------------------
 generic  class
---------------------------------------------*/
.txt-b { font-weight: bold !important; }.txt-n { font-weight: normal !important; }
.layout-c { text-align: center!important; }.layout-l { text-align: left!important; }.layout-r { text-align: right!important; }
.ov{overflow: hidden!important;}.fl{float: left!important;}.fr{float: right!important;}

/*---------------------------------------------
 base margin
---------------------------------------------*/
.mt0 { margin-top: 0px !important; }.mt5 { margin-top: 5px !important; }.mt8 { margin-top: 8px !important; }.mt10 { margin-top: 10px !important; }.mt15 { margin-top: 15px !important; }.mt16 { margin-top: 16px !important; }.mt20 { margin-top: 20px !important; }.mt24 { margin-top: 24px !important; }.mt25 { margin-top: 25px !important; }.mt30 { margin-top: 30px !important; }.mt32 { margin-top: 32px !important; }.mt35 { margin-top: 35px !important; }.mt40 { margin-top: 40px !important; }.mt48 { margin-top: 0 !important; }.mt50 { margin-top: 50px !important; }.mt56 { margin-top: 56px !important; }.mt60 { margin-top: 60px !important; }.mt64 { margin-top: 64px !important; }.mt70 { margin-top: 70px !important; }.mt80 { margin-top: 80px !important; }.mt90 { margin-top: 90px !important; }.mt100 { margin-top: 100px !important; }

.ml0 { margin-left: 0px !important; }.ml5 { margin-left: 5px !important; }.ml8 { margin-left: 8px !important; }.ml10 { margin-left: 10px !important; }.ml15 { margin-left: 15px !important; }.ml16 { margin-left: 16px !important; }.ml20 { margin-left: 20px !important; }.ml24 { margin-left: 24px !important; }.ml25 { margin-left: 25px !important; }.ml30 { margin-left: 30px !important; }.ml32 { margin-left: 32px !important; }.ml35 { margin-left: 35px !important; }.ml40 { margin-left: 40px !important; }.ml48 { margin-left: 0 !important; }.ml50 { margin-left: 50px !important; }.ml56 { margin-left: 56px !important; }.ml60 { margin-left: 60px !important; }.ml64 { margin-left: 64px !important; }.ml70 { margin-left: 70px !important; }.ml80 { margin-left: 80px !important; }.ml90 { margin-left: 90px !important; }.ml100 { margin-left: 100px !important; }

.mr0 { margin-right: 0px !important; }.mr5 { margin-right: 5px !important; }.mr8 { margin-right: 8px !important; }.mr10 { margin-right: 10px !important; }.mr15 { margin-right: 15px !important; }.mr16 { margin-right: 16px !important; }.mr20 { margin-right: 20px !important; }.mr24 { margin-right: 24px !important; }.mr25 { margin-right: 25px !important; }.mr30 { margin-right: 30px !important; }.mr32 { margin-right: 32px !important; }.mr35 { margin-right: 35px !important; }.mr40 { margin-right: 40px !important; }.mr48 { margin-right: 0 !important; }.mr50 { margin-right: 50px !important; }.mr56 { margin-right: 56px !important; }.mr60 { margin-right: 60px !important; }.mr64 { margin-right: 64px !important; }.mr70 { margin-right: 70px !important; }.mr80 { margin-right: 80px !important; }.mr90 { margin-right: 90px !important; }.mr100 { margin-right: 100px !important; }

.mb0 { margin-bottom: 0px !important; }.mb5 { margin-bottom: 5px !important; }.mb8 { margin-bottom: 8px !important; }.mb10 { margin-bottom: 10px !important; }.mb15 { margin-bottom: 15px !important; }.mb16 { margin-bottom: 16px !important; }.mb20 { margin-bottom: 20px !important; }.mb24 { margin-bottom: 24px !important; }.mb25 { margin-bottom: 25px !important; }.mb30 { margin-bottom: 30px !important; }.mb32 { margin-bottom: 32px !important; }.mb35 { margin-bottom: 35px !important; }.mb40 { margin-bottom: 40px !important; }.mb48 { margin-bottom: 0 !important; }.mb50 { margin-bottom: 50px !important; }.mb56 { margin-bottom: 56px !important; }.mb60 { margin-bottom: 60px !important; }.mb64 { margin-bottom: 64px !important; }.mb70 { margin-bottom: 70px !important; }.mb80 { margin-bottom: 80px !important; }.mb90 { margin-bottom: 90px !important; }.mb100 { margin-bottom: 100px !important; }

.pt0 { padding-top: 0px !important; }.pt5 { padding-top: 5px !important; }.pt8 { padding-top: 8px !important; }.pt10 { padding-top: 10px !important; }.pt15 { padding-top: 15px !important; }.pt16 { padding-top: 16px !important; }.pt20 { padding-top: 20px !important; }.pt24 { padding-top: 24px !important; }.pt25 { padding-top: 25px !important; }.pt30 { padding-top: 30px !important; }.pt32 { padding-top: 32px !important; }.pt35 { padding-top: 35px !important; }.pt40 { padding-top: 40px !important; }.pt48 { padding-top: 0 !important; }.pt50 { padding-top: 50px !important; }.pt56 { padding-top: 56px !important; }.pt60 { padding-top: 60px !important; }.pt64 { padding-top: 64px !important; }.pt70 { padding-top: 70px !important; }.pt80 { padding-top: 80px !important; }.pt90 { padding-top: 90px !important; }.pt100 { padding-top: 100px !important; }

.pl0 { padding-left: 0px !important; }.pl5 { padding-left: 5px !important; }.pl8 { padding-left: 8px !important; }.pl10 { padding-left: 10px !important; }.pl15 { padding-left: 15px !important; }.pl16 { padding-left: 16px !important; }.pl20 { padding-left: 20px !important; }.pl24 { padding-left: 24px !important; }.pl25 { padding-left: 25px !important; }.pl30 { padding-left: 30px !important; }.pl32 { padding-left: 32px !important; }.pl35 { padding-left: 35px !important; }.pl40 { padding-left: 40px !important; }.pl48 { padding-left: 0 !important; }.pl50 { padding-left: 50px !important; }.pl56 { padding-left: 56px !important; }.pl60 { padding-left: 60px !important; }.pl64 { padding-left: 64px !important; }.pl70 { padding-left: 70px !important; }.pl80 { padding-left: 80px !important; }.pl90 { padding-left: 90px !important; }.pl100 { padding-left: 100px !important; }

.pr0 { padding-right: 0px !important; }.pr5 { padding-right: 5px !important; }.pr8 { padding-right: 8px !important; }.pr10 { padding-right: 10px !important; }.pr15 { padding-right: 15px !important; }.pr16 { padding-right: 16px !important; }.pr20 { padding-right: 20px !important; }.pr24 { padding-right: 24px !important; }.pr25 { padding-right: 25px !important; }.pr30 { padding-right: 30px !important; }.pr32 { padding-right: 32px !important; }.pr35 { padding-right: 35px !important; }.pr40 { padding-right: 40px !important; }.pr48 { padding-right: 0 !important; }.pr50 { padding-right: 50px !important; }.pr56 { padding-right: 56px !important; }.pr60 { padding-right: 60px !important; }.pr64 { padding-right: 64px !important; }.pr70 { padding-right: 70px !important; }.pr80 { padding-right: 80px !important; }.pr90 { padding-right: 90px !important; }.pr100 { padding-right: 100px !important; }

.pb0 { padding-bottom: 0px !important; }.pb5 { padding-bottom: 5px !important; }.pb8 { padding-bottom: 8px !important; }.pb10 { padding-bottom: 10px !important; }.pb15 { padding-bottom: 15px !important; }.pb16 { padding-bottom: 16px !important; }.pb20 { padding-bottom: 20px !important; }.pb24 { padding-bottom: 24px !important; }.pb25 { padding-bottom: 25px !important; }.pb30 { padding-bottom: 30px !important; }.pb32 { padding-bottom: 32px !important; }.pb35 { padding-bottom: 35px !important; }.pb40 { padding-bottom: 40px !important; }.pb48 { padding-bottom: 0 !important; }.pb50 { padding-bottom: 50px !important; }.pb56 { padding-bottom: 56px !important; }.pb60 { padding-bottom: 60px !important; }.pb64 { padding-bottom: 64px !important; }.pb70 { padding-bottom: 70px !important; }.pb80 { padding-bottom: 80px !important; }.pb90 { padding-bottom: 90px !important; }.pb100 { padding-bottom: 100px !important; }

.w5p { width: 5%!important;}.w8p { width: 8%!important;}.w10p { width: 10%!important;}.w11p { width: 11%!important;}.w12p { width: 12%!important;}.w15p { width: 15%!important;}.w16p { width: 16%!important;}.w20p { width: 20%!important;}.w24p { width: 24%!important;}.w25p { width: 25%!important;}.w30p { width: 30%!important;}.w32p { width: 32%!important;}.w35p { width: 35%!important;}.w40p { width: 40%!important;}.w45p { width: 45%!important;}.w48p { width: 48%!important;}.w50p { width: 50%!important;}.w55p { width: 55%!important;}.w56p { width: 56%!important;}.w60p { width: 60%!important;}.w64p { width: 64%!important;}.w65p { width: 65%!important;}.w70p { width: 70%!important;}.w75p { width: 75%!important;}.w80p { width: 80%!important;}.w85p { width: 85%!important;}.w90p { width: 90%!important;}.w95p { width: 95%!important;}.w100p { width: 100%!important;}.wmax{ width: 100%!important; height: auto!important;}

.fz10 { font-size: 1rem; }.fz11 { font-size: 1.1rem; }.fz12 { font-size: 1.2rem; }.fz14 { font-size: 1.4rem; }.fz16 { font-size: 1.6rem; }.fz18 { font-size: 1.8rem; }.fz20 { font-size: 2rem; }.fz22 { font-size: 2.2rem; }.fz24 { font-size: 2.4rem; }.fz26 { font-size: 2.6rem; }.fz28 { font-size: 2.8rem; }.fz30 { font-size: 3rem; }.fz32 { font-size: 3.2rem; }.fz34 { font-size: 3.4rem; }.fz36 { font-size: 3.6rem; }.fz38 { font-size: 3.8rem; }.fz40 { font-size: 4rem; }.fz42 { font-size: 4.2rem; }.fz44 { font-size: 4.4rem; }.fz46 { font-size: 4.6rem; }.fz48 { font-size: 4.8rem; }

.max1280 { max-width: 1280px!important; margin: 0 auto!important; }
.max1024 { max-width: 1024px!important; margin: 0 auto!important; }
.max960 { max-width: 960px!important; margin: 0 auto!important; }
.max820 { max-width: 820px!important; margin: 0 auto!important; }
.max720 { max-width: 720px!important; margin: 0 auto!important; }
.max700 { max-width: 700px!important; margin: 0 auto!important; }
.max640 { max-width: 640px!important; margin: 0 auto!important;}
.max600 { max-width: 600px!important; margin: 0 auto!important;}
.max500 { max-width: 500px!important; margin: 0 auto!important; }
.max400 { max-width: 400px!important; margin: 0 auto!important; }
.max300 { max-width: 300px!important; margin: 0 auto!important; }
.max200 { max-width: 200px!important; margin: 0 auto!important; }

.mgA { margin-left: auto!important; margin-right: auto!important; }


/* header */
#header {
  position: fixed;
  z-index: 99;
  width: 100%;
  background: #f7fafc;
  border-bottom: 1px solid var(--white-gray);
}
#header .header-inner {
  display: flex;
  align-items: center;
  padding: 20px 40px 16px;
}
#header .logo-wrap {
  display: flex;
  width: 93px;
}
#header .hd-list {
  margin-right: 0;
  margin-left: auto;
  display: flex;
}
#header .hd-list li + li {
  margin-left: 40px;
}
#header .hd-list li a {
  display: block;
  position: relative;
  padding-top: 8px;
  font-size: 1.3rem;
  text-decoration: none;
}
#header .hd-list li a.cur::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc(50% - 10px);
  width: 20px;
  height: 2px;
  background: var(--green);
}

/* header */

/* footer */
#footer {
  padding: 16px;
  color: var(--white);
  font-size: 1.2rem;
  text-align: center;
  background: var(--black);
}
/* footer */


/* common */
#contents {
  padding-top: 75px;
}
.normal-section {
  padding-top: 80px;
}
.normal-section.bg-blue {
  background: var(--blue-gray);
}
.inner-wrap {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
}
.breadcrumbs ul > li {
  padding-right: 16px;
}
.breadcrumbs ul > li + li {
  padding-left: 20px;
  position: relative;
}
.breadcrumbs ul > li + li::before {
  content: "";
  display: block;
  position: absolute;
  width: 9px;
  height: 12px;
  left: 0;
  top: 8px;
  background: url(/assets/images/icn_breadcrumbs_arr.svg) no-repeat center / 9px 12px;
}
.breadcrumbs ul > li > a {
  color: var(--gray);
}
.normal-section {
  padding-bottom: 100px;
}
/* common */


/* module */
.main-visual {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--white-gray);
  min-height: 198px;
  margin-bottom: 24px;
  position: relative;
}
.main-visual .inner-wrap {
  height: 100%;
}
.main-visual .h1-ttl {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
}
.h1-ttl .ttl {
  font-size: 4rem;
}
.h1-ttl .division {
  margin-left: 30px;
  padding: 4px 12px;
  color: var(--white);
  font-size: 1.4rem;
  background: var(--bg-gray);
  border-radius: 4px;
}
.main-visual .item-txt {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 12.8rem;
  letter-spacing: normal;
  line-height: 1;
  font-family: "Lato" , sans-serif;
  font-weight: 300;
  background: linear-gradient(to right, #f9e9e9 10%, #f3ebf9 40%, #eee8f9 56%, #e1f2f1 85%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  z-index: 1;
  text-transform: uppercase;
}


/* ttl */
.h1-ttl .ttl ,
.h2-ttl .ttl ,
.h3-ttl .ttl ,
.h4-ttl ,
.h5-ttl ,
.catch-copy {
  letter-spacing: .02em;
  line-height: 1.4;
}
.h2-ttl {
  margin-bottom: 24px;
  padding-left: 24px;
  position: relative;
}
.h2-ttl::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 4px;
  height: 24px;
  background: url(/assets/images/icn_dots_ttl.svg) no-repeat left top / 4px auto;
}
.h2-ttl .ttl {
  font-size: 3rem;
}
.h3-ttl {
  position: relative;
  color: var(--green);
  padding-left: 40px;
  margin-bottom: 18px;
}
.h3-ttl::before {
  content: "";
  display: block;
  position: absolute;
  top: 14px;
  left: 0;
  width: 24px;
  height: 1px;
  background: var(--green);
}
.h3-ttl .ttl {
  font-size: 2.2rem;
}
.h4-ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 16px;
}
.h5-ttl {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 16px;
}
.catch-copy {
  font-size: 3.6rem;
  font-weight: normal;
  margin-bottom: 40px;
}
*:not(.anchor-position) + .h1-ttl {
  margin-top: 80px;
}
*:not(.anchor-position) + .h2-ttl {
  margin-top: 84px;
}
*:not(.anchor-position) + .h3-ttl {
  margin-top: 42px;
}
*:not(.anchor-position) + .h4-ttl {
  margin-top: 42px;
}
*:not(.anchor-position) + .h5-ttl {
  margin-top: 30px;
}
*:not(.anchor-position) + .catch-copy {
  margin-top: 48px;
}

/* txt */
* + .note-txt ,
* + .normal-txt {
  margin-top: 10px;
}
.note-txt {
  font-size: 1.2rem;
  color: var(--dark-gray);
}
.txt-red {
  color: var(--red);
}

/* box */
.bg-box {
  padding: 40px;
  background: var(--bg-blue);
  border-radius: 16px;
  overflow: hidden;
}
.bg-box.bg-red {
  background: var(--bg-red);
}
.bg-box.bg-white {
  background: var(--white);
}
.bg-box + .bg-box {
  margin-top: 48px;
}
.bg-box .box-ttl {
  position: relative;
  font-size: 2.2rem;
  line-height: 1.4;
  color: var(--green);
}
.bg-box.bg-red .box-ttl {
  color: var(--red);
}
.bg-box .box-ttl::before {
  content: "";
  display: block;
  position: absolute;
  width: 48px;
  height: 1px;
  top: 12px;
  right: calc(100% + 16px);
  background: var(--green);
}
.bg-box.bg-red .box-ttl::before {
  background: var(--red);
}
*:not(.anchor-position) + .shadow-box ,
*:not(.anchor-position) + .bg-box {
  margin-top: 56px;
}

.bd-box {
  padding: 32px;
  border: 1px solid rgba(170, 170, 170, .7);
  border-radius: 16px;
}
*:not(.anchor-position) + .bd-box {
  margin-top: 32px;
}


.shadow-box {
  background: var(--white);
  padding: 30px;
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, .03);
  border-radius: 8px;
}

/* list */
.normal-list > li {
  padding-left: 16px;
  position: relative;
}
.num-list > li + li,
.normal-list > li + li {
  margin-top: 4px;
}
.normal-list > li:before {
  content: "・";
  display: block;
  position: absolute;
  font-size: 1.4rem;
  top: 0;
  left: 0;
}
.normal-list.red-dots > li {
  color: var(--red);
}
.normal-list.red-dots > li:before {
  background: var(--red);
}
*:not(.anchor-position) + .normal-list {
  margin-top: 16px;
}

.num-list > li {
  display: flex;
}
.num-list > li > .unit {
  margin-right: 4px;
}
.notes-list > li .list-inner,
.num-list > li > .list-inner {
  flex: 1;
  min-width: 1px;
}
*:not(.anchor-position) + .num-list {
  margin-top: 16px;
}
.notes-list > li {
  display: flex;
  font-size: 1.2rem;
}
.notes-list > li .unit {
  margin-right: 4px;
}
*:not(.anchor-position) + .notes-list {
  margin-top: 12px;
}
.cmn-dl {
  display: flex;
  position: relative;
}
.cmn-dl + .cmn-dl {
  margin-top: 16px;
}
.cmn-dl dt {
  width: 300px;
  font-weight: normal;
  border-bottom: 1px solid var(--black);
  padding-bottom: 16px;
  padding: 0 16px 16px 0;
}
.cmn-dl dd {
  flex: 1;
  min-width: 1px;
  border-bottom: 1px solid #d5d4d4;
  padding: 0 24px 16px 24px;
}
*:not(.anchor-position) + .cmn-dl-wrap {
  margin-top: 32px;
}

.normal-dl {
  display: flex;
  align-items: start;
}
.normal-dl + .normal-dl {
  margin-top: 20px;
}
.normal-dl dt {
  width: 80px;
  padding: 4px;
  margin-right: 16px;
  color: var(--dark-gray);
  font-size: 1.4rem;
  text-align: center;
  line-height: 1;
  border-radius: 4px;
  border: 1px solid #aaaaaa;
}
.normal-dl dd {
  flex: 1;
}

/* input */
.input-wrap {
  position: relative;
  display: flex;
}
.input-wrap + .input-wrap {
  margin-top: 12px;
}
.checkbox {
  position: relative;
  width: 16px;
  height: 16px;
  top: 4px;
  background: url(/assets/images/icn_checkbox_frame.svg) no-repeat center / 16px;
}
.checkbox:checked {
  background-image: url(/assets/images/icn_checkbox_on.svg);
}
.check-label {
  display: block;
  position: relative;
  cursor: pointer;
  padding-left: 8px;
}
.radio {
  position: relative;
  width: 16px;
  height: 16px;
  top: 4px;
  border: 1px solid var(--black);
  background: var(--white);
  border-radius: 50%;
}
.radio::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
  background: var(--black);
  border-radius: 50%;
  opacity: 0;
}
.radio:checked:after {
  opacity: 1;
}
.radio-label {
  display: block;
  position: relative;
  cursor: pointer;
  padding-left: 8px;
}

.select-wrap {
  display: flex;
  position: relative;
  max-width: 252px;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans W3", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background:var(--white);
}
.select-wrap::after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 4px;
  right: 14px;
  top: calc(50% - 2px);
  background: url(/assets/images/icn_select_arr.svg) no-repeat center / 10px 4px;
}
.cmn-select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  background: none transparent;
  display: block;
  width: 100%;
  padding: 12px 16px;
  color: var(--black);
  border: 1px solid var(--light-gray);
  border-radius: 4px;
  box-sizing: border-box;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans W3", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.file-wrap {
  display: flex;
}
.file-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 122px;
  height: 30px;
  background: #e5e5e5;
  border: 1px solid var(--light-gray);
  border-radius: 4px;
}
.file-upload {
  opacity: 0;
  position: absolute;
}
.file-upload:focus + .file-label {
  outline: 1px solid var(--black);
}
.file-txt {
  flex: 1;
  padding-top: 4px;
  margin-left: 10px;
}

.date-wrap {
  display: flex;
}
.cmn-date {
  display: block;
  width: 162px;
  padding: 10px 32px 10px 16px;
  background:var(--white);
  border: 1px solid var(--light-gray);
  border-radius: 4px;
  position: relative;
}
.cmn-date::after {
  content: '';
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  top: calc(50% - 8px);
  right: 16px;
  background: url(/assets/images/icn_calendar.svg) no-repeat center / 16px;
}
.cmn-date::-webkit-calendar-picker-indicator {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  background: transparent;
  z-index: 1;
}

.cmn-input {
  display: block;
  color: var(--black);
  border: 1px solid var(--light-gray);
  border-radius: 4px;
  background:var(--white);
  padding: 10px 16px;
}
.cmn-input[type="text"] ,
.cmn-input[type="tel"] {
  width: 182px;
}
.cmn-input[type="email"] {
  width: 402px;
}

.form-dl {
  display: flex;
}
.form-dl + .form-dl {
  margin-top: 24px;
}
.form-dl dt {
  display: flex;
  width: 142px;
  flex-direction: column;
  justify-content: center;
}
.form-dl dd {
  flex: 1;
  min-width: 1px;
}

.cmn-search {
  display: flex;
}
.search-input {
  border: 1px solid var(--light-gray);
  border-right: none;
  padding: 10px 16px;
  width: 262px;
  border-radius: 4px 0 0 4px;
  background: var(--white);
}
.search-submit {
  display: block;
  position: relative;
  width: 46px;
  height: 46px;
  border: 1px solid var(--black);
  background: var(--black) url(/assets/images/icn_search_white.svg) no-repeat center / 18px;
  border-radius: 0 4px 4px 0;
  transition: var(--transition);
}
.switch-wrap {
  position: relative;
}
.switch-wrap .switch-input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.switch-ball {
  display: block;
  position: relative;
  padding: 2px;
  width: 54px;
  background: var(--white);
  border: 1px solid var(--light-gray);
  border-radius: 15px;
  padding: 2px 25px 2px 2px;
  transition: var(--transition);
}
.switch-ball::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background: var(--black);
  border-radius: 50%;
  transition: var(--transition);
}
.switch-input:checked + .switch-ball {
  padding: 2px 2px 2px 25px;
  background: var(--black);
  border: 1px solid var(--black);
}
.switch-input:checked + .switch-ball::after {
  background: var(--white);
}
.switch-input:focus + .switch-ball {
  outline: 1px solid var(--black);
}


/* table */
.table-wrap {
  position: relative;
}
*:not(.anchor-position) + .table-wrap {
  margin-top: 32px;
}
.normal-table {
  width: 100%;
}
.normal-table td,
.normal-table th {
  padding: 15px 20px;
  border: 1px solid #e4e4e4;
  background: var(--white);
}
.normal-table.p-small td,
.normal-table.p-small th {
  padding: 8px;
}
.normal-table th {
  color: var(--white);
  text-align: center;
  background: var(--dark-gray);
}
.normal-table td.va-top {
  vertical-align: top;
}
.normal-table thead tr:first-of-type th {
  border-top: none;
}
.normal-table tbody tr th:first-of-type {
  border-left: none;
}
.normal-table tbody tr th.bdl {
  border-left: 1px solid #e4e4e4;
}
.normal-table th.none {
  background: none;
  border: none;
}


/* アコーディオン */
.cmn-acc-box-wrap .cmn-acc-box + .cmn-acc-box {
  margin-top: 24px;
}
.cmn-acc-box {
  position: relative;
}
.cmn-acc-box .acc-ttl {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  padding: 18px 48px 16px 24px;
  font-size: 1.5rem;
  text-decoration: none;
  background: var(--white-gray);
  border-radius: 8px;
}
.cmn-acc-box .acc-ttl .mark {
  display: block;
  position: absolute;
  width: 18px;
  height: 18px;
  top: calc(50% - 9px);
  right: 24px;
}
.cmn-acc-box .acc-ttl .mark:after,
.cmn-acc-box .acc-ttl .mark:before {
  content: "";
  display: block;
  position: absolute;
  width: 18px;
  height: 2px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all 0.3s ease;
  background: var(--black);
}
.cmn-acc-box .acc-ttl .mark:after {
  transform: rotate(90deg);
}
.cmn-acc-box .acc-ttl.cur .mark:after {
  opacity: 0;
}
.cmn-acc-box .acc-contents {
  display: none;
  max-width: 1100px;
  margin: 0 auto;
}
.cmn-acc-box .acc-contents.show {
  display: block;
}
.cmn-acc-box .acc-contents .contents-inner {
  padding: 24px 0;
}
*:not(.anchor-position) + .cmn-acc-box-wrap {
  margin-top: 40px;
}

/* panel */
.panel-wrap.col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 32px;
  grid-row-gap: 32px;
}
.panel-wrap .panel {
  background: var(--white);
  border-radius: 8px;
  position: relative;
}
.panel-wrap > a.panel {
  text-decoration: none;
}
.panel-wrap > a.panel::after {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  right: 20px;
  bottom: 20px;
  background: url(/assets/images/icn_panel_arr.svg) no-repeat center / 6px 8px;
}
.panel-wrap > .panel .img img {
  border-radius: 8px 8px 0 0;
}
.panel-wrap > .panel .txt-wrap {
  padding: 32px 24px;
}
.panel-wrap > .panel .txt-wrap .panel-ttl {
  font-size: 1.6rem;
  font-weight: bold;
}
.panel-wrap > .panel .txt-wrap .panel-ttl + .normal-txt {
  margin-top: 12px;
}
.panel-wrap > .panel .txt-wrap .normal-txt {
  color: var(--dark-gray);
  font-size: 1.4rem;
}
*:not(.anchor-position) + .panel-wrap {
  margin-top: 40px;
}

/* link */
.link-txt {
  text-decoration: underline;
  word-break: break-all;
}
.anchor-link:after {
  content: "";
  display: inline-block;
  background: url(/assets/images/icn_anchor_arr.svg) no-repeat center center / contain;
  width: 9px;
  height: 10px;
  margin-left: 4px;
  vertical-align: middle;
}
.link-txt[target="_blank"]:after {
  background: url(/assets/images/icn_external.svg) no-repeat center center / contain;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-left: 4px;
  vertical-align: middle;
}
.link-txt[href*=".pdf"]:after {
  content: "";
  display: inline-block;
  width: 25px;
  height: 15px;
  margin-left: 4px;
  vertical-align: middle;
  background: url(/assets/images/icn_pdf.svg) no-repeat center center / contain;
}

.icn-link {
  padding-left: 32px;
  position: relative;
}
.icn-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  transition: var(--transition);
  background: url(/assets/images/icn_arr_green.svg) no-repeat left 8px center / 6px 8px;
  border: 1px solid var(--green);
  border-radius: 50%;
}


.link-list {
  margin-top: 24px;
}

.link-list.col1 li:nth-of-type(n+2) ,
.link-list.col2 li:nth-of-type(n+3) ,
.link-list.col3 li:nth-of-type(n+4) {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e5e5e5;
}

.link-list.col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 32px;
}

.link-list.col3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 32px;
}

.link-list li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  width: 100%;
  padding: 5px 40px 5px 0;
  font-size: 1.6rem;
  line-height: 1.4;
  text-decoration: none;
  border-radius: 8px;
}
.link-list li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 32px;
  transition: var(--transition);
  background: url(/assets/images/icn_arr_green.svg) no-repeat center / 6px 8px;
  border: 1px solid var(--green);
  border-radius: 50%;
}
.link-list li a[target="_blank"]::after {
  background: url(/assets/images/icn_external_green.svg) no-repeat center / 11px;
}


/* btn */
.btn-wrap.btn2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 32px;
  grid-row-gap: 24px;
}
.btn-wrap.btn3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 32px;
  grid-row-gap: 24px;
}
.btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  min-height: 64px;
  width: 100%;
  padding: 16px 56px 16px 32px;
  font-size: 1.6rem;
  line-height: 1.4;
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.03);
  text-decoration: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 8px;
  background: var(--white);
}
.btn::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 16px);
  right: 20px;
  width: 32px;
  height: 32px;
  transition: var(--transition);
  background: url(/assets/images/icn_arr_green.svg) no-repeat center / 6px 8px;
  border: 1px solid var(--green);
  border-radius: 50%;
}
.btn[target="_blank"]::after {
  background: url(/assets/images/icn_external_green.svg) no-repeat center / 11px;
}
.btn.no-icn-btn {
  padding: 16px 32px;
}
.btn.no-icn-btn::after {
  display: none;
}
*:not(.anchor-position) + .btn-wrap {
  margin-top: 48px;
}



/* tab */
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li {
  flex: 1;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li + li {
  margin-left: 2px;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  padding: 20px 16px;
  height: 100%;
  font-size: 1.5rem;
  font-weight: bold;
  text-decoration: none;
  background: var(--blue-gray);
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li:first-of-type > .cmn-tab-ttl {
  border-radius: 8px 0 0 8px;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li:last-of-type > .cmn-tab-ttl {
  border-radius: 0 8px 8px 0;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl.cur {
  background: var(--white);
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl.cur::after ,
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl.cur::before {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  top: 0;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl.cur::after {
  height: 2px;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl.cur::before {
  width: 100%;
  left: 0;
  background: #ebeded;
}
.cmn-tab-wrap .cmn-tab-ttl-wrap > ul > li > .cmn-tab-ttl.cur::after {
  width: 40px;
  left: calc(50% - 20px);
  background: var(--green);
}
.cmn-tab-wrap .cmn-tab-contents-wrap .cmn-tab-contents {
  padding: 24px 0;
  display: none;
}
.cmn-tab-wrap .cmn-tab-contents-wrap .cmn-tab-contents.cur {
  display: block;
}
*:not(.anchor-position) + .cmn-tab-wrap {
  margin-top: 48px;
}

/* img */
*:not(.anchor-position) + .cmn-img-box {
  margin-top: 32px;
}

/* pager */
.pager {
  display: flex;
  justify-content: center;
}
.pager ul {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: var(--white);
  margin: 0 auto;
  border-radius: 32px;
}
.pager:has(li:only-child) {
  display: none;
}
.pager ul > li {
  margin: 0 7px;
}
.pager ul > .omit {
  height: 32px;
  background: none;
}
.pager ul a {
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 8px 0;
  overflow: hidden;
  width: 32px;
  height: 32px;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none;
  text-align: center;
  background: none;
  border-radius: 50%;
}
.pager ul .prev {
  margin-right: 23px;
  margin-left: 0;
}
.pager ul .next {
  margin-right: 0;
  margin-left: 23px;
}
.pager ul .next a ,
.pager ul .prev a  {
  border: 1px solid #dcdede;
  background: url(/assets/images/icn_pager_arr.svg) no-repeat center / 12px auto;
  text-indent: -9999px;
}
.pager ul .prev a {
  transform: scale(-1.0,1.0);
}
.pager ul .cur {
  display: block;
  padding: 8px 0;
  overflow: hidden;
  width: 32px;
  height: 32px;
  color: var(--white);
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: .02em;
  text-decoration: none;
  text-align: center;
  background: var(--black);
  border-radius: 50%;
}
*:not(.anchor-position) + .pager {
  margin-top: 48px;
}


/* label */
.label-wrap {
  display: flex;
}
.label-wrap .label {
  position: relative;
  padding: 7px 15px 7px 30px;
  font-size: 1.2rem;
  line-height: 1;
  margin-right: 4px;
  background: #f7fafa;
  border: 1px solid #dbdbdb;
  border-radius: 15px;
}
.label-wrap .label::before {
  content: "";
  position: absolute;
  display: block;
  width: 8px;
  height: 8px;
  top: calc(50% - 4px);
  left: 14px;
  border: 1px solid var(--black);
  border-radius: 50%;
}

/* grid */
* + .grid-wrap {
  margin-top: 32px;
}
.grid-wrap {
  display: grid;
  grid-template-rows: 1fr;
  grid-column-gap: 32px;
  grid-row-gap: 32px;
}
.grid-wrap.col2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid-wrap.col3 {
  grid-template-columns: repeat(3, 1fr);
}
/* module */
/*==========================================================================================================
PC Only
==========================================================================================================*/
@media screen and (min-width: 768px){
  .hamburger-btn ,
  .sp-only {display: none !important;}
  #wrap {
    min-width: 1100px;
  }

  /* link-hover */
  .panel-wrap > a.panel:hover {
    opacity: .7;
  }
  .link-list li a:hover:after {
    background: var(--green) url(/assets/images/icn_arr_white.svg) no-repeat center / 6px 8px;
  }

  .btn:hover:after {
    background: var(--green) url(/assets/images/icn_arr_white.svg) no-repeat center / 6px 8px;
  }
  .btn[target="_blank"]:hover:after {
    background: var(--green) url(/assets/images/icn_external_white.svg) no-repeat center / 11px;
  }
  .btn.no-icn-btn:hover {
    opacity: .7;
  }
  .link-list li a[target="_blank"]:hover:after {
    background: var(--green) url(/assets/images/icn_external_white.svg) no-repeat center / 11px;
  }
  .search-submit:hover {
    background: var(--white) url(/assets/images/icn_search_black.svg) no-repeat center / 18px;
  }
  .pager ul a:hover {
    color: var(--white);
    background: var(--black);
  }

  .pager ul .next a:hover ,
  .pager ul .prev a:hover {
    border: 1px solid var(--black);
    background: var(--black) url(/assets/images/icn_pager_arr_white.svg) no-repeat center / 12px auto;
  }

}

/*==========================================================================================================
 SP Only
==========================================================================================================*/
@media screen and (max-width: 767px){
  
  .pc-only { display: none !important; }

  /*---------------------------------------------
   generic  class
  ---------------------------------------------*/
  .sp-txt-b { font-weight: bold !important; }.sp-txt-n { font-weight: normal !important; }
  .sp-layout-c { text-align: center!important; }.sp-layout-l { text-align: left!important; }.sp-layout-r { text-align: right!important; }
  .sp-fl{float: left!important;}.sp-fr{float: right!important;}
  
  .sp-fz10{ font-size: 1rem !important; }.sp-fz11{ font-size: 1.1rem !important; }.sp-fz12{ font-size: 1.2rem !important; }.sp-fz14{ font-size: 1.4rem !important; }.sp-fz16{ font-size: 1.6rem !important; }.sp-fz18{ font-size: 1.8rem !important; }.sp-fz20{ font-size: 2rem !important; }.sp-fz22{ font-size: 2.2rem !important; }.sp-fz24{ font-size: 2.4rem !important; }.sp-fz26{ font-size: 2.6rem !important; }.sp-fz28{ font-size: 2.8rem !important; }.sp-fz30{ font-size: 3rem !important; }.sp-fz32{ font-size: 3.2rem !important; }.sp-fz34{ font-size: 3.4rem !important; }.sp-fz36{ font-size: 3.6rem !important; }.sp-fz38{ font-size: 3.8rem !important; }.sp-fz40{ font-size: 4rem !important; }.sp-fz42{ font-size: 4.2rem !important; }.sp-fz44{ font-size: 4.4rem !important; }.sp-fz46{ font-size: 4.6rem !important; }.sp-fz48{ font-size: 4.8rem !important; }

  /*---------------------------------------------
  base margin
  ---------------------------------------------*/
  .sp-mt0 { margin-top: 0px !important; }.sp-mt5 { margin-top: 5px !important; }.sp-mt8 { margin-top: 8px !important; }.sp-mt10 { margin-top: 10px !important; }.sp-mt15 { margin-top: 15px !important; }.sp-mt16 { margin-top: 16px !important; }.sp-mt20 { margin-top: 20px !important; }.sp-mt24 { margin-top: 24px !important; }.sp-mt25 { margin-top: 25px !important; }.sp-mt30 { margin-top: 30px !important; }.sp-mt32 { margin-top: 32px !important; }.sp-mt35 { margin-top: 35px !important; }.sp-mt40 { margin-top: 40px !important; }.sp-mt48 { margin-top: 0 !important; }.sp-mt50 { margin-top: 50px !important; }.sp-mt56 { margin-top: 56px !important; }.sp-mt60 { margin-top: 60px !important; }.sp-mt64 { margin-top: 64px !important; }.sp-mt70 { margin-top: 70px !important; }.sp-mt80 { margin-top: 80px !important; }.sp-mt90 { margin-top: 90px !important; }.sp-mt100 { margin-top: 100px !important; }
  
  .sp-ml0 { margin-left: 0px !important; }.sp-ml5 { margin-left: 5px !important; }.sp-ml8 { margin-left: 8px !important; }.sp-ml10 { margin-left: 10px !important; }.sp-ml15 { margin-left: 15px !important; }.sp-ml16 { margin-left: 16px !important; }.sp-ml20 { margin-left: 20px !important; }.sp-ml24 { margin-left: 24px !important; }.sp-ml25 { margin-left: 25px !important; }.sp-ml30 { margin-left: 30px !important; }.sp-ml32 { margin-left: 32px !important; }.sp-ml35 { margin-left: 35px !important; }.sp-ml40 { margin-left: 40px !important; }.sp-ml48 { margin-left: 0 !important; }.sp-ml50 { margin-left: 50px !important; }.sp-ml56 { margin-left: 56px !important; }.sp-ml60 { margin-left: 60px !important; }.sp-ml64 { margin-left: 64px !important; }.sp-ml70 { margin-left: 70px !important; }.sp-ml80 { margin-left: 80px !important; }.sp-ml90 { margin-left: 90px !important; }.sp-ml100 { margin-left: 100px !important; }

  .sp-mr0 { margin-right: 0px !important; }.sp-mr5 { margin-right: 5px !important; }.sp-mr8 { margin-right: 8px !important; }.sp-mr10 { margin-right: 10px !important; }.sp-mr15 { margin-right: 15px !important; }.sp-mr16 { margin-right: 16px !important; }.sp-mr20 { margin-right: 20px !important; }.sp-mr24 { margin-right: 24px !important; }.sp-mr25 { margin-right: 25px !important; }.sp-mr30 { margin-right: 30px !important; }.sp-mr32 { margin-right: 32px !important; }.sp-mr35 { margin-right: 35px !important; }.sp-mr40 { margin-right: 40px !important; }.sp-mr48 { margin-right: 0 !important; }.sp-mr50 { margin-right: 50px !important; }.sp-mr56 { margin-right: 56px !important; }.sp-mr60 { margin-right: 60px !important; }.sp-mr64 { margin-right: 64px !important; }.sp-mr70 { margin-right: 70px !important; }.sp-mr80 { margin-right: 80px !important; }.sp-mr90 { margin-right: 90px !important; }.sp-mr100 { margin-right: 100px !important; }

  .sp-mb0 { margin-bottom: 0px !important; }.sp-mb5 { margin-bottom: 5px !important; }.sp-mb8 { margin-bottom: 8px !important; }.sp-mb10 { margin-bottom: 10px !important; }.sp-mb15 { margin-bottom: 15px !important; }.sp-mb16 { margin-bottom: 16px !important; }.sp-mb20 { margin-bottom: 20px !important; }.sp-mb24 { margin-bottom: 24px !important; }.sp-mb25 { margin-bottom: 25px !important; }.sp-mb30 { margin-bottom: 30px !important; }.sp-mb32 { margin-bottom: 32px !important; }.sp-mb35 { margin-bottom: 35px !important; }.sp-mb40 { margin-bottom: 40px !important; }.sp-mb48 { margin-bottom: 0 !important; }.sp-mb50 { margin-bottom: 50px !important; }.sp-mb56 { margin-bottom: 56px !important; }.sp-mb60 { margin-bottom: 60px !important; }.sp-mb64 { margin-bottom: 64px !important; }.sp-mb70 { margin-bottom: 70px !important; }.sp-mb80 { margin-bottom: 80px !important; }.sp-mb90 { margin-bottom: 90px !important; }.sp-mb100 { margin-bottom: 100px !important; }

  .sp-pt0 { padding-top: 0px !important; }.sp-pt5 { padding-top: 5px !important; }.sp-pt8 { padding-top: 8px !important; }.sp-pt10 { padding-top: 10px !important; }.sp-pt15 { padding-top: 15px !important; }.sp-pt16 { padding-top: 16px !important; }.sp-pt20 { padding-top: 20px !important; }.sp-pt24 { padding-top: 24px !important; }.sp-pt25 { padding-top: 25px !important; }.sp-pt30 { padding-top: 30px !important; }.sp-pt32 { padding-top: 32px !important; }.sp-pt35 { padding-top: 35px !important; }.sp-pt40 { padding-top: 40px !important; }.sp-pt48 { padding-top: 0 !important; }.sp-pt50 { padding-top: 50px !important; }.sp-pt56 { padding-top: 56px !important; }.sp-pt60 { padding-top: 60px !important; }.sp-pt64 { padding-top: 64px !important; }.sp-pt70 { padding-top: 70px !important; }.sp-pt80 { padding-top: 80px !important; }.sp-pt90 { padding-top: 90px !important; }.sp-pt100 { padding-top: 100px !important; }

  .sp-pl0 { padding-left: 0px !important; }.sp-pl5 { padding-left: 5px !important; }.sp-pl8 { padding-left: 8px !important; }.sp-pl10 { padding-left: 10px !important; }.sp-pl15 { padding-left: 15px !important; }.sp-pl16 { padding-left: 16px !important; }.sp-pl20 { padding-left: 20px !important; }.sp-pl24 { padding-left: 24px !important; }.sp-pl25 { padding-left: 25px !important; }.sp-pl30 { padding-left: 30px !important; }.sp-pl32 { padding-left: 32px !important; }.sp-pl35 { padding-left: 35px !important; }.sp-pl40 { padding-left: 40px !important; }.sp-pl48 { padding-left: 0 !important; }.sp-pl50 { padding-left: 50px !important; }.sp-pl56 { padding-left: 56px !important; }.sp-pl60 { padding-left: 60px !important; }.sp-pl64 { padding-left: 64px !important; }.sp-pl70 { padding-left: 70px !important; }.sp-pl80 { padding-left: 80px !important; }.sp-pl90 { padding-left: 90px !important; }.sp-pl100 { padding-left: 100px !important; }

  .sp-pr0 { padding-right: 0px !important; }.sp-pr5 { padding-right: 5px !important; }.sp-pr8 { padding-right: 8px !important; }.sp-pr10 { padding-right: 10px !important; }.sp-pr15 { padding-right: 15px !important; }.sp-pr16 { padding-right: 16px !important; }.sp-pr20 { padding-right: 20px !important; }.sp-pr24 { padding-right: 24px !important; }.sp-pr25 { padding-right: 25px !important; }.sp-pr30 { padding-right: 30px !important; }.sp-pr32 { padding-right: 32px !important; }.sp-pr35 { padding-right: 35px !important; }.sp-pr40 { padding-right: 40px !important; }.sp-pr48 { padding-right: 0 !important; }.sp-pr50 { padding-right: 50px !important; }.sp-pr56 { padding-right: 56px !important; }.sp-pr60 { padding-right: 60px !important; }.sp-pr64 { padding-right: 64px !important; }.sp-pr70 { padding-right: 70px !important; }.sp-pr80 { padding-right: 80px !important; }.sp-pr90 { padding-right: 90px !important; }.sp-pr100 { padding-right: 100px !important; }

  .sp-pb0 { padding-bottom: 0px !important; }.sp-pb5 { padding-bottom: 5px !important; }.sp-pb8 { padding-bottom: 8px !important; }.sp-pb10 { padding-bottom: 10px !important; }.sp-pb15 { padding-bottom: 15px !important; }.sp-pb16 { padding-bottom: 16px !important; }.sp-pb20 { padding-bottom: 20px !important; }.sp-pb24 { padding-bottom: 24px !important; }.sp-pb25 { padding-bottom: 25px !important; }.sp-pb30 { padding-bottom: 30px !important; }.sp-pb32 { padding-bottom: 32px !important; }.sp-pb35 { padding-bottom: 35px !important; }.sp-pb40 { padding-bottom: 40px !important; }.sp-pb48 { padding-bottom: 0 !important; }.sp-pb50 { padding-bottom: 50px !important; }.sp-pb56 { padding-bottom: 56px !important; }.sp-pb60 { padding-bottom: 60px !important; }.sp-pb64 { padding-bottom: 64px !important; }.sp-pb70 { padding-bottom: 70px !important; }.sp-pb80 { padding-bottom: 80px !important; }.sp-pb90 { padding-bottom: 90px !important; }.sp-pb100 { padding-bottom: 100px !important; }

  .sp-w5p { width: 5%!important;}.sp-w8p { width: 8%!important;}.sp-w10p { width: 10%!important;}.sp-w11p { width: 11%!important;}.sp-w12p { width: 12%!important;}.sp-w15p { width: 15%!important;}.sp-w16p { width: 16%!important;}.sp-w20p { width: 20%!important;}.sp-w24p { width: 24%!important;}.sp-w25p { width: 25%!important;}.sp-w30p { width: 30%!important;}.sp-w32p { width: 32%!important;}.sp-w35p { width: 35%!important;}.sp-w40p { width: 40%!important;}.sp-w45p { width: 45%!important;}.sp-w48p { width: 48%!important;}.sp-w50p { width: 50%!important;}.sp-w55p { width: 55%!important;}.sp-w56p { width: 56%!important;}.sp-w60p { width: 60%!important;}.sp-w64p { width: 64%!important;}.sp-w65p { width: 65%!important;}.sp-w70p { width: 70%!important;}.sp-w75p { width: 75%!important;}.sp-w80p { width: 80%!important;}.sp-w85p { width: 85%!important;}.sp-w90p { width: 90%!important;}.sp-w95p { width: 95%!important;}.sp-w100p { width: 100%!important;}.sp-wmax{ width: 100%!important; height: auto!important;}

  /* header */
  #header .header-inner {
    display: flex;
    align-items: center;
    padding: 16px;
  }
  #header .logo-wrap {
    display: flex;
    justify-content: center;
  }
  #header .hd-list {
    position: absolute;
    top: 100%;
    left: 100%;
    width: 100%;
    flex-direction: column;
    background: #f7fafc;
    border-bottom: 1px solid var(--white-gray);
    transition: var(--transition);
  }
  #header .hd-list.show {
    left: 0;
  }
  #header .hd-list li + li {
    margin-left: 0;
  }
  #header .hd-list li {
    padding: 0;
    border-top: 1px solid var(--white-gray);
  }
  #header .hd-list li a {
    padding: 16px;
    font-size: 1.4rem;
  }
  #header .hd-list li a.cur::before {
    display: none;
  }

  .hamburger-btn {
    position: relative;
    display: block;
    z-index: 200;
    width: 16px;
    height: 15px;
    background: none;
    border: none;
    appearance: none;
    cursor: pointer;
    margin-right: 0;
    margin-left: auto;
  }
  .hamburger-btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--green);
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    z-index: 200;
  }
  .hamburger-btn span:nth-of-type(1) {
    top: 0;
  }
  .hamburger-btn span:nth-of-type(2) {
    top: 6px;
  }
  .hamburger-btn span:nth-of-type(3) {
    top: 12px;
  }
  .hamburger-btn.active {
    transform: rotate(360deg);
  }
  .hamburger-btn.active span:nth-of-type(1) {
    transform: translateY(6px) rotate(-45deg);
  }
  .hamburger-btn.active span:nth-of-type(2) {
    transform: translateY(0) rotate(45deg);
  }
  .hamburger-btn.active span:nth-of-type(3) {
    opacity: 0;
  }
  /* header */
  

  /* common */
  #contents {
    padding-top: 72px;
  }
  .normal-section {
    padding-top: 64px;
  }
  .inner-wrap {
    padding: 0 16px;
  }
  .breadcrumbs {
    overflow-x: scroll;
  }
  .breadcrumbs ul {
    flex-wrap: nowrap;
  }
  .breadcrumbs ul > li {
    white-space: nowrap;
  }
  .normal-section {
    padding-bottom: 64px;
  }
  /* common */

  /* module */
  .main-visual {
    min-height: auto;
    display: block;
    padding-top: 32px;
  }
  .main-visual .inner-wrap {
    height: 100%;
    position: relative;
    padding-bottom: 32px;
  }
  .main-visual .h1-ttl {
    align-items: start;
    flex-direction: column;
  }
  .h1-ttl .ttl {
    font-size: 3.2rem;
  }
  .h1-ttl .division {
    margin-left: 0;
    font-size: 1.2rem;
    padding: 2px 8px;
  }
  .main-visual .item-txt {
    font-size: 3.2rem;
  }

  /* ttl */
  .h2-ttl {
    margin-bottom: 24px;
  }
  .h2-ttl::before {
    top: 4px;
  }
  .h2-ttl .ttl {
    font-size: 2.4rem;
  }
  .h3-ttl {
    margin-bottom: 20px;
    padding-left: 24px;
  }
  .h3-ttl::before {
    top: 12px;
    width: 16px;
  }
  .h3-ttl .ttl {
    font-size: 2rem;
  }
  .h4-ttl {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
  .h5-ttl {
    font-size: 1.6rem;
    margin-bottom: 12px;
  }
  .catch-copy {
    font-size: 2.4rem;
    margin-bottom: 24px;
  }
  *:not(.anchor-position) + .h1-ttl {
    margin-top: 56px;
  }
  *:not(.anchor-position) + .h2-ttl {
    margin-top: 40px;
  }
  *:not(.anchor-position) + .h3-ttl {
    margin-top: 32px;
  }
  *:not(.anchor-position) + .h4-ttl {
    margin-top: 24px;
  }
  *:not(.anchor-position) + .h5-ttl {
    margin-top: 16px;
  }
  *:not(.anchor-position) + .catch-copy {
    margin-top: 36px;
  }

  /* txt */
  * + .note-txt ,
  * + .normal-txt {
    margin-top: 8px;
  }

  /* box */
  .bg-box {
    padding: 16px;
  }
  .bg-box + .bg-box {
    margin-top: 24px;
  }
  *:not(.anchor-position) + .shadow-box ,
  *:not(.anchor-position) + .bg-box {
    margin-top: 32px;
  }

  .bg-box .box-ttl {
    font-size: 2rem;
    padding-left: 24px;
  }
  .bg-box .box-ttl::before {
    width: 16px;
    top: 12px;
    left: 0;
    right: auto;
  }
  .bd-box {
    padding: 16px;
    border-radius: 8px;
  }
  *:not(.anchor-position) + .bd-box {
    margin-top: 16px;
  }
  .shadow-box {
    padding: 16px;
  }


  /* list */
  .cmn-dl {
    flex-wrap: wrap;
  }
  .cmn-dl + .cmn-dl {
    margin-top: 20px;
  }
  .cmn-dl dt {
    width: 100%;
    padding: 0 0 12px 0;
  }
  .cmn-dl dd {
    padding: 12px 0;
  }

  .normal-dl {
    flex-direction: column;
  }
  .normal-dl + .normal-dl {
    margin-top: 12px;
  }
  .normal-dl dt {
    margin-right: 0;
    margin-bottom: 8px;
  }
  .normal-dl dd {
    flex: 0 1 auto;
  }


  *:not(.anchor-position) + .normal-list {
    margin-top: 16px;
  }
  *:not(.anchor-position) + .num-list {
    margin-top: 16px;
  }
  *:not(.anchor-position) + .notes-list {
    margin-top: 8px;
  }
  *:not(.anchor-position) + .cmn-dl-wrap {
    margin-top: 24px;
  }

  
  /* input */
  .select-wrap {
    max-width: none;
  }
  .file-wrap {
    align-items: start;
  }
  .cmn-date {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 45px;
    text-align: left;
  }

  .cmn-input {
    width: 100%;
  }
  .cmn-input[type="text"] ,
  .cmn-input[type="tel"] {
    width: 100%;
  }
  .cmn-input[type="email"] {
    width: 100%;
  }

  .form-dl {
    flex-wrap: wrap;
  }
  .form-dl + .form-dl {
    margin-top: 20px;
  }
  .form-dl dt {
    margin-bottom: 12px;
    width: 100%;
  }
  .form-dl dd {
    width: 100%;
  }

  .search-input {
    padding: 10px;
    width: 100%;
    flex: 1;
  }
  /* table */
  *:not(.anchor-position) + .table-wrap {
    margin-top: 24px;
  }

  /* アコーディオン */
  .cmn-acc-box-wrap .cmn-acc-box + .cmn-acc-box {
    margin-top: 20px;
  }
  .cmn-acc-box .acc-ttl {
    padding: 16px 36px 16px 16px;
  }
  .cmn-acc-box .acc-ttl .mark {
    width: 12px;
    height: 12px;
    top: calc(50% - 6px);
    right: 20px;
  }
  .cmn-acc-box .acc-ttl .mark:after,
  .cmn-acc-box .acc-ttl .mark:before {
    width: 12px;
  }
  .cmn-acc-box .acc-contents {
    display: none;
    max-width: 1100px;
    margin: 0 auto;
  }
  .cmn-acc-box .acc-contents.show {
    display: block;
  }
  .cmn-acc-box .acc-contents .contents-inner {
    padding: 24px 0;
  }
  *:not(.anchor-position) + .cmn-acc-box-wrap {
    margin-top: 32px;
  }
  /* panel */
  .panel-wrap.col3 {
    grid-template-columns: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 16px;
  }
  .panel-wrap .panel {
    border-radius: 8px;
  }
  .panel-wrap .panel .img img {
    border-radius: 8px 8px 0 0;
  }
  .panel-wrap .panel .txt-wrap {
    padding: 20px 16px;
  }
  .panel-wrap .panel .txt-wrap .panel-ttl + .normal-txt {
    margin-top: 8px;
  }
  *:not(.anchor-position) + .panel-wrap {
    margin-top: 32px;
  }

  /* link */
  .link-list {
    margin-top: 24px;
  }

  .link-list li + li ,
  .link-list.col1 li:nth-of-type(n+2) ,
  .link-list.col2 li:nth-of-type(n+3) ,
  .link-list.col3 li:nth-of-type(n+4) {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e5e5e5;
  }

  .link-list.col2 ,
  .link-list.col3 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-column-gap: 32px;
  }

  .link-list li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    width: 100%;
    padding: 5px 40px 5px 0;
    font-size: 1.6rem;
    line-height: 1.4;
    text-decoration: none;
    border-radius: 8px;
  }
  .link-list li a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 32px;
    transition: var(--transition);
    background: url(/assets/images/icn_arr_green.svg) no-repeat center / 6px 8px;
    border: 1px solid var(--green);
    border-radius: 50%;
  }
  .link-list li a[target="_blank"]::after {
    background: url(/assets/images/icn_external_green.svg) no-repeat center / 11px;
  }

  /* btn */
  .btn-wrap.btn2 ,
  .btn-wrap.btn3 {
    grid-template-columns: 1fr;
    grid-column-gap: 0px;
    grid-row-gap: 16px;
  }
  .btn {
    max-width: none;
    width: 100%;
  }
  *:not(.anchor-position) + .btn-wrap {
    margin-top: 32px;
  }

    
  /* pager */
  .pager ul > li {
    margin: 0 4px;
  }
  .pager ul .prev {
    margin-right: 16px;
  }
  .pager ul .next {
    margin-left: 16px;
  }
  *:not(.anchor-position) + .pager {
    margin-top: 32px;
  }

  /* grid */
  * + .grid-wrap {
    margin-top: 32px;
  }
  .grid-wrap {
    display: grid;
    grid-template-rows: 1fr;
    grid-column-gap: 24px;
    grid-row-gap: 24px;
  }
  .grid-wrap.col2 {
    grid-template-columns: repeat(1, 1fr);
  }
  .grid-wrap.col3 {
    grid-template-columns: repeat(1, 1fr);
  }


  /* module */
}