/*------------------------------
theme name: base
version: 250823
author: yamabatosha
author uri: https://yamabatosha.com
------------------------------*/
/*------------------------------
base
------------------------------*/
html {overflow-x: hidden;}
.right {text-align: right!important;}
.center {text-align: center!important;}
* {outline: none;}
::selection {background: #185aa5; color: #fff;}
/*------------------------------
font
------------------------------*/
.indent {padding-left: 1.1em; text-indent: -1.1em;}
.italic {font-style: italic;}
.sm {font-size: .9em;}
.normal {font-weight: 400;}
/*------------------------------
adjustment
------------------------------*/
.p0 {padding-top: 0!important; padding-bottom: 0!important;}
.pt0 {padding-top: 0!important;}
.mt0 {margin-top: 0!important;}
.mt1 {margin-top: 1em!important;}
.z1 {z-index: 1;}
/*------------------------------
grid
------------------------------*/
.col-center, .col-1, .col-2, .col-1-2, .col-2-1 {
  display: grid;
  grid-template-columns: 100%;
  grid-gap: 50px 30px;
  padding: 70px 0;
  align-items: start;
}
.col-1 {
  grid-gap: 50px 0;
}
/* min-width 600px
------------------------------*/
@media (min-width: 600px) {
  .col-2 {grid-template-columns: repeat(2, 1fr);}
  .col-1-2, .col-2-1 {grid-template-columns: calc(50% - 15px) calc(50% - 15px);}
  .order-1 {order: 1;}
  .order-2 {order: 2;}
}
/* min-width 1024px
------------------------------*/
@media (min-width: 1024px) {
  .col-center, .col-1, .col-2, .col-1-2, .col-2-1 {
    grid-gap: 60px;
    padding: 100px 0 150px;
  }
  .col-center {
    grid-template-columns: 900px;
    justify-content: center;
  }
  .col-1-2 {grid-template-columns: calc(40% - 30px) calc(60% - 30px);}
  .col-2-1 {grid-template-columns: calc(60% - 30px) calc(40% - 30px);}
}
/*------------------------------
faq
------------------------------*/
#faq {
  margin-bottom: 50px;
}

#faq dt {
  position: relative;
  display: inline-block;
  font-size: 1.2em;
  width: 130px;
  color: #185aa5;
  margin: 30px 0;
  cursor: pointer;
}

#faq dd {
  display: none;
  width: 100%;
}

#faq dt::before {
  background: #185aa5;
  position: absolute;
  content: '';
  width: 18px;
  height: 18px;
  top: 50%;
  right: 0;
  margin-top: -9px;
  border-radius: 9px;
}

#faq dt::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(135deg);
  top: 50%;
  right: 5px;
  margin-top: -5px;
  transition: .3s;
}

#faq dt.active::after {
  transform: rotate(315deg);
  margin-top: -3px;
}

#faq dd p {
  padding-left: 2em;
  text-indent: -2em;
}

#faq dd p:nth-child(odd)::before {
  content: 'Q.';
  padding-right: .8em;
}

#faq dd p:nth-child(even)::before {
  content: 'A.';
  padding-right: .8em;
}

#faq dd p:nth-child(even) {
  margin-top: 0;
}

@media (min-width: 1024px) {
  #faq {
    margin-bottom: 100px;
  }
  #faq dt {
    font-size: 1.4em;
    width: 180px;
  }
  #faq dt::before {
    width: 24px;
    height: 24px;
    margin-top: -12px;
    border-radius: 12px;
  }
  #faq dt::after {
    width: 10px;
    height: 10px;
    right: 7px;
    margin-top: -7px;
  }
}