@charset "UTF-8";
@import "base.css";
@import "fonts.css";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                  © Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/

/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select,
p,
blockquote,
th,
td,
pre,
address,
li,
dt,
dd {
  font-size: 160%;
  -webkit-text-size-adjust: none;
  font-weight: 400;
}

a {
  transition: all ease 0.3s;
  text-decoration: none;
  color: var(--txt);
}

a[href^="tel:"]:hover,
a[target=_blank]:hover {
  text-decoration: none;
  color: var(--txt);
}

a:hover {
  text-decoration: none;
}

img {
  vertical-align: middle;
  max-width: 100%;
  flex-shrink: 0;
  height: auto;
}

*,
::before,
::after {
  box-sizing: border-box;
  outline: none;
}

/* RESET CHECK EMPTY */
/* img:not([alt]),
img[alt=''] {outline: 0 0 5px red;}
a[href=""],
a[href="#"],
a[href^="javascript:"],
a:not([href]) {background: red;} */

/*==========================================================================*/
/*                               Container                                  */
/*==========================================================================*/
html {
  background: var(--white);
}

body {
  color: var(--txt);
  -webkit-text-size-adjust: none;
  min-width: 320px;
  font-family: "Noto Sans JP", serif;
}

table {
  width: 100%
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
}

p,
dd,
dt,
li,
th,
td,
address {
  line-height: 2em;
  letter-spacing: 0;
}

p {
  margin: 0 0 1.5em;
}

p:last-child {
  margin-bottom: 0
}

:root {
  --txt: #2D1C15;
  --mcolor: #FF5700;
  --scolor: #6A503A;
  --pcolor: #FF638C;

  --blue: #0078ff;
  --gray: #e9e9e9;
  --white: #fff;

  --nts: 'Noto Sans JP', sans-serif;
  --nsr: 'Noto Serif JP', serif;
  --yumin: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  --yugo: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
}

#wrapper {
  min-width: 1260px;
  overflow: hidden;
  margin: 0 auto
}

.inner {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
}


/* HAMBUGER BUTTON */

/* CUSTOM CLASS */
.image_l {
  float: left;
  margin: 0 30px 0 0
}

.image_r {
  float: right;
  margin: 0 0 0 30px
}


.flex {
  display: flex
}

.flex_wrap {
  display: flex;
  flex-wrap: wrap
}

.flex_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex_between {
  display: flex;
  justify-content: space-between;
}

.flex_align {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.flex_col {
  display: flex;
  flex-direction: column;
}

.flex_col_center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.fixed {
  position: fixed !important;
}

.posr {
  position: relative
}

.bold {
  font-weight: 700;
}

.center {
  text-align: center
}

.left {
  text-align: left
}

.right {
  text-align: right
}

.auto {
  margin-left: auto;
  margin-right: auto;
}

.fs_big {
  font-size: 120%;
}

.fs_sm {
  font-size: 80%;
}

.red {
  color: red;
}

.cl_org {
  color: var(--mcolor);
}

.cl_pink {
  color: var(--pcolor);
}

/*==========================================================
                       H E A D E R
==========================================================*/
header {
  position: relative;
  z-index: 9999;
}

h1 {
}

.h_box {
  width: 100%;
  position: fixed;
  background-color: var(--white);
}

.h_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

.h_contact {
  display: flex;
  align-items: center;
}

.h_contact>p {
  margin-bottom: 0;
}

.h_contact>p:not(:last-child) {
  margin-right: 20px;
}

.h_contact_mail a {
  color: var(--white);
  font-weight: bold;
  text-align: center;
  background-color: var(--mcolor);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 60px;
  position: relative;
}

.h_contact_mail a span {
  position: relative;
  z-index: 2;
  font-size: 20px;
  display: inline-block;
  padding-left: 30px;
}

.h_contact_mail a span::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0;
  top: calc(50% - 10px);
  background: url('../images/ic_h_mail.png') no-repeat center /cover;
}

.h_contact_tel a {
  font-size: 28px;
  color: #332829;
  font-weight: bold;
  padding-left: 25px;
  position: relative;
  line-height: 1;
  display: block;
}

.h_contact_tel a::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0px;
  top: calc(50% - 10px);
  background: url('../images/ic_h_tel.png') no-repeat center /cover;
}

.h_contact_tel .time {
  font-size: 12px;
  display: block;
  line-height: 1.6;
  text-align: right;
}

/*==========================================================
                  M A I N    V I S U A L
==========================================================*/
main {
  position: relative;
}

#nav-icon3 {
  display: none;
}

.box_wrapper {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.content_l {
  width: 430px;
  background: #F8F5EE;
  padding: 0 50px 40px;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  bottom: 0;
}
.content_l .logo a:hover {
	opacity: .8;
}
.gnavi {

}

.navi {
  margin-top: 50px;
}

.navi .item {
  margin-bottom: 20px;
}

.navi .item:last-child {
  margin-bottom: 0;
}

.navi .item a {
  display: inline-block;
  width: fit-content;
  padding-left: 20px;
  position: relative;
  transition: all ease .4s
}

.navi .item a::before {
  content: '';
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--scolor);
  position: absolute;
  top: 4px;
  left: 0;
}

.navi .item .en {
  display: block;
  font-size: 14px;
  text-transform: uppercase;
  color: var(--scolor);
  line-height: 1;
}

.navi .item .jp {
  font-size: 20px;
  font-weight: 500;
}

.btn_list {
  margin-top: 30px;
}

.btn_list .btn_item {
  margin-bottom: 10px;
}

.btn_list .btn_item:last-child {
  margin-bottom: 0;
}

.btn_list .btn_item a {
  position: relative;
  border: 3px solid var(--scolor);
  border-radius: 60px;
  width: 100%;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: var(--white);
  transition: all ease .4s;
}

.btn_list .btn_item.tel a {
  padding: 7px 5px 5px;
}

.btn_list .btn_item.mail a {
  padding: 12px 5px 5px;
}

.btn_list .btn_item a::before {
  content: '';
  border: solid var(--txt);
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  transform: rotate(-45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
}

.btn_list .btn_item a .sub_txt {
  display: block;
  text-align: center;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

.btn_list .btn_item a .txt {
  display: block;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  padding-top: 4px;
  color: var(--txt);
}

.btn_list .btn_item a .num {
  display: block;
  text-align: center;
  font-size: 30px;
  font-weight: 900;
  color: var(--txt);
  padding-top: 4px;
}

.content_r {
  width: calc(100% - 430px);
  background: #F8F5EE;
  padding-top: 40px;
  padding-right: 30px;
  margin-left: 430px;
}

.bg_white {
  background: var(--white);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  padding: 50px 70px 0;
}

.mv {
  position: relative;
  background: url(../images/main_visual_img.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  /* max-width: 1300px; */
  height: 650px;
  overflow: hidden;
  border-radius: 20px;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.mv_bg {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.mv_content {
  background: rgba(255, 255, 255, 0.9);
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 65px 50px 65px 50px;
}

.mv_content .sub_ttl {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 10px;
}

.mv_content .ttl {
  font-size: 65px;
  font-weight: bold;
  margin-bottom: 30px;
  letter-spacing: -1px;
}

.mv_content .cnt {
  font-size: 20px;
  font-weight: 500;
}

.mv_content .cnt .txt_imp {
  font-weight: 900;
}

.mv_people {
  width: 556px;
  position: absolute;
  bottom: 0;
  right: 20px;
}

.mv_people .img {
  margin-bottom: 0;
}

.mv_people .name_people {
  color: var(--white);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.6;
  text-align: right;
  position: absolute;
  right: 45px;
  bottom: 30px;
  z-index: 9;
  text-shadow: rgb(0, 0, 0) 1px 0px 0px, rgb(0, 0, 0) 0.540302px 0.841471px 0px, rgb(0, 0, 0) -0.416147px 0.909297px 0px, rgb(0, 0, 0) -0.989992px 0.14112px 0px, rgb(0, 0, 0) -0.653644px -0.756802px 0px, rgb(0, 0, 0) 0.283662px -0.958924px 0px, rgb(0, 0, 0) 0.96017px -0.279415px 0px;
}

.mv_people .name_people .sm {
  font-size: 26px;
  font-weight: bold;
}

/*==========================================================
                       M A I N
==========================================================*/
/* use share */
.btn a {
  width: 300px;
  height: 45px;
  border-radius: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/ic-right.png) no-repeat right 15px center / 6px var(--mcolor);
  font-size: 18px;
  font-weight: bold;
  color: var(--white);
  padding: 0 0 3px;
  text-align: center;
}

.btn.center a {
  margin-left: auto;
  margin-right: auto;
}

.btn_box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  width: calc(100% + 20px);
  margin-left: -10px;
}

.btn_box .btn {
  margin: 10px;
}


/* use private */
/*==================== SEC01 ===================*/
.sec1 {
  padding: 120px 0;
  background: url(../images/sec1_bg_04.png) no-repeat, var(--white);
  background-size: cover;
  background-position: top left;
}

.sec1 .inner {
  padding: 0 90px;
}

.sec1 .sec1_wrapper {
  background: url(../images/sec1_bg_03.png) no-repeat;
  background-size: contain;
  background-position: top right 30px;
}

.ttl_en {
  font-size: 30px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.flex_cen {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 70px;
}

.flex_cen .flex_img {
  width: 500px;
}

.flex_cen .flex_img .img {
  position: relative;
  z-index: 1;
}

.flex_cen .flex_img .img::before {
  content: '';
  background: url(../images/sec1_bg_01.png) no-repeat;
  background-size: cover;
  width: 226px;
  height: 237px;
  top: -102px;
  right: -72px;
  position: absolute;
  z-index: -1;
}

.flex_cen .flex_img .img::after {
  content: '';
  background: url(../images/sec1_bg_02.png) no-repeat;
  background-size: cover;
  width: 249px;
  height: 285px;
  bottom: -62px;
  left: -120px;
  position: absolute;
  z-index: -1;
}

.flex_cen .flex_img .img img {
  border-radius: 30px;
}

.flex_cen .flex_cnt {
  flex: 1;
  height: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  
}

.ttl_h3 {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 60px;
}

.ttl_h3 .sm {
  font-size: 30px;
  font-weight: 500;
}

.flex_cen .flex_cnt p {

}

/*==================== SEC02 ===================*/
.sec2 {
  background: var(--white);
  padding-bottom: 120px;
}

.sec2 .inner {

}

.box_banner {
  background: var(--scolor);
  position: relative;
  padding: 20px 20px 28px;
  height: 160px;
}

.box_banner .inner {
  position: relative;
}

.box_banner .inner::after {
  content: '';
  background: url(../images/sec2_decore.png) no-repeat;
  background-size: cover;
  width: 289px;
  height: 336px;
  position: absolute;
  z-index: 1;
  top: 35px;
  right: 25px;
}

.box_banner::before {
  content: '';
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 24px solid var(--scolor);
  position: absolute;
  bottom: -24px;
  left: 50%;
  transform: translateX(-50%);
}

.box_banner .sub_ttl_bnr {
  text-align: center;
  color: var(--white);
  font-size: 25px;
  font-weight: 500;
  margin-bottom: 0;
}

.box_banner .sub_ttl_bnr .lg {
  font-size: 29px;
  font-weight: 900;
}

.box_banner .ttl_bnr {
  text-align: center;
  color: var(--white);
  font-size: 60px;
  font-weight: 500;
  line-height: 1;
}

.box_banner .ttl_bnr .txt_bold {
  font-weight: bold;
}

.sec2 .txt_top {
  margin-top: 30px;
  margin-bottom: 5px;
  font-size: 23px;
  font-weight: 500;
}

.sec2 .txt_bottom {
  font-size: 18px;
}

.sec2_layout {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  gap: 40px;
}

.sec2_layout .sec2_item {
  padding: 30px;
  background: #F8F5EE;
  border-radius: 10px;
  width: calc(100% / 2 - 20px);
}

.sec2_item .img {
  margin-bottom: 12px;
}

.sec2_item .img img {
  border-radius: 10px;
}

.sec2_item .box_info {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
  margin-bottom: 5px;
}

.sec2_item .box_info .tag {
  margin: 0;
  color: var(--white);
  font-weight: 500;
  background: var(--scolor);
  border-radius: 5px;
  padding: 0 10px;
}

.sec2_item .box_info .ttl {
  font-size: 24px;
  font-weight: bold;
}

.sec2_item .cnt {
  margin-bottom: 30px;
}

.sec2_item .btn {
  margin-bottom: -50px;
}

.sec2_item .btn a {
  transition: all ease .4s;
}



/*==================== SEC03 ===================*/
.sec3 {
  padding: 80px 0;
  background: #F9F9F9;
	z-index: 10;
	position: relative;
}

.sec3 .sec3_wrapper {
  padding: 30px 80px 100px;
  background: var(--white);
  position: relative;
  z-index: 1;
}

.sec3 .sec3_wrapper::before {
  content: '';
  background: var(--white);
  width: 842px;
  height: 225px;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  z-index: -1;
}

.sec3 .sec3_sub_ttl {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 5px;
}

.ttl_h3_decore {
  font-size: 48px;
  font-weight: bold;
  text-align: center;
}

.ttl_h3_decore .dot {
  position: relative;
}

.ttl_h3_decore .dot::before {
  content: '';
  width: 7px;
  height: 7px;
  background: var(--mcolor);
  position: absolute;
  border-radius: 50%;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}

.sec3_list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  gap: 35px 30px;
  margin-top: 40px;
}

.sec3_list .sec3_item {
  position: relative;
    width: 360px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.sec3_list .sec3_item::after {
  content: '';
  background: #F8F5EE;
  border-radius: 30px;
  width: 100%;
  height: 260px;
  z-index: -1;
  position: absolute;
  left: 0;
  top: 35px;
}

.sec3_list .sec3_item::before {
  content: '';
  width: 238px;
  height: 238px;
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: #F8F5EE;
  border-radius: 50%;
  z-index: -1;
}

.sec3_list .sec3_item .img {
  margin-bottom: 10px;
}

.sec3_list .sec3_item .ttl {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.5;
}

.sec3_list .sec3_item .btn {

}

.sec3_list .sec3_item .btn a {
  width: 280px;
  height: 75px;
  border-radius: 65px;
  text-align: center;
  line-height: 1.4;
  padding: 4px 0 3px;
  transition: all ease .4s;
}



/*==================== SEC04 ===================*/
.sec4 {
  padding: 80px 0;
  background: var(--white);
  border-bottom: 1px solid #E2E2E2;
}

.sec4_list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  width: 100%;
}

.sec4_list .sec4_item {
  width: calc(100% / 2 - 20px);
  padding: 0 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.sec4_list .sec4_item::before {
  content: '';
  width: 100%;
  height: 410px;
  border-radius: 10px;
  background: #F8F5EE;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 30px;
}

.sec4_item .img {
  margin-bottom: 12px;
}

.sec4_item .img img {
  border-radius: 10px;
}

.sec4_item .ttl {
  margin-bottom: 15px;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.sec4_item .ttl .sm {
  font-size: 20px;
}

.sec4_item .cnt {

}

.sec4_item .btn a {
  transition: all ease .4s;
}



/*==================== SEC05 ===================*/
.sec5 {
  padding: 115px 0 0;
  position: relative;
  z-index: 1;
  background: linear-gradient(360deg, #fcf9f4 0%, rgba(255, 255, 255, 1) 30%);
}

.sec5.box_decore::before {
  content: '';
  background-color: #fcf9f4;
  clip-path: polygon(0 0, 100% 0%, 100% 0%, 50% 100%, 0 0%);
  height: 120px;
  position: absolute;
  bottom: -119px;
  width: 100%;
  z-index: -1;
}

.sec5 .sec5_sub_ttl {
  width: 500px;
  height: 60px;
  border-radius: 45px;
  background: var(--txt);
  color: var(--white);
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  padding: 2px 5px 0;
  margin: 0 auto 21px;
}

.sec5 .sec5_ttl {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 27px;
}

.sec5 .cnt {
  margin-bottom: 18px;
}

.sec5_layout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  width: 100%;
  padding-bottom: 45px;
}

.sec5_layout .sec5_cnt {
  width: calc(100% - 438px - 60px);
}

.sec5_list {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 40px 20px;
}

.sec5_list .sec5_item {
  width: 180px;
  height: 110px;
  border: 6px solid #E5DAC0;
  border-radius: 10px;
  background: var(--white);
  position: relative;
}

.sec5_list .sec5_item .name {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 0;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sec5_list .sec5_item .name.h_bal {
  height: 65px;
}

.sec5_list .sec5_item .name.sm {
  font-size: 17px;
}

.sec5_list .sec5_item .name.sm1 {
  font-size: 20px;
}

.sec5_list .sec5_item .tag {
  width: 140px;
  height: 40px;
  background: #E5DAC0;
  border-radius: 10px;
  text-align: center;
  line-height: 1.4;
  font-size: 18px;
  font-weight: bold;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

.sec5_list .sec5_item .tag.sm {
  font-size: 16px;
}

.sec5_list .sec5_item .tag.h_lg {
  height: 65px;
  bottom: -32px;
}

.sec5_layout .sec5_img {

}

.sec5_layout .sec5_img .img {

}

.sec5_layout .sec5_img .img img {

}

/*==================== SEC06 ===================*/
.sec6 {
  padding: 45px 0 0;
  background: var(--white);
}

.sec6_layout {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 30px;
  position: relative;
  z-index: 2;
}

.sec6_layout .sec6_img {

}

.sec6_layout .sec6_cnt {
  padding-top: 70px;
}

.sec6_layout .sec6_cnt .sec6_ttl {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 24px;
}

.sec6_layout .sec6_cnt .sec6_ttl .lg {
  font-size: 45px;
  font-weight: 900;
}

.sec6_layout .sec6_cnt .sec6_ttl .dot {
  position: relative;
}

.sec6_layout .sec6_cnt .sec6_ttl .dot::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--txt);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.sec6_layout .sec6_cnt .cnt {

}

/*==================== SEC07 ===================*/
.sec7 {
  padding: 160px 0 130px;
  background: var(--white);
  position: relative;
  z-index: 1;
  margin-top: -50px;
}

.sec7::after {
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(248, 245, 238, .4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.sec7.box_decore::before {
  content: '';
  background-color: var(--white);
  clip-path: polygon(0 0, 100% 0%, 100% 0%, 50% 100%, 0 0%);
  height: 120px;
  position: absolute;
  top: -1px;
  width: 100%;
  z-index: -1;
}

.diagram {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 65px;
}

.diagram .diagram_item {
  padding-top: 150px;
  position: relative;
}

.diagram_item.item1 {
  margin-bottom: -55px;
  padding-left: 70px;
  padding-top: 0;
  width: fit-content;
}

.diagram_item.item2 {
  padding-top: 0;
}

.diagram_item.item1::before {
  content: '';
  background: url(../images/sec7_dot_1.png) repeat-x;
  height: 8px;
  width: 220px;
  position: absolute;
  right: -211px;
  top: 50%;
  transform: translateY(-50%);
}

.diagram_item.item2::before {
  content: '';
  background: url(../images/sec7_dot_2.png) repeat-y;
  width: 8px;
  height: 220px;
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.diagram_item.item3::before, .diagram_item.item4::before {
  content: '';
  background: url(../images/sec7_dot_2.png) repeat-y;
  width: 8px;
  height: 125px;
  position: absolute;
  top: 12px;
  right: 255px;
}

.diagram_item .diagram_bnr {
  width: 100%;
  height: 90px;
  background: #FFE6ED;
  border-radius: 80px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
}

.diagram_item.item3 .diagram_bnr {
  gap: 100px;
}

.diagram_item.item4 .diagram_bnr {
  gap: 65px;
}

.diagram_item .diagram_bnr .img {
  margin: 0;
  padding-bottom: 10px;
}

.diagram_item .diagram_bnr .txt_bnr {
  font-size: 40px;
  font-weight: bold;
  margin: 0;
  line-height: 1;
  padding-bottom: 25px;
}

.diagram_item.item2 .diagram_bnr .img {
  position: absolute;
  right: 40px;
  bottom: -20px;
}

.diagram_item.item2 .sub_ttl {
  text-align: center;
  line-height: 1.3;
  font-weight: bold;
  font-size: 30px;
  background: rgba(248, 245, 238, .4);
  width: fit-content;
  margin: 0 auto 10px;
}

.diagram_item.item2 .ttl {
  font-weight: 900;
  font-size: 40px;
  text-align: center;
  background: rgba(248, 245, 238, .4);
  width: fit-content;
  margin: 0 auto 65px;
  line-height: 1;
}

.sec7 .btn {

}

.sec7 .btn a {
  width: 400px;
  height: 70px;
  line-height: 1.4;
  border-radius: 50px;
  margin: 0 auto;
  transition: all ease .4s;
}



/*==================== SEC08 ===================*/
.sec8 {
  padding: 0 0 115px;
  background: var(--white);
}

.sec8 .box_banner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.sec8 .box_banner::before, .sec8 .box_banner::after {
  display: none;
}

.sec8 .box_banner .ttl_bnr {
  font-size: 45px;
}

.sec8 .box_banner .ttl_bnr .txt_bold {
  font-size: 55px;
  font-weight: bold;
}

.sec8_layout {
  margin-bottom: 80px;
}

.sec8_layout .sec8_item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 60px;
}

.sec8_item .box_img {
  width: 500px;
  margin-right: -170px;
  z-index: 1;
  position: relative;
}

.sec8_item .box_img .img {

}

.sec8_item .box_img .img img {
  border-radius: 10px;
}

.sec8_item .box_cnt {
  width: 920px;
  border-radius: 10px;
  background: #F8F5EE;
  padding: 40px 30px 40px 240px;
}

.sec8_item .box_cnt .tag {
  width: 230px;
  border-radius: 10px;
  background: #D12E59;
  text-align: center;
  color: var(--white);
  font-size: 22px;
  font-weight: bold;
  padding: 2px 5px 4px;
  margin-bottom: 15px;
}

.sec8_item .box_cnt .sec8_ttl {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

.sec8_item .box_cnt .cnt {

}

.sec8_item .box_cnt .txt_sm {
  font-size: 14px;
}

.sec8_item .box_cnt .txt_sm span {
  color: #D12E59;
}

.sec8_item.reverse .box_cnt {
  padding: 40px 100px 40px 85px;
}

.sec8_item.reverse .box_img {
  margin-right: unset;
  margin-left: -120px;
}

.sec8 .btn {

}

.sec8 .btn a {
  width: 400px;
  height: 70px;
  line-height: 1.4;
  border-radius: 50px;
  margin: 0 auto;
  transition: all ease .4s;
}



/*==================== SEC09 ===================*/
.sec9 {
  padding: 60px 0 0;
  background: var(--white);
  position: relative;
  z-index: 1;
}

.sec9::before {
  content: '';
  background: #FFE6ED;
  width: 100%;
  height: 200px;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.sec9_layout {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 45px;
}

.sec9_layout .bg_sp {
  width: 370px;
}

.sec9_layout .sec9_item {
  border: 10px solid #DFD8C7;
  border-radius: 10px;
  width: 100%;
  background: #DFD8C7;
}

.sec9_layout .sec9_item .sec9_wrapper {
  border-radius: 10px;
  padding: 26px 15px;
  background: #fff;
}

.sec9_item .ttl {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 20px;
}

.sec9_item .ttl .sm {
  font-size: 20px;
}

.sec9_item .img {
  margin-bottom: 22px;
}

.sec9_item .img img {
  border-radius: 10px;
}

.sec9_item .cnt {
  text-align: center;
  margin-bottom: 20px;
}

.sec9_item .btn {
  margin-bottom: -55px;
}

.sec9_item .btn a {
  width: 200px;
  margin: 0 auto;
  transition: all ease .4s;
}



/*==================== SEC10 ===================*/
.sec10 {
  padding: 150px 0 50px;
  background: url(../images/sec1_bg_04.png) no-repeat ,var(--white);
  background-size: cover;
  background-position: top left;
}

.sec10_layout {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  gap: 50px;
}

.sec10_layout .sec10_img {
  width: 540px;
}

.sec10_layout .sec10_img .img {
  position: relative;
  z-index: 1;
}

.sec10_layout .sec10_img .img::before {
  content: '';
  background: url(../images/sec1_bg_02.png) no-repeat;
  background-size: cover;
  width: 249px;
  height: 285px;
  position: absolute;
  z-index: -1;
  top: 80px;
  left: 30px;
}

.sec10_layout .sec10_cnt {
  width: calc(100% - 540px - 50px);
}

.sec10_layout .sec10_cnt .sub_ttl {
  font-size: 23px;
  margin-bottom: 0;
  line-height: 1.8;
}

.sec10_layout .sec10_cnt .sec10_ttl {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 14px;
}

.sec10_layout .sec10_cnt .txt_imp {
  font-size: 23px;
  font-weight: bold;
  margin-bottom: 15px;
}

.sec10_layout .sec10_cnt .cnt {
  margin-bottom: 28px;
}

.sec10_layout .sec10_cnt .name {
  font-size: 22px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝B", serif;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 36px;
}

.sec10_layout .sec10_cnt .name .txt_bold {
  font-weight: bold;
}

.sec10_layout .sec10_cnt .name .lg {
  font-size: 29px;
  font-weight: bold;
}

.sec10_layout .sec10_cnt .btn {

}

.sec10_layout .sec10_cnt .btn a {
  flex-direction: column;
  width: 400px;
  height: 70px;
  border-radius: 50px;
  line-height: 1.4;
  font-weight: 500;
  padding-top: 4px;
  margin: 0 auto;
  transition: all ease .4s;
}

.sec10_layout .sec10_cnt .btn a .txt_bold {
  font-weight: bold;
}

/*==================== SEC11 ===================*/
.sec11 {
  padding: 100px 0 70px;
  background: var(--white);
}

.cta {
  background: #FFD278;
  border-radius: 30px;
  height: 300px;
  padding: 50px 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.cta .cta_ttl {
  font-size: 23px;
  margin-bottom: 40px;
  background: url(../images/sec11_bg_01.png) no-repeat, url(../images/sec11_bg_01.png) no-repeat;
  background-size: auto, auto;
  background-position: bottom left, bottom right;
  width: 100%;
  max-width: 900px;
  text-align: center;
  line-height: 1;
}

.cta_list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.cta_list .cta_item {
  
}

.cta_list .cta_item a {
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 530px;
  height: 110px;
  background: url(../images/ic-right_black.png) no-repeat right 15px center / 6px var(--white);
  transition: all ease .4s;
}

.cta_list .cta_item .sub_txt {
  font-size: 20px;
  font-weight: bold;
}

.cta_list .cta_item .num {
  font-size: 30px;
  font-weight: 900;
}

.cta_list .cta_item .txt {
  font-size: 22px;
  font-weight: 900;
}

/*==================== SEC12 ===================*/


/*==========================================================
                        F O O T E R
==========================================================*/
footer {
  background: var(--white);
}

.ft_layout {
  padding: 0 0 100px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
}

.ft_layout .ft_cnt {
  flex: 1;
  padding: 0 138px;
}

.ft_layout .ft_cnt .ft_logo {
  margin-bottom: 35px;
}

.ft_layout .ft_cnt .address {
  font-size: 18px;
  text-align: center;
  margin-bottom: 15px;
}

.ft_layout .ft_cnt .ft_info {
  width: fit-content;
  margin: 0 auto 45px;
}

.ft_layout .ft_cnt .ft_info li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin-bottom: 3px;
}

.ft_layout .ft_cnt .ft_info li:last-child {
  margin-bottom: 0;
}

.ft_layout .ft_cnt .ft_info li .ttl {
  width: 90px;
  text-align: right;
  font-size: 18px;
}

.ft_layout .ft_cnt .ft_info li .cnt {
  width: 200px;
  text-align: left;
  font-size: 18px;
}

.ft_layout .ft_cnt .ft_btn {

}

.ft_layout .ft_cnt .ft_btn a {
  width: 400px;
  height: 90px;
  border: 4px solid var(--mcolor);
  border-radius: 50px;
  background: url(../images/ic-right_orange.png) no-repeat right 15px center / 6px var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: all ease .4s;
  font-size: 18px;
  line-height: 1.4;
  padding: 6px 5px 4px;
  margin: 0 auto;
}

.ft_layout .ft_cnt .ft_btn a .txt_bold {
  font-size: 20px;
  font-weight: bold;
}

.ft_layout .ft_map {
  width: 600px;
}

address {
  text-align: center;
  background-color: var(--txt);
  color: var(--white);
  font-size: 18px;
  padding: 38px 20px 26px;
}



/* BACK TO TOP */
.to_top {
  position: fixed;
  z-index: 100;
  bottom: 30px;
  right: 20px;
  cursor: pointer;
  transition: all ease .4s;
  opacity: 0;
  visibility: hidden;
  z-index: 9;
}

.to_top.show {
  transform: scale(1);
  opacity: 1;
  visibility: visible;
  bottom: 70px;
}

.to_top a {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--txt);
  display: block;
  position: relative;
  border: 1px solid var(--white);
  transition: all ease .4s;
}

.to_top a::before {
  content: '';
  border: solid var(--white);
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 8px;
  position: absolute;
  top: 56%;
  left: 52%;
  transform: translate(-50%, -50%) rotate(222deg);
}

.to_top a:hover {
  opacity: .8;
}

.fixed_contact {
  display: none;
}


.btn-modal{
    /* text-align: center;
    padding: 7px 13px;
    background: #3e3e3e;
    color: #fff;
    font-size: 15px;
    width: 50px; */
    cursor: pointer;
}

.modal {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    visibility: hidden;
    transform: scale(1.1);
    transition: visibility 0s linear 0.25s, opacity 0.25s 0s, transform 0.25s;
    z-index: 99;
}
.modal-content {
    position: absolute;
    top: 50%;
    left: 60%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
	border-radius: 10px;
}

.btn-close{
  text-align: right;
  margin-bottom: 0;
}

.close-button {
    width: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    cursor: pointer;
    border-radius: 0.25rem;
    background-color: #FF5700;
    padding: 5px 10px;
    color: #fff;
}

.show-modal {
    opacity: 1;
    visibility: visible;
    transform: scale(1.0);
    transition: visibility 0s linear 0s, opacity 0.25s 0s, transform 0.25s;
}

.modal .tiktok-embed {
    margin-top: 5px;    
}
.modal-content p.img {
	text-align: center;
	margin-top: 20px;
}
.acc-menu {
	display: none;
	margin-bottom: 40px;
}

@media screen and (max-width: 750px) {
    .modal {
        padding: 0 2%;
        box-sizing: border-box;
    }

    .modal-content {
        box-sizing: border-box;
        width: fit-content;
    }

    .modal .tiktok-embed {
        /* min-width: 250px !important; */
    }
}

@media screen and (max-width: 390px) {
    .modal-content {
        width: 90%;
    }

    .modal .tiktok-embed {
        min-width: 250px !important;
    }
}

@supports (-ms-ime-align: auto) {}

/* FIREFOX */

@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}