@charset "utf-8";
/*=================================================================================*/
/** 768px未満 スマホサイズ画面 ＜これが基本＞ **/

/*==================
  電話番号タップ
==================*/
a.telLink0 {
  cursor: pointer;
  pointer-events: auto;
  text-decoration: underline;
  color: #000000;
}

svg {
  max-height: 30px;
}
img[src$=".svg"] {
  width: 100%;
}

.disp_p {
  display: none;
} /*PC時だけ表示*/
.disp_s {
  display: block;
} /*スマホ時だけ表示*/
.disp_pt {
  display: none;
} /*PC時とタブレット時表示*/
.disp_st {
  display: block;
} /*スマホ時とタブレット時表示*/

.disp_pt_head {
  display: none;
} /*PC時とタブレット時表示*/
.disp_st_head {
  display: block;
} /*スマホ時とタブレット時表示*/

#disp_fix {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 5000;
  width: 100%;
}

/*==========================
	ヘッダー
=========================***/
.main_bg {
  background: #ffd656;
}

#head00s {
  background: #ffffff;
  border-top: #ff9f51 4px solid;
  width: 100%;
  float: none;
  margin: 0;
  padding: 0 1em;
  box-sizing: border-box;
  border-radius: 0;
  position: relative;
  padding: 0;
  z-index: 2;
}

#head00s > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
#head00s > ul > li:nth-child(1) {
  width: 36%;
  padding: 0.5em;
  box-sizing: border-box;
  max-width: 230px;
}
#head00s > ul > li:nth-child(2) {
  width: 42%;
  max-width: 220px;
  margin: 0;
}

.head02s > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
  background: #ffffff;
  border-radius: 20px 0 0 20px;
}
.head02s > ul > li:nth-child(1),
.head02s > ul > li:nth-child(2),
.head02s > ul > li:nth-child(3) {
  margin: 0.2em 1.8%;
  padding: 0.2em;
  box-sizing: border-box;
}
.head02s > ul > li:nth-child(1) {
  width: 27%;
}
.head02s > ul > li:nth-child(2) {
  width: 27%;
}
.head02s > ul > li:nth-child(3) {
  width: 23%;
}

/*=======================
	スマホ用メニュー
========================*/
/*============
nav
=============*/
.nav_s {
  display: block;
  position: fixed;
  top: 0;
  right: -90%;
  width: 90%;
  bottom: 0;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.5s;
  z-index: 3;
  opacity: 0;
}

.open .nav_s {
  right: 0;
  opacity: 1;
}
.nav_s .inner {
  padding: 4em 1em 2em;
  box-sizing: border-box;
}
.nav_s .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav_s .inner > ul > li {
  position: relative;
  padding: 0.7em 0;
  border-bottom: 1px #d6d6d6 solid;
}
.nav_s .inner ul li a {
  color: #000000;
  display: block;
  text-decoration: none;
  transition-duration: 0.2s;
}
.nav_s .inner ul li a:hover {
  color: #fe3908;
}
/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  /*width: 30px;
  height: 30px;*/
  transition: all 0.5s;
  cursor: pointer;
  z-index: 30;
  position: relative;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 31px;
  height: 3px;
  background-color: #ffffff;
  border-radius: 4px;
  transition: all 0.5s;
}

.child {
  display: none;
}

.hmb_block a {
  display: block;
}
.hmb_block a.toggle {
  cursor: pointer !important;
}
.hmb_block .hmb_block_title p {
  font-weight: bold;
}
.hmb_block .hmb_block_title p:after {
  position: absolute;
  content: "";
  background: url("../img/common/hbg_plus.svg") no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  top: 50%;
  right: 2%;
  transform: translate(-50%, -50%);
}

.hmb_block .hmb_block_title.active h3:after {
  position: absolute;
  content: "";
  background: url("../img/common/hbg_mainasu.svg") no-repeat;
  background-size: contain;
  width: 15px;
  height: 15px;
  top: 50%;
  right: 2%;
  transform: translate(-50%, -50%);
}
.hmb_block .inner {
  width: 90%;
  margin: 0 5% !important;
}

.nav_s {
  right: -94%;
  width: 94%;
}

.nav_s::-webkit-scrollbar {
  display: none;
}

/*============
#mask
=============*/
#mask {
  display: none;
  transition: all 0.5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.5;
  z-index: 2;
  cursor: pointer;
}

.maru_hover .maru a {
  display: inline-block;
  margin: 0 0 0 0.6em;
  font-weight: bold;
  padding: 0.1em 3em 0.1em 1em;
  position: relative;
  text-decoration: none;
  z-index: 2;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.maru_hover .maru a::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  width: 10px;
  height: 2px;
  background: #fe3908;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: -1;
}

.maru_hover .maru a p {
  display: inline-block;
  padding: 0 0.2em;
  background: #ffffff;
}

.maru_hover .maru a p {
  display: inline-block;
  padding: 0 0.2em;
  background: #ffffff;
}
.maru_hover .anashi {
  margin: 0 0 0 1.6em;
}

.maru_hover .maru a:hover::before {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  top: 35%;
}
.child {
  display: none;
}

/*===============================
  右固定バナー
===============================*/
.kote_r {
  position: fixed;
  top: 15%;
  right: 0;
  z-index: 30;
}
.kote_r img {
  margin: 0;
  width: 60%;
  float: right;
}

/*===============================
  下固定バナー
===============================*/

.kote_bg {
  width: 100%;
  position: fixed;
  z-index: 500;
  bottom: 0;
}
.kote_block_bg img {
  width: 100%;
  height: 100%;
}

.kote_line {
}
.kote_close {
  cursor: pointer;
  width: 300px;
  height: 40px;
  position: absolute;
  bottom: 94%;
  right: 5px;
  z-index: 20;
}
.kote_close_img {
  width: 40px;
  padding: 0.2em;
  margin: 0 0 0 270px;
  box-sizing: border-box;
  /*background: #003670;*/
}

.kote_block {
  position: relative;
  margin: 0 0 0 0;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
}
.kote {
  width: 50%;
  margin: 0 auto 0 50%;
  max-width: 250px;
  margin: 0 auto;
  position: absolute;
  right: 0.5em;
  bottom: 0.5em;
  border-radius: 20px;
}

.kote_s > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}

.kote_s > ul > li {
  width: 46%;
  max-width: 350px;
  margin: 0 auto 0.5em;
}

/***  ページTOP  ***/
#page_tops {
  position: fixed;
  display: block;
  width: auto;
  max-width: 15%;
  z-index: 50000;
  bottom: 5em;
  right: 0.5em;
}

/*==========================
	フッター
=========================***/
.back_foot {
  background: #36adff;
}
.foot_logo {
  width: 70%;
  margin: 0 auto 1em;
}

.foot_block > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: flex-end;
}
.foot_block > ul > li:nth-child(1) {
  width: 100%;
  margin: 2em 0 0 0;
}
.foot_block > ul > li:nth-child(2) {
  width: 100%;
  margin: 2em 0;
}
.foot_block > ul > li:nth-child(3) {
  width: 49%;
  margin: 2em 5% 0 2%;
}

.foot01_01 {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.foot01_01 > ul {
  width: 46%;
  margin: 0 2%;
}
.foot01_01 > ul > li {
  padding: 0.3em 0;
}

.foot01_01 > ul > li a {
  text-decoration: none;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.foot01_01 > ul > li a:hover {
  color: #fe3908;
}

.foot_block_bnr > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.foot_block_bnr > ul > li {
  width: 100%;
  margin: 0 0 0.5em;
}

/*=============================
	サブ共通
=============================*/

.pan a,
.pan p {
  display: inline-block;
  padding: 0 0.5em 0 0.2em;
  color: #666666;
}
.pan {
  color: #666666;
}
.pan p {
  padding: 0 0.5em;
}

.pan > ol > li {
  display: inline-block;
  padding: 0.5em 0 0.5em 0.5em;
}
.pan > ol > li::after {
  content: "›";
  padding: 0 0 0 0.7em;
}

.pan > ol > li:last-child::after {
  content: "";
  padding: 0;
}
.pan > ol > li,
.pan > ol > li a {
  color: #666666;
}

.pan > ol > li {
  display: inline-block;
  padding: 0 0.2em;
  position: relative;
}

.pan > ol > li::after {
  content: "›";
}

.pan_FFF .pan,
.pan_FFF .pan p,
.pan_FFF .pan a {
  color: #ffffff !important;
}

.pan_FFF .pan > ol > li::after {
  color: #ffffff !important;
}

.title_sub_img {
  padding: 2em 0 0 0;
  margin: 0 0 -5em;
}

.conv01_01 > ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  justify-content: center;
}
.conv01_01 > ul > li {
  width: 50%;
  padding: 0;
}

/*=================================================================================*/
/** 768px以上　タブレット縦　サイズ画面  **/
@media (min-width: 768px) {
  /*==================
  電話番号タップ
==================*/
  a.telLink0 {
    display: inline-block;
    cursor: default;
    pointer-events: none;
    text-decoration: none;
  }

  .disp_p {
    display: block;
    /* padding-top: 10px; */
  } /*PC時・タブレット時表示*/
  .disp_s {
    display: none;
  } /*スマホ時だけ表示*/

  /*=======================
	PC版ナビ
========================*/

  header {
    border-top: #ff9f51 9px solid;
  }
  #head00s > ul > li:nth-child(2) {
    max-width: 480px;
  }
  .head02s > ul > li:nth-child(1) {
    width: 60%;
  margin: 1.2em 1.8% 0.5em;
  }
  .head02s > ul > li:nth-child(2) {
    width: 14%;
  margin: 1em 1.8%;
  }
  .head02s > ul > li:nth-child(3) {
    width: 10%;
  margin: 1em 1.8%;
  }
  .nav01_01 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
  }

  .nav01_01 dl {
    /*640 69*/
    width: 14%;
    padding: 1em 0.5%;
    text-align: center;
  }

  .nav01_02 dl:nth-child(1) {
    /*640 71*/
    width: 11.09375%;
    padding: 0.8em 3.125% 0.8em 0;
  }
  .nav01_02 dl:nth-child(2) {
    /*640 71*/
    width: 11.09375%;
    padding: 0.8em 3.125%;
  }
  .nav01_02 dl:nth-child(3) {
    /*640 144*/
    width: 22.5%;
    padding: 0.8em 3.125%;
  }
  .nav01_02 dl:nth-child(4) {
    /*640 52*/
    width: 8.125%;
    padding: 0.8em 0 0.8em 3.125%;
  }

  .nav01_01 > dl > dt a,
  .nav01_01 > dl > dt span,
  .nav01_02 > dl > dt a,
  .nav01_02 > dl > dt span {
    display: inline-block;
    box-sizing: border-box;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    cursor: pointer;
  }

  .nav01_01 > dl > dt a:hover img,
  .nav01_02 > dl > dt a:hover img {
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }

  .navi_sub01,
  .navi_sub02,
  .navi_sub03,
  .navi_sub04 {
    width: 110%;
    display: none;
    /*opacity: 0;*/
    transition: 0.3s ease-in-out;
    transform: translateY(0);
    position: absolute;
    z-index: 200;
    top: 70%;
    left: -8%;
    box-sizing: border-box;
    /*background:#FFFFFF;*/
  }
  .navi_sub01 {
    top: 95%;
    left: 0;
  }

  .navi01:hover ~ .navi_sub01,
  .navi_sub01:hover,
  .navi02:hover ~ .navi_sub02,
  .navi_sub02:hover,
  .navi03:hover ~ .navi_sub03,
  .navi_sub03:hover,
  .navi04:hover ~ .navi_sub04,
  .navi_sub04:hover {
    display: block;
    /*opacity: 1;*/
  }

  .navi01_01arrow {
    position: relative;
  }

  .navi02 > ul > li {
    display: inline-block;
    position: relative;
    padding: 0 1em 0 1.5em;
  }

  .navi02 > ul > li::after {
    content: "";
    background: url("../img/common/icon_maru.svg") no-repeat;
    width: 9px;
    height: 9px;
    position: absolute;
    top: 57%;
    left: 0.5em;
    transform: translate(-50%, -50%);
  }

  /*============================
	ナビゲーションの中のＣＳＳ
============================*/

  .navi_sub,
  .navi_sub_arrow02,
  .navi_sub_arrow03 {
    position: relative;
    padding: 0;
    z-index: 2;
    /*background:#FFC47B;*/
    background: linear-gradient(transparent 10px, #ffc47b 0 10px);
    color: #ffffff;
  }

  .navi_sub::after,
  .navi_sub_arrow02::after,
  .navi_sub_arrow03::after {
    content: "";
    background: url("../img/icon/icon_arrow_FFC47B.svg") no-repeat;
    width: 14px;
    height: 14px;
    position: absolute;
    bottom: calc(100% - 10px);
    left: 44%;
    transform: translate(-50%, -50%);
    transform: rotate(-90deg);
    z-index: -1;
  }
  .navi_sub > ul > li:first-child a {
    padding-top: 2.2em;
  }

  .navi_sub > ul > li:nth-child(odd) {
    width: 100%;
    margin: 0;
  }
  .navi_sub > ul > li:nth-child(even) {
    width: 100%;
    margin: 0;
  }
  .navi_sub > ul > li a {
    display: block;
    padding: 1.5em 2.5em 1.5em 1.5em;
    border-bottom: 1px solid #ffffff;
    box-sizing: border-box;
    color: #ffffff;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-decoration: none;
    position: relative;
  }

  .navi_sub > ul > li a:hover {
    color: #f07400;
  }
  .navi_sub > ul > li:last-child a {
    border-bottom: none;
  }

  .navi_sub > ul > li a::before {
    content: "";
    background: url("../img/common/icon_more_FFFFFF.svg") no-repeat;
    width: 17px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translate(-50%, -50%);
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
  .navi_sub > ul > li a:hover::before {
    content: "";
    background: url("../img/common/icon_more_FFFFFF.svg") no-repeat;
    width: 17px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 1%;
    transform: translate(-50%, -50%);
  }

  .navi_sub > ul > li:first-child a::before {
    top: 58%;
  }
  .navi_sub_more::before {
    background: none !important;
  }

  .nav_s {
    right: -40%;
    width: 40%;
  }

  /***  フッター  ***/

  .foot_logo {
    width: 80%;
    margin: 1em 0;
  }

  .foot_block > ul > li:nth-child(1) {
    /*345 1380*/
    width: 43%;
    margin: 0 3% 0 0;
  }
  .foot_block > ul > li:nth-child(2) {
    /*345 1380*/
    width: 53%;
    margin: 0 1% 0 0;
  }
  .foot_block > ul > li:nth-child(3) {
    /*345 1380*/
    width: 33%;
    margin: 0;
  }

  #foot01 {
    width: 100%;
    padding: 2em 0 5em 0;
  }

  .foot01_01 > ul {
    width: 48%;
    margin: 0 1%;
  }

  .foot_block_bnr > ul > li {
    width: auto;
    max-width: 305px;
    margin: 0 1%;
  }

  /*===============================
  右固定バナー
===============================*/
  .kote_r img {
    width: 65%;
  }

  /*===============================
  下固定バナー
===============================*/

  .fix {
    z-index: 100000;
    position: fixed;
    bottom: 0;
  }

  /***  ページTOP  ***/
  #page_tops {
    bottom: 0.5em;
    right: 1em;
  }

  .pan > ol > li {
    padding: 0 0.5em;
  }

  .foot_cv_block > ul > li {
    width: 30.666666666%;
    margin: 0 2px;
  }
  .foot_cv_block > ul > li:nth-child(2) {
    padding: 0;
  }
  .foot_cv_block > ul > li:nth-child(3) {
    padding: 0;
  }

  .conv01_01 > ul > li {
    width: 43%;
    padding: 0;
  }
}
/*=================================================================================*/
/** 960px以上 PCサイズ画面 **/
@media (min-width: 1024px) {
}

@media (min-width: 1200px) {
  .disp_pt {
    display: block;
  } /*PC時だけ表示*/
  .disp_st {
    display: none;
  } /*スマホ時とタブレット時表示*/

  .navi {
    /*1600 940*/
    font-size: 105%;
  }

  /*===============================
  右固定バナー
===============================*/
  .kote_r img {
    width: 100%;
  }
  /***  ページTOP  ***/
  #page_tops {
    position: fixed;
    display: block;
    width: auto;
    z-index: 50;
  }

  .title_sub_img {
    padding: 4em 0 0 0;
    margin: 0 0 -13em;
  }
}

@media (min-width: 1400px) {
  /***  ヘッダー  ***/

  #head00s {
    background: none;
    border: none;
    width: 100%;
    float: right;
    margin: 0;
    padding: 0 1em;
    box-sizing: border-box;
    position: relative;
    padding: 0;
    z-index: 2;
  }
  #head00s > ul > li:nth-child(2) {
    width: 55%;
    margin: 1em 0 0 0;
  }

  #head00 {
    width: 100%;
    margin: 0 auto;
    position: relative;
    background: none;
    top: 0;
    padding: 0 0 0.5em 0;
    padding: 0;
    z-index: 500;
  }

  .head_block {
    width: 71%;
    max-width: 1150px;
    background: #ffffff;
    margin: 0;
    position: relative;
  }
  .head_block > ul {
    display: flex; /*フレックボックス宣言*/
    flex-wrap: wrap; /*折り返しあり*/
    width: 100%; /*親要素は100％*/
    right: 0;
    /*並び方の設定*/
    justify-content: space-around; /*親要素に空きがあったら均等に配置　これがなければ左寄せ*/
    align-items: center;
  }

  .head_block > ul > li:nth-child(1) {
    /*1600 269*/
    max-width: 340px;
    padding: 0;
    margin: 0.7em 2% 0.7em 1%;
    box-sizing: border-box;
    width: 22%; /*1600 380*/
    position: relative;
  }
  .head_block > ul > li:nth-child(2) {
    /*1600 190*/
    max-width: 200px;
    width: 18%;
    margin: 1em 1%;
  }
  .head_block > ul > li:nth-child(3) {
    /*1600 460*/
    max-width: 540px;
    width: 40%;
    margin: 0.5em 0;
  }
  .head_cont {
    position: relative;
    cursor: pointer;
  }

  .head_cont::before {
    content: "";
    background: url("../img/common/nav_osusu.svg") no-repeat;
    background-size: contain;
    width: 43px;
    height: 49px;
    position: absolute;
    top: 50%;
    left: 0.5em;
    transform: translate(-50%, -50%);
  }
  .head_cont::after {
    content: "";
    background: url("../img/common/icon_san.svg") no-repeat;
    background-size: contain;
    width: 9px;
    height: 11px;
    position: absolute;
    top: 50%;
    right: 0.5em;
    transform: translate(-50%, -50%);
  }
}

@media (min-width: 1600px) {
  #disp_fix {
    width: 500px;
  }

  #head00s > ul > li:nth-child(1) {
    width: 0;
    padding: 0;
  }
  #head00s > ul > li:nth-child(2) {
    width: 100%;
    margin: 1em 0 0 0;
  }
  .disp_pt_head {
    display: block;
  } /*PC時だけ表示*/
  .disp_st_head {
    display: none;
  } /*スマホ時とタブレット時表示*/

  #head00s > ul {
    justify-content: flex-end;
  }
}
