@charset "UTF-8";
/* **************************************************
	デフォルトCSSの再定義
************************************************** */
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
}

body {
  width: 100%;
  height: 100%;
  color: #333333;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  word-break: break-all;
  -webkit-text-size-adjust: none;
  background-color: #F7F6F4;
  overflow-y: scroll;
}

p {
  line-height: 2.7rem;
}

a {
  color: #333333;
  text-decoration: none;
}

a.overh {
  height: 100%;
  display: block;
  position: absolute;
  width: 100%;
  content: "";
  top: 0;
  left: 0;
  z-index: 900;
}

figure {
  text-align: center;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  margin: 0 auto;
}

table {
  width: 100%;
}

input,
button,
select,
textarea {
  border: none;
  -moz-appearance: none !important;
       appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: 0;
  /* macOS/iOSのSafariで角丸になるのを修正 */
  line-height: normal;
  /* macOS/iOSのSafariでplaceholderが上にずれるのを修正 */
}

button {
  cursor: pointer;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

a:hover,
a img:hover,
input[type=button]:hover,
input[type=submit]:hover,
button:hover,
.hover_effect:hover {
  filter: alpha(opacity=70);
  opacity: 0.7;
  transition: 0.3s;
}

.hover_effect {
  position: relative;
}
.hover_effect > a {
  height: 100%;
  display: block;
  position: absolute;
  width: 100%;
  content: "";
  top: 0;
  left: 0;
  z-index: 900;
}
.hover_effect > .n_title {
  text-decoration: underline;
}

a:hover, a:visited, a:active, a:focus {
  text-decoration: none;
  color: #333333;
  outline: none;
}

@media (min-width: 768px) {
  body {
    min-width: 1280px;
  }
}
strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

.tel_link_wrap {
  position: relative;
}
.tel_link_wrap > a {
  height: 100%;
  display: block;
  position: absolute;
  width: 100%;
  content: "";
  top: 0;
  left: 0;
  z-index: 900;
}

/* **************************************************
	レイアウト
************************************************** */
.is-hide {
  display: none;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  height: auto;
  overflow: hidden;
}

.aligncenter {
  display: block;
  margin: 10px auto;
}

.alignright {
  float: right;
  margin: 5px 0 5px 10px;
}

.alignleft {
  float: left;
  margin: 5px 10px 5px 0;
}

.inline_block {
  display: inline-block;
}

#wrapper {
  display: block;
  width: 100%;
  overflow: hidden;
}

@media (min-width: 768px) {
  #wrapper {
    margin: 0 auto;
    padding: 0;
  }
}
/* **************************************************
	header
************************************************** */
header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  height: 80px;
}
header .h_inner .h_fixed_wrap .h_left_wrap {
  margin-right: 80px;
}
header .h_inner .h_fixed_wrap .h_left_wrap a.h_logo {
  display: block;
  will-change: opacity;
  max-width: 310px;
}
header .h_inner .h_fixed_wrap .h_left_wrap a.h_logo h1 {
  display: flex;
  width: 100%;
  height: 80px;
  align-items: center;
  cursor: pointer;
}
header .h_inner .h_fixed_wrap .h_left_wrap a.h_logo h1 img:hover {
  opacity: 1;
}

@media (min-width: 768px) {
  header {
    height: 135px;
    min-width: 1280px;
  }
  header .h_inner {
    position: relative;
  }
  header .h_inner .h_fixed_wrap {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100px;
    padding-right: 100px;
    background-color: rgba(247, 246, 244, 0.9);
    z-index: 100;
  }
  header .h_inner .h_fixed_wrap .h_left_wrap {
    margin: 0;
    flex-shrink: 1;
  }
  header .h_inner .h_fixed_wrap .h_left_wrap a.h_logo {
    max-width: 600px;
    padding-left: 40px;
  }
  header .h_inner .h_fixed_wrap .h_left_wrap a.h_logo h1 {
    height: 100%;
  }
  header .h_inner .h_fixed_wrap .h_right_wrap {
    flex-shrink: 0;
  }
  header .h_inner .h_fixed_wrap .h_right_wrap .h_right_wrap_inner .btn_wrap {
    gap: 10px;
    flex-wrap: nowrap;
  }
  header .h_inner .h_fixed_wrap .h_right_wrap .h_right_wrap_inner .btn_wrap .btn {
    width: 180px;
    min-height: 40px;
  }
}
/* メニュー開閉ボタン */
.toggle {
  position: fixed;
  top: 10px;
  right: 10px;
  width: 60px;
  height: 60px;
  z-index: 3000;
  background-color: #043F9F;
  border-radius: 999px;
}
.toggle .menu_trigger {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.toggle .menu_trigger span {
  position: absolute;
  background: #FFF;
  top: 20px;
  right: 18px;
  transition: all 0.4s;
  border-radius: 2px;
  width: 24px;
  height: 4px;
  -webkit-tap-highlight-color: transparent;
}
.toggle .menu_trigger span:nth-of-type(2) {
  top: 28px;
}
.toggle .menu_trigger span:nth-of-type(2):after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 4px;
  border-radius: 2px;
  transition: all 0.4s;
  background: #FFF;
}
.toggle .menu_trigger span:nth-of-type(3) {
  top: 36px;
}
.toggle .menu_trigger.active span:nth-of-type(1) {
  transform: translateY(8px) scale(0);
}
.toggle .menu_trigger.active span:nth-of-type(2) {
  width: 28px;
  transform: rotate(-45deg);
  top: 29px;
  right: 16px;
}
.toggle .menu_trigger.active span:nth-of-type(2):after {
  width: 28px;
  transform: rotate(90deg);
}
.toggle .menu_trigger.active span:nth-of-type(3) {
  transform: translateY(-8px) scale(0);
}
.toggle .menu_trigger:hover {
  filter: alpha(opacity=100);
  opacity: 1;
}

@media (min-width: 768px) {
  .toggle {
    top: 20px;
    right: 20px;
  }
}
/* **************************************************
	グローバルナビゲーション
************************************************** */
/* グロナビを開いている間背景を固定するクラス */
.bg_fixed {
  overflow-y: scroll !important;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
}

/* グロナビ */
#sp_menu_wrap {
  transition-property: visibility;
  transition-duration: 0.4s;
  visibility: hidden;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  padding-bottom: 30px;
  z-index: 2997;
  background-color: transparent;
  left: 0;
  touch-action: pan-y;
}
#sp_menu_wrap a {
  text-decoration: none;
  will-change: opacity;
}
#sp_menu_wrap.active {
  visibility: visible;
}
#sp_menu_wrap.active .gns_inner {
  transform: translateZ(0);
}
#sp_menu_wrap.active .menu_closer {
  opacity: 1;
}
#sp_menu_wrap li.disable > a {
  opacity: 0.6;
  pointer-events: none;
}
#sp_menu_wrap .menu_closer {
  width: 100%;
  position: absolute;
  display: block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition-property: opacity;
  -webkit-transform: translateZ(0);
  transition-duration: 0.4s;
  transform: translateZ(0);
  opacity: 0;
  background: rgba(0, 0, 0, 0.4);
}
#sp_menu_wrap .gns_inner {
  background-color: #FFF;
  transition-property: transform;
  transition-duration: 0.4s;
  transform: translate3d(100%, 0, 0);
  padding: 70px 0 80px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  max-width: 390px;
}
#sp_menu_wrap {
  /* １階層目 */
}
#sp_menu_wrap #sp_menu > ul {
  padding: 0;
}
#sp_menu_wrap #sp_menu > ul > li {
  border-bottom: solid 1px #043F9F;
  position: relative;
}
#sp_menu_wrap #sp_menu > ul > li > a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px 20px 12px;
  color: #043F9F;
  font-size: 1.8rem;
  line-height: 2.8rem;
  font-weight: bold;
}
#sp_menu_wrap #sp_menu > ul > li.menu-item-has-children > button {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  display: block;
  background: transparent;
  width: 55px;
  height: 51px;
  z-index: 10;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
#sp_menu_wrap #sp_menu > ul > li.menu-item-has-children > button:after {
  position: absolute;
  display: block;
  top: 18px;
  right: 16px;
  content: "";
  height: 9px;
  width: 9px;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
}
#sp_menu_wrap #sp_menu > ul > li.menu-item-has-children.open > button:after {
  top: 22px;
  border-right: none;
  border-bottom: none;
  border-left: 2px solid #000;
  border-top: 2px solid #000;
}
#sp_menu_wrap {
  /* サブメニュー */
}
#sp_menu_wrap ul.sub-menu {
  display: none;
  padding: 0;
}
#sp_menu_wrap ul.sub-menu li {
  border-top: solid 1px #043F9F;
}
#sp_menu_wrap ul.sub-menu li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 7px 15px 7px 30px;
}
#sp_menu_wrap ul.sub-menu li.menu-item-has-children ul.sub-menu li a {
  padding-left: 42px;
}
#sp_menu_wrap ul.sub-menu li.menu-item-has-children ul.sub-menu li.menu-item-has-children ul.sub-menu li a {
  padding-left: 54px;
}

/* グロナビ PC */
@media (min-width: 768px) {
  .pc_menu_wrap {
    position: relative;
    padding-top: 94px;
    margin: 0 auto;
  }
  .pc_menu_wrap #pc_menu {
    margin: 0 auto;
    display: block;
    position: relative;
    overflow: visible;
    text-align: center;
    padding-left: 24px;
  }
  .pc_menu_wrap #pc_menu li.disable > a {
    opacity: 0.6;
    pointer-events: none;
  }
  .pc_menu_wrap #pc_menu > ul {
    display: flex;
    align-items: center;
  }
  .pc_menu_wrap #pc_menu > ul > li {
    cursor: pointer;
    position: relative;
  }
  .pc_menu_wrap #pc_menu > ul > li > a {
    display: grid;
    place-items: center;
    width: 100%;
    height: 36px;
    text-decoration: none;
    padding: 5px 15px;
    will-change: opacity;
  }
  .pc_menu_wrap #pc_menu > ul > li > a > span {
    position: relative;
  }
  .pc_menu_wrap #pc_menu > ul > li > a > span:after {
    position: absolute;
    display: block;
    content: "";
    background-color: #CCCCCC;
    height: 1px;
    width: 100%;
    left: 0;
    bottom: -4px;
  }
  .pc_menu_wrap #pc_menu > ul > li[class*=current-menu-item] > a > span {
    font-weight: bold;
    color: #043F9F;
  }
  .pc_menu_wrap #pc_menu > ul > li[class*=current-menu-item] > a > span:after {
    background-color: #043F9F;
    height: 2px;
    bottom: -5px;
  }
  .pc_menu_wrap #pc_menu > ul > li.menu-item-has-children {
    position: relative;
  }
  .pc_menu_wrap #pc_menu > ul > li.menu-item-has-children > a > span {
    position: relative;
    left: -10px;
  }
  .pc_menu_wrap #pc_menu > ul > li.menu-item-has-children > a > span:after {
    position: absolute;
    content: "▼";
    font-size: 12px;
    display: block;
    top: 48%;
    right: -17px;
    transform: translate(0, -50%);
  }
  .pc_menu_wrap #pc_menu > ul > li {
    /* サブメニュー */
  }
  .pc_menu_wrap #pc_menu > ul > li ul.sub-menu {
    padding: 0;
    z-index: 1000;
    font-weight: normal;
    display: none;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translate(-50%, 0);
    background-color: rgba(0, 0, 0, 0.5);
  }
  .pc_menu_wrap #pc_menu > ul > li ul.sub-menu li a {
    color: #FFF;
    display: block;
    min-width: 150px;
    padding: 15px;
    white-space: nowrap;
  }
}
/* **************************************************
	フッター
************************************************** */
footer {
  position: relative;
}
footer:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/footer_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 318px;
  height: 198px;
  bottom: 0;
  right: 0;
  z-index: -11;
}
footer a {
  color: #043F9F;
}
footer a:hover, footer a:focus, footer a:visited, footer a:active {
  color: #043F9F;
}
footer .f_inner {
  padding: 45px 20px 102px;
}
footer .f_inner .f_nav {
  padding-bottom: 47px;
}
footer .f_inner .f_nav > ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
footer .f_inner .f_nav > ul > li {
  text-align: center;
}
footer .f_inner .f_nav > ul > li a {
  padding: 8px 20px;
  display: block;
  will-change: opacity;
}
footer .f_inner .f_addr {
  text-align: center;
  padding-bottom: 33px;
}
footer .f_inner .f_addr .f_addr_title {
  font-size: 2.8rem;
  line-height: 4.2rem;
  padding-bottom: 16px;
}
footer .f_inner .f_addr .f_addr_content a {
  color: #333333;
}
footer .f_inner .f_copy {
  text-align: center;
}
footer .f_inner .f_copy > p {
  font-size: 1.2rem;
  line-height: 1.8rem;
}

@media (min-width: 768px) {
  footer:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/footer_bg_white_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1100px;
    height: 866px;
    bottom: 0;
    left: 0;
    z-index: -10;
  }
  footer:after {
    background: url("../img/footer_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 360px;
    height: 328px;
    right: initial;
    left: 0;
  }
  footer .f_inner {
    padding: 72px 0 55px;
  }
  footer .f_inner .f_nav {
    padding-bottom: 38px;
  }
  footer .f_inner .f_nav > ul {
    flex-direction: row;
    justify-content: center;
    gap: 0;
  }
  footer .f_inner .f_nav > ul > li {
    position: relative;
  }
  footer .f_inner .f_nav > ul > li:not(:last-of-type):after {
    position: absolute;
    display: block;
    content: "｜";
    top: 50%;
    right: -8px;
    transform: translateY(-50%);
  }
  footer .f_inner .f_nav > ul > li > a {
    padding: 5px 24px;
  }
  footer .f_inner .f_addr {
    padding-bottom: 108px;
  }
  footer .f_inner .f_addr .f_addr_title {
    padding-bottom: 17px;
  }
  footer .f_inner .f_addr .f_addr_content > p {
    display: inline-block;
  }
  footer .f_inner .f_addr .f_addr_content > p.addr_tel {
    padding-right: 30px;
  }
}
/* ----------------------------------------
	ページの先頭へ
---------------------------------------- */
#page_top {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  z-index: 100;
  background-color: #FFF;
  border: 2px solid #043F9F;
  border-radius: 999px;
}
#page_top:hover {
  transition: 0.3s;
  opacity: 0.7;
}
#page_top:before {
  position: absolute;
  display: block;
  top: 17px;
  left: 50%;
  content: "";
  height: 13px;
  width: 13px;
  border-left: 2px solid #043F9F;
  border-top: 2px solid #043F9F;
  transform: translate(-50%, 0) rotate(45deg);
}
#page_top:after {
  position: absolute;
  display: block;
  bottom: 10px;
  left: 50%;
  content: "TOP";
  font-size: 1.2rem;
  line-height: 1.8rem;
  font-weight: bold;
  color: #043F9F;
  transform: translate(-50%, 0);
}
#page_top a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  position: relative;
  z-index: 100;
}

@media (min-width: 768px) {
  #page_top {
    bottom: 20px;
    right: 20px;
  }
}
/* **************************************************
	共通パーツ
************************************************** */
/* ----------------------------------------
	ボタン
---------------------------------------- */
.btn_wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin: 0;
  width: 100%;
}
.btn_wrap .btn {
  text-decoration: none;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 166px;
  min-height: 45px;
  font-weight: bold;
  padding: 5px 15px;
  transition: 0.3s;
  position: relative;
  background-color: #043F9F;
  color: #FFF;
  border-radius: 999px;
}
.btn_wrap .btn > span {
  display: inline-block;
}
.btn_wrap .btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.btn_wrap .btn.arrow {
  padding-left: 30px;
  padding-right: 30px;
  position: relative;
}
.btn_wrap .btn.arrow > span {
  margin-left: -16px;
}
.btn_wrap .btn.arrow:before {
  position: absolute;
  display: block;
  content: "";
  background-color: rgba(255, 255, 255, 0.86);
  border-radius: 999px;
  width: 18px;
  height: 18px;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.btn_wrap .btn.arrow:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/btn_arrow_sp.png") no-repeat center center;
  background-size: cover;
  border-radius: 999px;
  width: 12px;
  height: 12px;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
}
.btn_wrap .btn.orange {
  background-color: #E37A00;
}
.btn_wrap .btn.orange.arrow:after {
  background: url("../img/btn_arrow_orange_sp.png") no-repeat center center;
  background-size: cover;
}

@media (min-width: 768px) {
  .btn_wrap {
    gap: 20px;
  }
  .btn_wrap .btn {
    max-width: initial;
    width: 220px;
    min-height: 60px;
  }
  .btn_wrap .btn.arrow {
    padding-left: 40px;
    padding-right: 40px;
  }
  .btn_wrap .btn.arrow > span {
    margin-left: -24px;
  }
  .btn_wrap .btn.arrow:before {
    width: 24px;
    height: 24px;
    right: 14px;
  }
  .btn_wrap .btn.arrow:after {
    background: url("../img/btn_arrow_pc.png") no-repeat center center;
    background-size: cover;
    width: 14px;
    height: 14px;
    right: 19px;
  }
  .btn_wrap .btn.orange:after {
    background: url("../img/btn_arrow_orange_pc.png") no-repeat center center;
    background-size: cover;
  }
}
/* ----------------------------------------
	区切り線
---------------------------------------- */
.spl {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border: 0;
  border-bottom: solid 1px #043F9F;
}

/* ----------------------------------------
	リスト（ul, li）
---------------------------------------- */
.list_def_01 {
  padding: 0;
  margin: 0;
}
.list_def_01 li {
  position: relative;
  padding: 0 0 0 25px;
  list-style: none;
}
.list_def_01 li:before {
  position: absolute;
  content: "●";
  top: 0;
  left: 5px;
}

/* ----------------------------------------
	文字の装飾
---------------------------------------- */
.txt_important {
  font-weight: bold;
  color: #F00;
}

.txt_red {
  color: #F00;
}

.txt_note {
  display: block;
  padding-left: 16px;
  position: relative;
}
.txt_note:before {
  position: absolute;
  display: block;
  content: "※";
  top: 0;
  left: 0;
}

.txt_under {
  text-decoration: underline;
}

.txt_inblock {
  display: inline-block;
}

.txt_block {
  display: block;
}

.senja_r {
  font-weight: normal;
}

/* ----------------------------------------
	ローディング
---------------------------------------- */
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0px;
  background-color: #fff;
  z-index: 4000;
}

#loader {
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -16px;
  margin-top: -50px;
}

@media (min-width: 768px) {
  #loader-bg {
    /*top: 142px;*/
    top: 0;
  }
  #loading {
    /*margin-top: -142px;*/
    margin-top: 0;
  }
}
/* **************************************************
	背景
************************************************** */
.container {
  width: 100%;
}

/****
 **** 以下、セクション毎のレイアウト ****
 ****/
/* 共通 */
body.top #wrapper .container > .separator_block {
  height: 100px;
  width: 2px;
  margin: 0 auto;
  background-color: #043F9F;
}

/* TOPセクション */
body.top #wrapper .container section.sec_top {
  position: relative;
}
body.top #wrapper .container section.sec_top:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_top_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 321px;
  height: 523px;
  top: 31px;
  left: 0;
  z-index: -10;
}
body.top #wrapper .container section.sec_top:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_top_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 527px;
  height: 577px;
  top: 1px;
  right: 0px;
  z-index: -11;
}
body.top #wrapper .container section.sec_top .sec_inner {
  padding: 0 20px 18px;
}
body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap {
  padding-bottom: 34px;
}
body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 h2.sec_t_title {
  max-width: 350px;
  margin: 0 auto;
}
body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 .sec_t_summary > figure {
  max-width: 260px;
  margin: 0 auto;
}
body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 .sec_t_summary > p {
  text-align: center;
  padding-top: 15px;
  padding-bottom: 42px;
  line-height: 3rem;
}
body.top #wrapper .container section.sec_top .sec_inner figure.scroll_down {
  max-width: 110px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_top {
    position: relative;
  }
  body.top #wrapper .container section.sec_top:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_top_bg_white_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1066px;
    height: 1310px;
    top: 116px;
    left: 0;
    z-index: -10;
  }
  body.top #wrapper .container section.sec_top:after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_top_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1069px;
    height: 857px;
    top: 1px;
    right: 0;
    z-index: -11;
  }
  body.top #wrapper .container section.sec_top .sec_inner {
    width: 1280px;
    margin: 0 auto;
    padding: 0 80px 18px;
  }
  body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap {
    display: flex;
    justify-content: center;
    padding-bottom: 47px;
  }
  body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 h2.sec_t_title {
    max-width: initial;
    margin: 0;
    width: 428px;
  }
  body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 .sec_t_summary > figure {
    max-width: initial;
    width: 428px;
    margin: 0;
  }
  body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 .sec_t_summary > p {
    text-align: left;
    padding-top: 10px;
    padding-bottom: 39px;
    line-height: 3rem;
  }
  body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_1 .sec_t_summary > .btn_wrap {
    justify-content: flex-start;
  }
  body.top #wrapper .container section.sec_top .sec_inner .sec_t_main_wrap .sec_t_main_2 figure.sec_t_img {
    width: 692px;
  }
  body.top #wrapper .container section.sec_top .sec_inner figure.scroll_down {
    max-width: 110px;
    margin: 0 auto;
  }
}
/* 私の保育、これでいいのかな？ */
body.top #wrapper .container section.sec_issue .sec_inner {
  padding: 40px 20px 36px;
}
body.top #wrapper .container section.sec_issue .sec_inner h3.sec_i_title {
  margin: 0 auto 15px;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_summary > p {
  text-align: center;
  padding-bottom: 36px;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content {
  position: relative;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_issue_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  bottom: 126px;
  right: -20px;
  z-index: -10;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_issue_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 283px;
  height: 691px;
  bottom: -136px;
  left: -20px;
  z-index: -11;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content > ul {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content > ul > li {
  font-size: 1.8rem;
  line-height: 2.6rem;
  position: relative;
  padding-left: 40px;
  font-weight: bold;
}
body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content > ul > li:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/li_icon.png") no-repeat center center;
  background-size: cover;
  width: 30px;
  height: 30px;
  top: 4px;
  left: 0;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_issue .sec_inner {
    padding: 70px 0 69px;
    width: 1280px;
    margin: 0 auto;
    background: url("../img/sec_issue_bg_pc.png") no-repeat center 147px;
    background-size: 1084px 344px;
  }
  body.top #wrapper .container section.sec_issue .sec_inner h3.sec_i_title {
    max-width: initial;
    width: 808px;
    margin-bottom: 45px;
  }
  body.top #wrapper .container section.sec_issue .sec_inner .sec_i_summary > p {
    padding-bottom: 35px;
  }
  body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content {
    width: 820px;
    margin: 0 auto;
    padding-left: 47px;
  }
  body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content:before, body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content:after {
    background: none;
    width: initial;
    height: initial;
  }
  body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content > ul {
    gap: 0;
  }
  body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content > ul > li {
    line-height: 5rem;
    padding-left: 41px;
  }
  body.top #wrapper .container section.sec_issue .sec_inner .sec_i_content > ul > li:before {
    top: 9px;
  }
}
/* 「視点」を増やそう */
body.top #wrapper .container section.sec_view .sec_inner {
  padding: 40px 20px 60px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_title {
  max-width: 310px;
  margin: 0 auto 8px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_summary {
  padding-bottom: 34px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content {
  padding: 0 25px 59px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li {
  position: relative;
  padding: 115px 0 24px;
  border-bottom: 1px solid #CCCCCC;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_view_point01_icon.png") no-repeat center center;
  background-size: cover;
  width: 90px;
  height: 90px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li .li_title {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 3.3rem;
  text-align: center;
  color: #043F9F;
  padding-bottom: 23px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure {
  margin-bottom: 15px;
  position: relative;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_view_point01_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 547px;
  bottom: -177px;
  left: -45px;
  z-index: -10;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_view_point01_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 318px;
  height: 639px;
  bottom: -61px;
  right: -45px;
  z-index: -11;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure > img {
  border-radius: 10px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:nth-of-type(2):before {
  background: url("../img/sec_view_point02_icon.png") no-repeat center center;
  background-size: cover;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:nth-of-type(2) > figure:before {
  background: none;
  width: initial;
  height: initial;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:nth-of-type(2) > figure:after {
  background: url("../img/sec_view_point02_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 174px;
  height: 417px;
  right: initial;
  left: -45px;
  bottom: initial;
  top: -146px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:nth-of-type(3):before {
  background: url("../img/sec_view_point03_icon.png") no-repeat center center;
  background-size: cover;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:nth-of-type(3) > figure:before {
  background: url("../img/sec_view_point03_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  left: initial;
  right: -45px;
  bottom: initial;
  top: -227px;
}
body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li:nth-of-type(3) > figure:after {
  background: url("../img/sec_view_point03_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 451px;
  height: 764px;
  bottom: initial;
  top: 50px;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_view {
    position: relative;
  }
  body.top #wrapper .container section.sec_view:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_view_bg_illust-wh_pc.png") no-repeat center center;
    background-size: cover;
    width: 1150px;
    height: 1748px;
    top: 7px;
    right: 0;
    z-index: -10;
  }
  body.top #wrapper .container section.sec_view:after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_view_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 577px;
    height: 1409px;
    top: -88px;
    left: 0;
    z-index: -11;
  }
  body.top #wrapper .container section.sec_view .sec_inner {
    padding: 74px 0 81px;
    width: 1280px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_title {
    max-width: initial;
    width: 320px;
    margin-bottom: 29px;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_summary {
    padding-bottom: 74px;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_summary > p {
    text-align: center;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_content {
    padding: 0 0 80px;
    width: 1020px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol {
    flex-direction: row;
    gap: initial;
    justify-content: space-between;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li {
    padding: 127px 0 24px;
    width: 300px;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure {
    margin-bottom: 29px;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure:before, body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure:after {
    background: none !important;
    width: initial !important;
    height: initial !important;
  }
  body.top #wrapper .container section.sec_view .sec_inner .sec_v_content > ol > li > figure > img {
    border-radius: 10px;
  }
}
/* 保育をもっと楽しもう！ */
body.top #wrapper .container section.sec_case .sec_inner {
  padding: 36px 20px 60px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_title {
  max-width: 350px;
  margin: 0 auto 6px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_summary {
  padding-bottom: 71px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content {
  padding-bottom: 60px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol {
  display: flex;
  flex-direction: column;
  gap: 33px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li {
  position: relative;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_case_case01_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 547px;
  top: -185px;
  left: -20px;
  z-index: -10;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_case_case01_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 801px;
  top: -40px;
  left: -20px;
  z-index: -11;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap {
  padding: 82px 0 30px;
  position: relative;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_case_case01_icon.png") no-repeat center center;
  background-size: cover;
  width: 57px;
  height: 46px;
  top: 0;
  left: 0;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap:after {
  position: absolute;
  display: block;
  content: "";
  background-color: #CCCCCC;
  width: 83.7%;
  width: calc(100% - 57px);
  height: 1px;
  top: 32px;
  right: 0;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .li_title {
  padding-bottom: 9px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .li_title > span {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 3.3rem;
  position: relative;
  padding-bottom: 3px;
  margin-bottom: 18px;
  border-bottom: 2px solid #043F9F;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before .txt_title, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_title {
  padding-bottom: 19px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before .txt_title > span, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_title > span {
  position: relative;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before .txt_title > span:after, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_title > span:after {
  position: absolute;
  display: block;
  content: "";
  background-color: #BABABA;
  width: 21px;
  height: 2px;
  bottom: -9px;
  left: 0;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before {
  padding-bottom: 21px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after {
  padding-bottom: 24px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_title {
  color: #043F9F;
  font-weight: bold;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_title > span:after {
  background-color: #043F9F;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_content {
  color: #043F9F;
  font-weight: bold;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_title {
  color: #FFF;
  font-weight: bold;
  width: 130px;
  height: 34px;
  padding: 5px 17px 7px;
  background-color: #043F9F;
  border-radius: 8px 8px 0 0;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_content {
  background-color: #FFF;
  border-radius: 0 8px 8px 8px;
  font-weight: bold;
  padding: 14px 20px 15px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li > figure > img {
  border-radius: 10px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(2):before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_case_case02_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  top: -16px;
  left: initial;
  right: -20px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(2):after {
  background: none;
  width: initial;
  height: initial;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(2) .li_text_wrap:before {
  background: url("../img/sec_case_case02_icon.png") no-repeat center center;
  background-size: cover;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(3):before {
  background: url("../img/sec_case_case03_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 547px;
  top: 267px;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(3):after {
  background: url("../img/sec_case_case03_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 451px;
  height: 764px;
  top: -307px;
  left: initial;
  right: -20px;
  z-index: -11;
}
body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(3) .li_text_wrap:before {
  background: url("../img/sec_case_case03_icon.png") no-repeat center center;
  background-size: cover;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_case {
    position: relative;
  }
  body.top #wrapper .container section.sec_case:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_case_bg_or-wh_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1100px;
    height: 1382px;
    top: 1037px;
    left: 0;
    z-index: -10;
  }
  body.top #wrapper .container section.sec_case:after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_case_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 740px;
    height: 1487px;
    top: 620px;
    right: 0;
    z-index: -11;
  }
  body.top #wrapper .container section.sec_case .sec_inner {
    padding: 74px 0 80px;
    width: 1280px;
    margin: 0 auto;
    position: relative;
  }
  body.top #wrapper .container section.sec_case .sec_inner:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_case_bg_pc.png") no-repeat center center;
    background-size: cover;
    width: 1080px;
    height: 320px;
    top: -54px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_title {
    max-width: initial;
    width: 400px;
    margin-bottom: 29px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_summary {
    text-align: center;
    padding-bottom: 69px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content {
    padding-bottom: 80px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol {
    gap: 101px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li {
    margin: 0 0 0 140px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:before, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:after {
    background: none !important;
    width: initial !important;
    height: initial !important;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap {
    padding: 72px 0 0;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap:after {
    width: 627px;
    top: 24px;
    left: 57px;
    right: initial;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .li_title {
    padding-bottom: 34px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .li_title > span {
    font-size: 2.4rem;
    line-height: 3.6rem;
    margin-bottom: 0;
    padding-bottom: 2px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after {
    display: flex;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before .txt_title, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after .txt_title {
    width: 84px;
    padding-bottom: 0;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_before {
    padding-bottom: 29px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_after {
    padding-bottom: 34px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit {
    height: 50px;
    display: flex;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_title, body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_content {
    display: flex;
    align-items: center;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_title {
    width: 120px;
    height: initial;
    border-radius: 8px 0 0 8px;
    padding: 0 0 0 20px;
    position: relative;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_title:after {
    position: absolute;
    display: block;
    content: "";
    width: 0;
    height: 0;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 20px solid #043F9F;
    border-right: 0;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li .li_text_wrap .txt_merit .txt_content {
    width: 564px;
    border-radius: 0 8px 8px 0;
    padding: 0 0 0 36px;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li > figure {
    width: 400px;
    flex-shrink: 0;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(2n) {
    margin: 0 140px 0 0;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(2n) .li_text_wrap {
    order: 2;
  }
  body.top #wrapper .container section.sec_case .sec_inner .sec_c_content > ol > li:nth-of-type(2n) > figure {
    order: 1;
  }
}
/* あなたの“今”に合った講座が選べます */
body.top #wrapper .container section.sec_course {
  position: relative;
}
body.top #wrapper .container section.sec_course:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_course_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  top: 123px;
  right: 0;
  z-index: -10;
}
body.top #wrapper .container section.sec_course:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_course_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 1178px;
  height: 702px;
  top: -62px;
  left: 50%;
  transform: translateX(-62.6%);
  transform: translateX(calc(-50% - 148px));
  z-index: -11;
}
body.top #wrapper .container section.sec_course .sec_inner {
  padding: 30px 20px 60px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_title {
  max-width: 350px;
  margin: 0 auto 14px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_summary {
  padding-bottom: 51px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content {
  padding-bottom: 60px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content .content_title {
  padding-bottom: 30px;
  text-align: center;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content .content_title > span {
  font-size: 2rem;
  line-height: 2.9rem;
  color: #043F9F;
  font-weight: bold;
  display: inline-block;
  padding-bottom: 14px;
  border-bottom: 2px solid #043F9F;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li {
  width: 170px;
  height: 170px;
  padding: 9px;
  border: 2px solid #043F9F;
  border-radius: 8px;
  background-color: #FFF;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li .li_title {
  display: grid;
  place-items: center;
  height: 65px;
  line-height: 2rem;
  padding-top: 2px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li .li_title > span {
  color: #043F9F;
  font-weight: bold;
  padding-right: 11px;
  position: relative;
  display: inline-block;
  margin-left: -10px;
}
body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li .li_title > span:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/icon_arrow.png") no-repeat center center;
  background-size: cover;
  width: 14px;
  height: 14px;
  top: 48%;
  right: -11px;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_course:before {
    background: url("../img/sec_course_bg_illust_pc.png") no-repeat center center;
    background-size: cover;
    width: 430px;
    height: 489px;
    top: 117px;
    right: initial;
    left: 0;
    z-index: -1;
  }
  body.top #wrapper .container section.sec_course:after {
    background: url("../img/sec_course_bg_or-wh_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1150px;
    height: 1574px;
    top: 617px;
    left: initial;
    right: 0;
    transform: initial;
    z-index: -10;
  }
  body.top #wrapper .container section.sec_course .sec_inner {
    padding: 74px 0 80px;
    width: 1280px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_title {
    max-width: initial;
    width: 610px;
    margin-bottom: 28px;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_summary {
    text-align: center;
    padding-bottom: 70px;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content {
    padding-bottom: 80px;
    width: 1000px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content .content_title {
    padding-bottom: 40px;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 26.67px;
    gap: 30px 26.6666666667px;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li {
    width: 230px;
    height: 230px;
    padding: 13px;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li .li_title {
    height: 88px;
  }
  body.top #wrapper .container section.sec_course .sec_inner .sec_crs_content > ul > li .li_title > span:after {
    right: -12px;
  }
}
/* 子どもにとって豊かな時間をつくる */
body.top #wrapper .container section.sec_vision .sec_inner {
  padding: 77px 20px 60px;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_img {
  position: relative;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_img:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_vision_bg_white_01_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 547px;
  bottom: 12px;
  left: -20px;
  z-index: -10;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_img:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_vision_bg_orange_01_sp.svg") no-repeat center center;
  background-size: cover;
  width: 174px;
  height: 417px;
  bottom: -100px;
  left: -20px;
  z-index: -11;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_title {
  max-width: 350px;
  margin: 0 auto 24px;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_summary {
  padding-bottom: 35px;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content {
  padding-bottom: 60px;
  position: relative;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_vision_bg_white_02_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  top: -53px;
  right: -20px;
  z-index: -10;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_vision_bg_orange_02_sp.svg") no-repeat center center;
  background-size: cover;
  width: 444px;
  height: 764px;
  top: -174px;
  right: -20px;
  z-index: -11;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap {
  padding-bottom: 69px;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap > figure {
  margin-bottom: 40px;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child {
  display: flex;
  justify-content: space-between;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child figure.img_illust {
  width: 49.4%;
  width: 49.4285714286%;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child figure.img_photo {
  width: 47.7%;
  width: 47.7142857143%;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child figure.img_photo > img {
  border-radius: 10px;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap {
  position: relative;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_vision_bg_white_03_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 547px;
  top: 13px;
  left: -20px;
  z-index: -10;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_vision_bg_orange_03_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 801px;
  top: 228px;
  left: -20px;
  z-index: -11;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div {
  padding: 24px 0 24px;
  border-top: 1px solid #CCCCCC;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div:last-of-type {
  border-bottom: 1px solid #CCCCCC;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div > dt, body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div dd {
  line-height: 2.7rem;
}
body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div > dt {
  font-weight: bold;
  padding-bottom: 10px;
}
body.top #wrapper .container section.sec_vision .sec_inner .btn_wrap .btn {
  border: 2px solid #043F9F;
  background-color: #FFF;
  color: #043F9F;
  padding: 5px 30px;
}
body.top #wrapper .container section.sec_vision .sec_inner .btn_wrap .btn:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/icon_link_sp.png") no-repeat center center;
  background-size: cover;
  width: 16px;
  height: 14px;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
body.top #wrapper .container section.sec_vision .sec_inner .btn_wrap .btn > span {
  margin-left: -16px;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_vision {
    position: relative;
  }
  body.top #wrapper .container section.sec_vision:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_vision_bg_white_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1100px;
    height: 1382px;
    top: 1103px;
    left: 0px;
    z-index: -10;
  }
  body.top #wrapper .container section.sec_vision:after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_vision_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1119px;
    height: 1090px;
    top: 118px;
    left: 0px;
    z-index: -11;
  }
  body.top #wrapper .container section.sec_vision .sec_inner {
    padding: 74px 0 80px;
    width: 1280px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_img:before, body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_img:after {
    background: none;
    width: initial;
    height: initial;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_title {
    max-width: initial;
    width: 586px;
    margin-bottom: 29px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_summary {
    padding-bottom: 94px;
    text-align: center;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content {
    padding-bottom: 80px;
    width: 1140px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content:before, body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content:after {
    background: none;
    width: initial;
    height: initial;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap {
    padding-bottom: 0;
    position: relative;
    z-index: 1;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap > figure {
    margin: 0 auto;
    width: 658px;
    padding-right: 38px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child {
    width: 100%;
    justify-content: space-between;
    position: absolute;
    top: -40px;
    left: 0;
    z-index: 2;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child figure.img_illust {
    width: 287px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .img_wrap .img_wrap_child figure.img_photo {
    padding-top: 406px;
    width: 332px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content > figure.sec_vsn_img {
    width: 1000px;
    margin: 0 auto 46px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap {
    width: 1000px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap:before, body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap:after {
    background: none;
    width: initial;
    height: initial;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div {
    display: flex;
    padding-top: 25px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .sec_vsn_content .sec_vsn_dl_wrap > dl > div > dt {
    width: 140px;
    padding-bottom: 0;
    flex-shrink: 0;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .btn_wrap .btn:after {
    background: url("../img/icon_link_pc.png") no-repeat center center;
    background-size: cover;
    width: 20px;
    height: 18px;
    right: 30px;
  }
  body.top #wrapper .container section.sec_vision .sec_inner .btn_wrap .btn > span {
    margin-left: -20px;
  }
}
/* よくある質問 */
body.top #wrapper .container section.sec_faq {
  position: relative;
}
body.top #wrapper .container section.sec_faq:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_faq_bg_white_01_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  top: 51px;
  right: 0;
  z-index: -10;
}
body.top #wrapper .container section.sec_faq:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_faq_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 1178px;
  height: 702px;
  top: 830px;
  left: 50%;
  transform: translateX(-62.6%);
  transform: translateX(calc(-50% - 148px));
  z-index: -11;
}
body.top #wrapper .container section.sec_faq .sec_inner {
  padding: 30px 20px 60px;
  position: relative;
}
body.top #wrapper .container section.sec_faq .sec_inner:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_faq_bg_white_02_sp.svg") no-repeat center center;
  background-size: cover;
  width: 328px;
  height: 547px;
  top: 1250px;
  left: 0;
  z-index: -10;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_title {
  max-width: 350px;
  margin: 0 auto 25px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_summary {
  padding-bottom: 34px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content {
  padding-bottom: 60px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div {
  border: 2px solid #043F9F;
  border-radius: 10px;
  background-color: #FFF;
  padding: 10px 0 9px 18px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dt, body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dd {
  padding-left: 28px;
  position: relative;
  line-height: 2.7rem;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dt:before, body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dd:before {
  position: absolute;
  display: block;
  content: "A.";
  top: 0;
  left: 0;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dt {
  padding-right: 38px;
  font-weight: bold;
  color: #043F9F;
  cursor: pointer;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dt:before {
  content: "Q.";
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dt:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/icon_open.png") no-repeat center center;
  background-size: cover;
  width: 18px;
  height: 18px;
  top: 48%;
  right: 14px;
  transform: translateY(-50%);
  transition: 0.3s;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dd {
  display: none;
  margin-top: 22px;
  padding-right: 18px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div.open > dt:after {
  background: url("../img/icon_close.png") no-repeat center center;
  background-size: cover;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div.faq_web > dd {
  display: block;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div.faq_web > dd > div > p.main {
  padding-left: 16px;
}
body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div.faq_web > dd > div > p.main > a {
  display: inline-block;
  color: #043F9F;
  text-decoration: underline;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_faq:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_faq_bg_illust-or-wh_pc.png") no-repeat center center;
    background-size: cover;
    width: 1150px;
    height: 2713px;
    top: -551px;
  }
  body.top #wrapper .container section.sec_faq:after {
    background: url("../img/sec_faq_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 299px;
    height: 865px;
    top: 587px;
    left: 0;
    transform: initial;
  }
  body.top #wrapper .container section.sec_faq .sec_inner {
    padding: 74px 0 80px;
    width: 1280px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_faq .sec_inner:before {
    background: none;
    width: initial;
    height: initial;
  }
  body.top #wrapper .container section.sec_faq .sec_inner .sec_f_title {
    max-width: initial;
    width: 220px;
    margin-bottom: 28px;
  }
  body.top #wrapper .container section.sec_faq .sec_inner .sec_f_summary {
    padding-bottom: 56px;
    text-align: center;
  }
  body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content {
    padding-bottom: 80px;
    width: 900px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl {
    gap: 20px;
  }
  body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dt, body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div > dd {
    padding-left: 48px;
  }
  body.top #wrapper .container section.sec_faq .sec_inner .sec_f_content > dl > div.faq_web > dd > a {
    padding-bottom: 3px;
  }
}
/* 秋からの保育に自信を持つ */
body.top #wrapper .container section.sec_confidence .sec_inner {
  padding: 54px 20px 59px;
}
body.top #wrapper .container section.sec_confidence .sec_inner .sec_cnf_title {
  max-width: 350px;
  margin: 0 auto 26px;
}
body.top #wrapper .container section.sec_confidence .sec_inner .sec_cnf_summary {
  padding-bottom: 54px;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_confidence {
    position: relative;
  }
  body.top #wrapper .container section.sec_confidence:after {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_confidence_bg_orange_pc.svg") no-repeat center center;
    background-size: cover;
    width: 1130px;
    height: 870px;
    top: -62px;
    right: 0;
    z-index: -11;
  }
  body.top #wrapper .container section.sec_confidence .sec_inner {
    padding: 74px 0 80px;
    width: 1280px;
    margin: 0 auto;
    position: relative;
  }
  body.top #wrapper .container section.sec_confidence .sec_inner:before {
    position: absolute;
    display: block;
    content: "";
    background: url("../img/sec_confidence_bg_pc.png") no-repeat center center;
    background-size: cover;
    width: 1120px;
    height: 378px;
    top: -155px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
  }
  body.top #wrapper .container section.sec_confidence .sec_inner .sec_cnf_title {
    max-width: initial;
    width: 460px;
    margin-bottom: 28px;
  }
  body.top #wrapper .container section.sec_confidence .sec_inner .sec_cnf_summary {
    padding-bottom: 75px;
    text-align: center;
  }
}
/* 末尾の画像 */
body.top #wrapper .container section.sec_endimg {
  position: relative;
}
body.top #wrapper .container section.sec_endimg:before {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_confidence_bg_white_sp.svg") no-repeat center center;
  background-size: cover;
  width: 340px;
  height: 429px;
  bottom: 37px;
  right: 0;
  z-index: -10;
}
body.top #wrapper .container section.sec_endimg:after {
  position: absolute;
  display: block;
  content: "";
  background: url("../img/sec_confidence_bg_orange_sp.svg") no-repeat center center;
  background-size: cover;
  width: 299px;
  height: 865px;
  bottom: -10px;
  left: 0;
  z-index: -11;
}
body.top #wrapper .container section.sec_endimg .sec_inner {
  padding: 0 20px;
}

@media (min-width: 768px) {
  body.top #wrapper .container section.sec_endimg:before, body.top #wrapper .container section.sec_endimg:after {
    background: none;
    width: initial;
    height: initial;
  }
  body.top #wrapper .container section.sec_endimg .sec_inner {
    padding: 0;
    width: 1280px;
    margin: 0 auto;
  }
  body.top #wrapper .container section.sec_endimg .sec_inner > figure {
    width: 654px;
    margin: 0 auto;
  }
}