@charset "UTF-8";

@media print {
  html, body, *, *::before, *::after {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
  }
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

body {
  color: #2C2017;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  font-weight: 300;
  line-height: 1.5;
  overflow-x: hidden;
}

img {
  font-size: 0;
  height: auto;
  line-height: 0;
  max-width: 100%;
  width: 100%;
  vertical-align: top;
}

a {
  color: #2C2017;
  text-decoration: none;
}

a:hover {
  opacity: .7;
}

a:hover {
  text-decoration: none !important;
}

.only_pc {
  display: block;
}

@media screen and (max-width:767px) {
  .only_pc {
    display: none;
  }
}

.only_sp {
  display: none;
}

@media screen and (max-width:767px) {
  .only_sp {
    display: block;
  }
}

.bold {
  font-weight: bold;
}

p.text {
  font-size: 1.6em;
  line-height: 1.75;
}

@media screen and (max-width:767px) {
  p.text {
    font-size: 1.6em;
    line-height: 2;
  }
}

p.text_dot {
  font-size: 16px;
  line-height: 1.75;
  display: flex;
}

@media screen and (max-width:767px) {
  p.text_dot {
    font-size: 16px;
    line-height: 2;
  }
}

.line_height175 {
  line-height: 1.75 !important;
}

.link:hover {
  color: #6CC85C;
}

.underline:hover {
  color: #6CC85C;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 10px !important;
  text-decoration-color: #584D44 !important;
  cursor: pointer;
}

.underline {
  color: #584D44;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 10px;
}

.under {
  text-decoration: underline;
}

.roboto {
  font-family: 'Roboto', sans-serif;
}

.notosans {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}

.center {
  text-align: center;
}

.word-break-all{
  word-break: break-all;
}

/*-------------------------------------------
Color Text
-------------------------------------------*/
.defaut1 {
  color: #2C2017;
}
.defaut2 {
  color: #584D44;
}
.cFFFFFF {
  color: #FFFFFF;
}
.cE4D6C0 {
  color: #E4D6C0;
}
.cF5EDE1 {
  color: #F5EDE1;
}
.cA68E6A {
  color: #A68E6A;
}
.c796E65 {
  color: #796E65;
}
.c2C2017 {
  color: #2C2017;
}
.c707070 {
  color: #707070;
}
.c6CC85C {
  color: #6CC85C;
}
.cE5A09E {
  color: #E5A09E;
}
.c86ABD0 {
  color: #86ABD0;
}
.cDBB270 {
  color: #DBB270;
}
.cE64A4A {
  color: #E64A4A;
}
/*-------------------------------------------
Background Text
-------------------------------------------*/
.bg_defaut1 {
  background: #2C2017;
}
.bg_defaut2 {
  background: #584D44;
}
.bg_FFFFFF {
  background: #FFFFFF;
}
.bg_E4D6C0 {
  background: #E4D6C0;
}
.bg_F5EDE1 {
  background: #F5EDE1;
}
.bg_A68E6A {
  background: #A68E6A;
}
.bg_796E65 {
  background: #796E65;
}
.bg_2C2017 {
  background: #2C2017;
}
.bg_707070 {
  background: #707070;
}
.bg_6CC85C {
  background: #6CC85C;
}
.bg_E5A09E {
  background: #E5A09E;
}
.bg_86ABD0 {
  background: #86ABD0;
}
.bg_DBB270 {
  background: #DBB270;
}
/*-------------------------------------------
Font Text
-------------------------------------------*/
.xxss {
  font-size: 10px !important;
}
.xxs {
  font-size: 12px !important;
}
.xs {
  font-size: 13px !important;
}
.s {
  font-size: 14px !important;
}
.m {
  font-size: 16px !important;
}
.l {
  font-size: 18px !important;
}
.xl {
  font-size: 20px !important;
}
.xxl {
  font-size: 24px !important;
}

@media screen and (max-width:767px) {
  .xxl {
    font-size: 20px;
  }
}

/*-------------------------------------------
Width
-------------------------------------------*/
.w10per {width: 10% !important;}
.w20per {width: 20% !important;}
.w30per {width: 30% !important;}
.w40per {width: 40% !important;}
.w50per {width: 50% !important;}
.w60per {width: 60% !important;}
.w70per {width: 70% !important;}
.w80per {width: 80% !important;}
.w90per {width: 90% !important;}
.w100per {width: 100% !important;}
/*-------------------------------------------
margin
-------------------------------------------*/

.ta_center { text-align: center !important; }
.ta_left { text-align: left !important; }
.ta_right { text-align: right !important; }
.dib {display: inline-block;}
.mt5 { margin-top: 5px; }
.mt0 { margin-top: 0 !important; }
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb100 { margin-bottom: 100px !important; }
.mAuto { margin-left: auto !important; margin-right: auto !important; }
.fz12 { font-size: 1.2rem; }
.fz18 { font-size: 1.8rem; }
.fz20 { font-size: 2rem; }

@media (min-width:768px) {
  .ta_center_left,
  .ta_center_right{
    text-align: center !important;
  }
  .ta_lef_center,
  .ta_lef_right{
    text-align: left !important;
  }
  .ta_right_center,
  .ta_right_left{
    text-align: right !important;
  }
}

@media screen and (max-width:767px) {
  .ta_lef_center,
  .ta_right_center{
    text-align: center !important;
  }
  .ta_center_right,
  .ta_lef_right{
    text-align: right !important;
  }
  .ta_center_left,
  .ta_right_left{
    text-align: left !important;
  }
}

.txt_underline {
  text-decoration: underline;
}
.txt_flex{
  display: flex;
}
.txt_flex > *:last-child{
  flex: 1 1;
}

.table_scroll {
  overflow: auto;
}
.table_scroll table {
  min-width: 920px;
}

.table_style01 table {
  width: 100%;
}
.table_style01 table th, .table_style01 table td{
  padding: 13px 15px;
  vertical-align: middle;
  text-align: left;
  border: 1px solid #C3BAAC;
  line-height: 1.5;
}
.table_style01 table th{
  color: #fff;
  background: #A68E6A;
  text-align: center;
}
.table_style01 table thead th{
  border: 1px solid #A68E6A;
  border-right-color: #fff;
  border-left-color: #fff;
  border-bottom: none;
  padding: 13px 12px 10px;
}
.table_style01 table thead th:first-child{
  border-left-color: #A68E6A;
}
.table_style01 table thead th:last-child{
  border-right-color: #A68E6A;
}
.table_style01 table thead + tbody tr:first-child th,
.table_style01 table thead + tbody tr:first-child td {
  border-top: none;
}
.table_style01 table tbody tr th {
  border: 1px solid #A68E6A;
  border-bottom-color: #fff;
  border-right: none;
}
.table_style01 table tbody tr:last-child th {
  border-bottom-color: #A68E6A;
}
.table_style01 table tbody tr th + td {
  border-left: none
}
@media screen and (max-width:767px) {
  .table_style01-columnsp table th,
  .table_style01-columnsp table td{
    display: block;
    width: 100% !important;
  }
  .table_style01-columnsp table tbody tr th {
    border: none;
  }
  .table_style01-columnsp  table tbody tr th + td {
    border-left: 1px solid #C3BAAC;
  }
}

/*-------------------------------------------
body
-------------------------------------------*/

/*-------------------------------------------
header
-------------------------------------------*/
header {
  margin: 0 auto;
  position: relative;
  max-width: 1600px;
  width: 100%;
  padding: 0 3em;
  letter-spacing: 0.2em;
}

@media screen and (max-width:767px) {
  header {
    margin: 0 1.5em 0;
    position: relative;
    width: auto;
    padding: 0;
  }
}

header nav {
  position: fixed;
  left: 50%;
  top: 5.8em;
  transform: translateX(-50%);
  height: 6.8em;
  display: flex;
  justify-content: space-between;
  background: #ffffff;
  border-radius: 4.5em;
  width: calc(100% - 12em);
  z-index: 99999;
}

header.child nav {
  top: 2.4em;
}

header nav .menubar {
  display: flex;
  justify-content: flex-end;
  width: calc(236 / 1480 * 100%);
}

@media screen and (max-width:767px) {
  header nav {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    height: inherit;
    top: 1.5em !important;
    z-index: 99999;
    width: 100%;
    display: block;
    padding-top: 1.4em;
    background: inherit;
  }

  header nav .menubar {
    justify-content: space-between;
    border-radius: 4.5em;
    background: #ffffff;
    width: calc(325/375*100%);
    margin: 0 auto;
  }
}

header nav .logo {
  align-items: center;
  justify-content: end;
  display: flex;
  width: calc(190/236*100%);
}

@media screen and (max-width:767px) {
  header nav .logo {
    margin-left: 19px;
    width: 150px;
  }
}

header nav .menu_icon {
  display: none;
}

@media screen and (max-width:767px) {
  header nav .menu_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 55px;
    background: #6CC85C;
    border-radius: 45px;
    border: none;
  }
}

header nav .menu_toggle {
  cursor: pointer;
}

header nav .menu_toggle:focus-visible {
  outline: 2px solid #4c9ffe;
  outline-offset: 2px;
}

header nav .menu_box {
  position: relative;
  width: 24px;
  height: calc(2px * 3 + 8px * 2);
}

header nav .bar {
  position: absolute;
  left: 0;
  width: 24px;
  height: 2px;
  background: #ffffff;
  border-radius: 999px;
  transition: transform .25s ease, opacity .25s ease;
}

header nav .bar_top {
  top: 5px;
}

header nav .bar_mid {
  top: calc(50% - 1px);
}

header nav .bar_bot {
  bottom: 5px;
}

header nav .menu_toggle[aria-expanded="true"] .bar_top {
  top: 50%;
  transform: rotate(45deg);
}

header nav .menu_toggle[aria-expanded="true"] .bar_mid {
  opacity: 0;
}

header nav .menu_toggle[aria-expanded="true"] .bar_bot {
  bottom: auto;
  top: 50%;
  transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
  header nav .bar {
    transition: none;
  }
}

.activeMenu #site_nav {
  display: block;
}

#site_nav[hidden] {
  display: none !important;
}

header nav ul.menu {
  display: flex;
  justify-content: flex-end;
  font-size: 16px;
  width: calc(1230 / 1480 * 100%);
}

@media screen and (max-width:767px) {
  header nav ul.menu {
    display: block;
    position: absolute;
    bottom: 93px;
    left: -1px;
    width: calc(100% + 1px);
    height: calc(100vh + 9px);
    background: #ffffff;
    padding-top: 105px;
    padding-bottom: 90px;
    transition: all .5s;
    z-index: -1;
    overflow-y: scroll;
  }

  body.activeMenu header nav ul.menu {
    transform: translateY(100%);
  }
}

header nav ul.menu>li {
  position: relative;
}

header nav ul.menu>li:not(.btn) {
  max-width: 114px;
  width: 100%;
}

@media screen and (max-width:767px) {
  header nav ul.menu>li {
    max-width: inherit !important;
    width: calc(280 / 322 * 100%) !important;
    margin: 0 auto;
  }
}

header nav ul.menu>li.btn {
  margin-left: 4%;
  width: 100%;
  max-width: 205px;
}

@media screen and (max-width:767px) {
  header nav ul.menu>li.btn {
    margin-left: auto;
  }
}

header nav ul.menu>li.btn>a {
  align-items: center;
  background: #6CC85C;
  border-radius: 45px;
  color: #ffffff;
  display: flex;
  font-weight: 600;
  height: 68px;
  justify-content: center;
  width: 100%;
  min-width: 150px;
}

@media screen and (max-width:767px) {
  header nav ul.menu>li.btn>a {
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    width: calc(290 / 322 * 100%);
    font-size: 20px;
  }
}

header nav ul.menu>li.btn>a:hover {
  color: #6CC85C;
  border: 1px solid #6CC85C;
  background: #ffffff;
}

header nav ul.menu>li:not(.btn)>.nav_link {
  align-items: center;
  display: flex;
  height: 68px;
  justify-content: center;
  position: relative;
  cursor: pointer;
}

header nav ul.menu>li:not(.btn)>.nav_link a {
  color: #584D44;
}

header nav ul.menu>li:not(.btn)>.nav_link a:hover,
header nav ul.menu>li:not(.btn)>.nav_link[aria-expanded="true"] a {
  color: #6CC85C;
}

@media screen and (max-width:767px) {
  header nav ul.menu>li:not(.btn)>.nav_link {
    color: #584D44;
    font-size: 24px;
    justify-content: space-between;
    width: 100%;
    height: auto;
    padding: 25px 6px 20px 20px;
    border-bottom: 1px solid #E7E3DF;
  }

  header nav ul.menu>li:not(.btn)>.nav_link[aria-expanded="true"] {
    border-bottom: none;
  }

  header nav ul.menu>li:not(.btn)>.nav_link .ico {
    width: 44px;
    height: 44px;
    border: 1px solid #C3BAAC;
    border-radius: 50%;
  }

  header nav ul.menu>li:not(.btn)>.nav_link .ico {
    background-image: url(../images/menu_btn2_open_sp.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 18px;
  }

  header nav ul.menu>li:not(.btn)>.nav_link[aria-expanded="true"] .ico {
    background-image: url(../images/menu_btn2_close_sp.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 18px;
  }
}

@media (min-width:768px) {
  header nav ul.menu>li:not(.btn)>.nav_link:hover,
  header nav ul.menu>li:not(.btn)>.nav_link[aria-expanded="true"] {
    color: #6CC85C;
  }

  header nav ul.menu>li:not(.btn)>.nav_link::after {
    content: "";
    position: absolute;
    bottom: 0;
  }

  header nav ul.menu>li:not(.btn)>.nav_link:hover::after,
  header nav ul.menu>li:not(.btn)>.nav_link[aria-expanded="true"]::after {
    background: #6CC85C;
    height: 4px;
    width: 33px;
  }
}

header nav ul.menu>li:not(.btn) .dropdown {
  display: none;
}

@media (min-width:768px) {
  header nav ul.menu>li:not(.btn) .dropdown ul {
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
    padding: 21px 0 18px;
    position: absolute;
    left: 50%;
    text-align: center;
    transform: translateX(-50%);
    width: 180px;
    opacity: 1;
  }

  header nav ul.menu>li:not(.btn) .dropdown ul:after {
    bottom: 100%;
    left: 50%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
    border-width: 10px;
    margin-left: -10px;
  }

  header nav ul.menu>li:not(.btn) .dropdown {
    padding: 10px;
  }

  header nav ul.menu>li:not(.btn) .dropdown.active {
    display: block;
  }

  header nav ul.menu>li:not(.btn) .dropdown a {
    display: block;
    padding: 8px 0;
  }

  header nav ul.menu>li:not(.btn) .dropdown a:hover {
    color: #6CC85C;
  }
}

@media screen and (max-width:767px) {
  header nav ul.menu>li:not(.btn) .dropdown {
    display: block;
    padding: 0;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease;
  }

  header nav ul.menu>li:not(.btn) .dropdown.active {
    max-height: 1000px;
    opacity: 1;
  }

  header nav ul.menu>li:not(.btn) .dropdown ul li a {
    display: block;
    padding: 14px 0 26px 18px;
  }

  header nav ul.menu>li:not(.btn) .dropdown ul li:last-child a {
    display: block;
    padding: 14px 0 45px 18px;
  }

  header nav ul.menu>li:not(.btn) .dropdown.active {
    border-bottom: 1px solid #E7E3DF;
  }
}

header nav {
  transition: transform .5s ease, opacity .5s ease;
}

header nav.nav-show {
  transform: translateY(0) translateX(-50%);
  opacity: 1;
}

header nav.nav-hide {
  transform: translateY(-200%) translateX(-50%);
  opacity: 0;
}

@media screen and (max-width:767px) {
  header nav.nav-show {
    transform: translateY(0) translateX(-50%);
    opacity: 1;
  }
  
  header nav.nav-hide {
    transform: translateY(-100%) translateX(-50%);
    opacity: 0;
  }
}

@media print {
  header { margin: 0 !important; padding: 0 !important; max-width: none !important; }
  header nav {
    position: absolute !important;
  }
}

header nav ul.menu::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

header nav ul.menu::-webkit-scrollbar-track {
  background: #ffffff;
  border-radius: 10px;
}

header nav ul.menu::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}

header nav ul.menu::-webkit-scrollbar-thumb:hover {
  background: #555;
}

header nav ul.menu::-webkit-scrollbar-corner {
  background: #ffffff;
}

header nav ul.menu {
  scrollbar-width: thin;
  scrollbar-color: #888 #ffffff;
}

@media (hover: none), (pointer: coarse) {
  .menu > li:hover .dropdown {
    display: none;
  }
}

/*-------------------------------------------
footer
-------------------------------------------*/
footer {
  letter-spacing: 0.2em;
}

footer .footer_inner {
  background: #584D44;
  padding: 60px 0;
}

@media screen and (max-width:767px) {
  footer .footer_inner {
    padding: 53px 0;
  }
}

footer .inner {
  margin: 0 auto;
  max-width: 1540px;
  width: 100%;
  padding: 0 3em;
  box-sizing: border-box;
}

@media screen and (max-width:767px) {
  footer .inner {
    padding: 0 20px;
  }
}

footer .logo_footer {
  max-width: 300px;
}

@media screen and (max-width:767px) {
  footer .logo_footer {
    max-width: 260px;
    margin: 0 auto;
  }
}

footer .row {
  color: #FFFFFF;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width:767px) {
  footer .row {
    display: block;
  }
}

footer .row .col.left {
  width: calc(460/1480*100%);
}

@media screen and (max-width:767px) {
  footer .row .col.left {
    width: 100%;
    padding: 0 18px 38px;
  }
}

footer .row .col.right {
  width: calc(1060 / 1480 * 100%);
  display: flex;
  justify-content: flex-end;
}

@media screen and (max-width:767px) {
  footer .row .col.right {
    width: 100%;
    border-top: 1px solid #96918C;
  }

  footer .row.bottom .col.right {
    border-top: none;
    padding: 0 19px;
  }

  footer .row.bottom .col.right ul li:nth-child(n+2) {
    padding-top: 16px;
  }
}

@media screen and (max-width:767px) {
  footer .row .col.right .link:not(.btn) {
    border-bottom: 1px solid #96918C;
    padding: 20px 10px 20px 18px;
  }

  footer .row .col.right .link.btn {
    padding-top: 30px;
  }
}

footer .row .col.left .text {
  font-size: 1.6em;
  line-height: 2.125;
  letter-spacing: 0.08em;
}

footer .row .col.left .text.bold {
  font-weight: 600;
}

footer .row .col.left ul.list li {
  display: flex;
  padding-top: 17px;
  letter-spacing: .12em;
}

footer .row .col.left ul.list li:nth-child(n+2) {
  padding-top: 14px;
}

@media screen and (max-width:767px) {
  footer .row .col.left ul.list li:nth-child(n+2) {
    padding-top: 6px;
  }
}

footer .row .col.left ul.list li>* {
  display: block;
  color: #ffffff !important;
  font-size: 1.3em;
  font-weight: 300;
  line-height: 1.538;
}

footer .row .col.left ul.list li>*:first-child {
  width: 80px;
}

@media screen and (max-width:767px) {
  footer .row .col.left ul.list li>*:first-child {
    min-width: 80px;
  }
}

footer .row .col.left ul.list li>*:nth-child(2) {
  padding-right: 20px;
}

@media screen and (max-width:767px) {
  footer .row .col.left ul.list li>*:nth-child(2) {
    padding-right: 15px;
  }
}

footer .row .col.right .inner_right {
  display: flex;
  justify-content: space-between;
  max-width: 804px;
  width: 100%;
}

@media screen and (max-width:767px) {
  footer .row .col.right .inner_right {
    display: block;
  }
}

footer .row .col.right .inner_right .link {
  max-width: 130px;
  width: 100%;
}

@media screen and (max-width:767px) {
  footer .row .col.right .inner_right .link {
    max-width: inherit;
    width: auto;
  }
}

footer .row .col.right .inner_right .link.btn {
  width: auto;
  max-width: inherit;
}

footer .row .col.right .text a {
  color: #FFFFFF;
  font-size: 1.6em;
  line-height: 2.125;
}

footer .row .col.right .text.bold a {
  font-weight: 600;
}

footer .row .col.right .text.bold a:hover {
  color: #6CC85C;
}

footer .row .col.right ul.list {
  padding-top: 13px;
}

@media screen and (max-width:767px) {
  footer .row .col.right ul.list {
    padding-top: 8px;
  }
}

footer .row .col.right ul.list li:nth-child(n+2) {
  padding: 10px 0 0;
}

@media screen and (max-width:767px) {
  footer .row .col.right ul.list li:nth-child(n+2) {
    padding: 15px 0 0;
  }

  footer .row .col.right ul.list li:last-child {
    padding: 15px 0 10px;
  }
}

footer .row .col.right ul.list li>* {
  color: #FFFFFF;
  display: block;
  font-size: 1.3em;
  font-weight: 300;
  line-height: 1.538;
  letter-spacing: 0;
}

footer .row .col.right ul.list li>*:hover {
  color: #6CC85C;
}

footer .row .col.right .btn a {
  max-width: 142px;
  width: 142px;
  display: block;
  color: #584D44;
  font-size: 1.6em;
  font-weight: 600;
  text-align: center;
  background: #FFFFFF;
  border-radius: 22px;
  padding: 9px 0;
  margin-top: -4px;
  box-sizing: content-box;
  border: 1px solid #ffffff;
}

footer .row .col.right .btn a:hover {
  border: 1px solid #ffffff;
  background: #584D44;
  color: #ffffff;
  box-sizing: content-box;
}

@media screen and (max-width:767px) {
  footer .row .col.right .btn a {
    width: calc(240/335*100%);
    max-width: initial;
    margin: 0 auto;
    padding: 12px 0;
  }
}

footer .top {
  padding-top: 33px;
}

@media screen and (max-width:767px) {
  footer .top {
    padding-top: 40px;
  }
}

footer .bottom {
  padding-top: 93px;
}

@media screen and (max-width:767px) {
  footer .bottom {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap-reverse;
    padding-top: 68px;
  }
}

footer .bottom .col.left.copyright {
  font-size: 1em;
  padding-top: 4px;
}

@media screen and (max-width:767px) {
  footer .bottom .col.left.copyright {
    font-size: 1em;
    font-weight: 300;
    padding: 34px 18px 0;
  }
}

footer .bottom .col.right ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

@media screen and (max-width:767px) {
  footer .bottom .col.right ul {
    display: block;
  }
}

@media (min-width:768px) and (max-width:1000px) {
  footer .bottom .col.right ul li {
    font-size: 1vw;
  }
}

footer .bottom .col.right ul li a {
  color: #ffffff;
  font-size: 1.3em;
  font-weight: 300;
  letter-spacing: 0.09em;
}

@media screen and (max-width:767px) {
  .col.right .link .text>p {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
    position: relative;
    cursor: pointer;
  }

  .col.right .link .text>p .ico {
    width: 44px;
    height: 44px;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
  }

  .col.right .link .text>p .ico {
    background-image: url(../images/footer_btn_open_sp.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 18px;
  }

  .col.right .link.open .text>p .ico {
    background-image: url(../images/footer_btn_close_sp.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 18px;
  }

  .col.right .link .list {
    padding-left: 0;
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: height .3s ease, opacity .3s ease;
    will-change: height, opacity;
  }

  .col.right .link.open .list {
    opacity: 1;
  }
}

@media (max-width: 767px) {
  footer .row .col.left ul.list { color: #ffffff !important; }
  footer .row .col.left ul.list span,
  footer .row .col.left ul.list a[href^="tel"] {
    color: #ffffff !important;
    text-decoration: none;
    -webkit-text-fill-color: #ffffff;
  }
  footer .row .col.left ul.list a[href^="tel"] * {
    color: #ffffff !important;
    -webkit-text-fill-color: inherit;
  }
}

@media (min-width:768px) and (max-width:1000px) {
  footer .row .col.left .text {
    font-size: 1.2em;
  }
  footer .row .col.left ul.list li>* {
    font-size: 1em;
  }
  footer .row .col.right .text a {
    font-size: 1.2em;
  }
  footer .row .col.right ul.list li>* {
    font-size: 1em;
  }
  footer .row .col.right .btn a {
    width: 100px;
    font-size: 1.2em;
    padding: 6px 0;
  }
  footer .bottom .col.right ul li a {
    font-size: 1.1em;
  }
  footer .row .col.left {
    width: calc(580 / 1480 * 100%);
  }
}

@media print and (orientation: portrait) {
  footer .row .col.left .text {
    font-size: 1.2em;
  }
  footer .row .col.left ul.list li>* {
    font-size: 1em;
  }
  footer .row .col.right .text a {
    font-size: 1.2em;
  }
  footer .row .col.right ul.list li>* {
    font-size: 1em;
  }
  footer .row .col.right .btn a {
    width: 100px;
    font-size: 1.2em;
    padding: 6px 0;
  }
  footer .bottom .col.right ul li a {
    font-size: 1.1em;
  }
  footer .row .col.left {
    width: calc(580 / 1480 * 100%);
  }
}

/*-------------------------------------------
backtotop
-------------------------------------------*/

.backtotop_wrap {
  position: sticky;
  top: calc(100vh);
  z-index: 20;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  height: 0;
}

#backToTop {
  pointer-events: auto;
  margin-right: 26px;
  font-size: 1em;
  border: none;
  color: #584D44;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-80px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
  text-align: center;
}

#backToTop:hover {
  opacity: .7 !important;
}

@media screen and (max-width:767px) {
  #backToTop {
    margin-right: 10px;
    font-size: .7em;
    transform: translateY(-66px);
  }
}

#backToTop i {
  display: inline-block;
  width: 33px;
  height: 43px;
  margin-bottom: 5px;
}

@media screen and (max-width:767px) {
  #backToTop i {
    width: 26px;
    height: 33px;
    margin-bottom: 5px;
  }
}

#backToTop.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(-80px);
  transition: opacity .25s ease, transform .25s ease, visibility 0s;
}

@media screen and (max-width:767px) {
  #backToTop.show {
    transform: translateY(-60px);
  }
}
/*-------------------------------------------
main
-------------------------------------------*/
main {
  margin: 0 auto;
  width: 100%;
  position: relative;
}

main::after {
  content: "";
  position: absolute;
  bottom: 11px;
  left: 40px;
  width: 595px;
  height: 131px;
  background: url(../images/footer_illust_pc.png);
  background-size: contain;
  background-repeat: no-repeat;
}

@media screen and (max-width:767px) {
  main::after {
    content: "";
    position: absolute;
    bottom: 13px;
    left: 11px;
    width: 231px;
    height: 77px;
    background: url(../images/footer_illust_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
  }
}


/*-------------------------------------------
head
-------------------------------------------*/
.head_small {
  color: #584D44;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
  display: block;
}

@media screen and (max-width:767px) {
  .head_small {
    font-size: 14px;
  }
}

.head_large {
  display: block;
  color: #584D44;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: .16em;
  padding-top: .104em;
}

@media (min-width:768px) and (max-width:1000px) {
  .head_large {
    font-size: 4.8vw;
  }
}

@media screen and (max-width:767px) {
  .head_large {
    font-size: 32px;
  }
}

.ttl_line01{
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  position: relative;
  padding-left: 18px;
  margin: 20px 0;
}

.ttl_line01::before{
  content:"";
  left: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  width: 6px;
  background: #A68E6A;
}

h2.inner_ttl {
  color: #584D44;
  font-size: 24px;
  font-weight: bold;
  border-bottom: 4px solid #E4D6C0;
  padding-top: 57px;
}
h2.inner_ttl span {
  display: inline-block;
  height: 100%;
  min-width: 266px;
  background-color: #E4D6C0;
  padding: 9px 20px;
  position: relative;
  font-weight: 600;
}
@media (min-width:768px) {
  h2.inner_ttl span {
    border-radius: 5px 0 0 0;
  }
}
h2.inner_ttl span::after {
  content: '';
  width: 54px;
  height: 54px;
  position: absolute;
  top: 0;
  right: -52px;
  background: url('/common/images/bg_ttl.png') center / 100% 100% no-repeat;
}
@media screen and (max-width:767px) {
  h2.inner_ttl {
    font-size: 20px;
    padding-top: 38px;
  }
  h2.inner_ttl span {
    min-width: 214px;
    padding: 9px 20px;
  }
  h2.inner_ttl span::after {
    width: 48px;
    height: 48px;
    right: -46px;
  }
}

.heading_l {
  font-size: 20px;
}
.heading_xl {
  font-size: 24px;
}
.heading_xxl {
  font-size: 28px;
}
.heading_xxxl {
  font-size: 32px;
}
.heading_xxxxl {
  font-size: 48px;
}
/*-------------------------------------------
Step Navigation
-------------------------------------------*/
.steps {
  display: flex;
  gap: 1em;
  align-items: center;
  justify-content: center;
  margin-top: 6.3em;
}

@media screen and (max-width:767px) {
  .steps {
    margin-top: 4em;
  }
}

.step {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #C3BAAC;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6em;
  font-weight: bold;
  color: #584D44;
  cursor: pointer;
  transition: all 0.3s ease;
}

.step.active {
  background: #6CC85C;
  color: #ffffff;
  border-color: #6CC85C;
}

.step:hover {
  background: #6CC85C;
  color: #ffffff;
  border-color: #6CC85C;
}
/*-------------------------------------------
button
-------------------------------------------*/
.button {
  position: relative;
  display: inline-block;
  font-size: 2em;
  font-weight: bold;
  background: #6CC85C;
  border: 2px solid #6CC85C;
  color: #ffffff;
  border-radius: 40px;
  cursor: pointer;
}
@media screen and (max-width:767px) {
  .button {
    width: 100%;
    max-width: 335px;
    font-size: 1.8em;
  }
}
.button:hover {
  color: #6CC85C;
  background: #ffffff !important;
  text-decoration: none !important;
}
.button::after {
  content: "→";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.button.link.left::after {
  content: "←";
  left: 37px;
  font-size: 25px;
  font-weight: 400;
}
@media screen and (max-width:767px) {
  .button.link.left::after {
    left: 30px;
  }
}
.button.link.right::after {
  content: "→";
  right: 37px;
}
@media screen and (max-width:767px) {
  .button.link.right::after {
    right: 30px;
  }
}
.button.link {
  padding: 22px;
}
@media (min-width:768px) {
  .button.link {
    min-width: 480px;
  }
}
@media screen and (max-width:767px) {
  .button.link {
    padding: 19px 15px 14px;
  }
}
.button.pin {
  padding: 14px;
  vertical-align: middle;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media (min-width:768px) {
  .button.pin {
    min-width: 288px;
  }
}
@media screen and (max-width:767px) {
  .button.pin {
    max-width: 240px;
    font-size: 1.6em;
    letter-spacing: -.08em;
  }
}
.button.pin::after {
  content: none;
}
.button.pin i.ico_pin {
  display: inline-block;
  background: url(/common/images/pin.png) no-repeat;
  width: 22px;
  height: 22px;
  margin-right: 14px;
}
.button.pin:hover i.ico_pin {
  background: url(/common/images/pin_hover.png) no-repeat;
  width: 22px;
  height: 22px;
}

.button.pdf {
  padding: 22px;
}
@media (min-width:768px) {
  .button.pdf {
    min-width: 480px;
  }
}
@media screen and (max-width:767px) {
  .button.pdf {
    max-width: 100%;
    font-size: 1.6em;
    letter-spacing: -.08em;
    padding: 18px;
  }
}
.button.pdf::after {
  content: none;
}
.button.pdf i.ico_pdf {
  display: inline-block;
  background: url(/common/images/download.png) no-repeat;
  width: 16px;
  height: 16px;
  margin-left: 14px;
}
@media screen and (max-width:767px) {
  .button.pdf i.ico_pdf {
    left: 44px;
  }
}
.button.pdf:hover i.ico_pdf {
  content: "";
  right: 56px;
  background: url(/common/images/download_hover.png) no-repeat;
  width: 16px;
  height: 16px;
}
p.url .right {
  border-bottom: 1px solid #584D44;
  color: #584D44;
  font-size: 1.6em;
  font-weight: 500;
  padding-bottom: 0.375em;
  padding-right: 0.313em;
  position: relative;
  margin-right: 1.5em;
}
p.url .link.right .arrow {
  overflow: hidden;
  position: absolute;
  top: 5px;
  right: -29px;
  bottom: 0;
  width: 18px;
  margin: auto 0;
  line-height: 1;
  font-weight: bold;
  color: #A68E6A;
  font-size: 18px;
}
p.url .link.right .arrow:before,
p.url .link.right .arrow:after {
  content: "→";
  position: absolute;
  top: 0;
  right: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.6s;
  font-weight: 500 !important;
}
p.url .link.right .arrow:after {
  transform: translateX(-100%);
}
p.url .link.right:hover .arrow:before {
  animation-name: transformRightLeft;
  animation-delay: 0s;
  color: #6CC85C;
}
p.url .link.right:hover .arrow:after {
  animation-name: transformLeftRight;
  animation-delay: 0.2s;
  color: #6CC85C;
}

p.url .left {
  border-bottom: 1px solid #584D44;
  color: #584D44;
  font-size: 1.6em;
  font-weight: bold;
  padding-bottom: 0.375em;
  padding-right: 0.313em;
  position: relative;
  margin-left: 1.5em;
}
p.url .link.left .arrow {
  overflow: hidden;
  position: absolute;
  top: 5px;
  left: -29px;
  bottom: 0;
  width: 18px;
  margin: auto 0;
  line-height: 1;
  font-weight: bold;
  color: #A68E6A;
  font-size: 18px;
}
p.url .link.left .arrow:before,
p.url .link.left .arrow:after {
  content: "←";
  position: absolute;
  top: 0;
  right: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.6s;
  font-weight: 500 !important;
}
p.url .link.left .arrow:after {
  transform: translateX(100%);
}
p.url .link.left:hover .arrow:before {
  animation-name: transformRightLeft1;
  animation-delay: 0s;
  color: #6CC85C;
}
p.url .link.left:hover .arrow:after {
  animation-name: transformLeftRight1;
  animation-delay: 0.2s;
  color: #6CC85C;
}

@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes transformLeftRight1 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes transformRightLeft1 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@media (max-width:1300px) {
  p.view_more {
    font-size: 0.7692vw;
  }
}

@media screen and (max-width:767px) {
  p.view_more {
    font-size: 10px;
  }
}

p.view_more a {
  display: block;
  padding: 2.1em 10.4em 2.1em 0;
  position: relative;
  text-align: right;
}

p.view_more a span {
  border-bottom: 1px solid #584D44;
  display: inline-block;
  color: #584D44;
  font-size: 2em;
  font-weight: 500;
  line-height: 2.1;
}

@media screen and (max-width:767px) {
  p.view_more a span {
    line-height: 2.26;
  }
}

p.view_more a::after {
  background: #6CC85C url(/common/images/arrow_white_pcsp.png) no-repeat;
  background-position: center center;
  background-size: 2.6em 1.5em;
  border-radius: 50%;
  content: "";
  height: 8.4em;
  position: absolute;
  right: 0;
  top: 0;
  width: 8.4em;
}

p.view_more a:hover::after {
  background: #ffffff url(/common/images/arrow_green_pcsp.png) no-repeat;
  background-position: center center;
  background-size: 2.6em 1.5em;
  border-radius: 50%;
  border: 1px solid #6CC85C;
}
/*-------------------------------------------
breadcrumb
-------------------------------------------*/
.breadcrumb {
  font-size: 12px;
  float: right;
}

@media (min-width:768px) and (max-width:1366px) {
  .breadcrumb {
    float: inherit;
    padding-bottom: 22px;
  }
}

@media (max-width: 767px) {
  .breadcrumb {
    font-size: 11px;
    float: inherit;
    padding-bottom: 22px;
  }
}

.breadcrumb ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: 0 25px;
  margin: 0;
  padding: 0;
}

.breadcrumb li {
  position: relative;
  color: #A68E6A;
  white-space: nowrap;
}

.breadcrumb li:not(:last-child)::after {
  content: "›";
  position: absolute;
  right: -15px;
  color: #000000;
}
@media (max-width: 767px) {
  .breadcrumb li:not(:last-child)::after {
    font-size: 15px;
    right: -9px;
    line-height: .9;
  }
  .breadcrumb li {
    white-space: inherit;
  }
}

.breadcrumb a {
  color: #A68E6A; 
  text-decoration: none;
}

.breadcrumb a:hover {
  color: #6CC85C; 
  text-decoration: underline;
}

.breadcrumb li[aria-current="page"] {
  color: #707070;
  pointer-events: none;
}

@media (max-width: 767px) {
  .breadcrumb {
    font-size: 11px;
  }
  .inherit .breadcrumb {
    float: inherit;
  }
  .breadcrumb ol {
    gap: 0 14px;
  }
  .breadcrumb li {
    max-width: 140px;
    text-overflow: ellipsis;
  }

  .breadcrumb li:last-child {
    max-width: inherit;
  }
}

/*-------------------------------------------
style01
-------------------------------------------*/
.style01 {
  background: #F5EDE1 url(/common/images/bg_pc.png);
  background-position: top right;
  background-repeat: no-repeat;
  background-size: 800px;
  margin: 0 auto;
  padding-top: 14.8em;
}

@media screen and (max-width:767px) {
  .style01 {
    background: #F5EDE1 url(/common/images/bg_sp.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: 97px;
  }
}

.style01.not_ico {
  background: #F5EDE1 !important;
}

.style01>* {
  max-width: 1360px;
  margin: 0 auto;
  width: 100%;
  padding: 0 30px;
}

@media screen and (max-width:767px) {
  .style01>* {
    padding: 0 20px;
  }
}

.style01 .head110 {
  margin-bottom: 11em;
}

@media screen and (max-width:767px) {
  .style01 .head110 {
    margin-bottom: 5.5em;
  }
}

.style01 .head50 {
  margin-bottom: 5em;
}

@media screen and (max-width:767px) {
  .style01 .head110 {
    margin-bottom: 2.5em;
  }
}

.style01 .inner {
  padding-bottom: 181px;
}

@media screen and (max-width:767px) {
  .style01 .inner {
    padding-bottom: 155px;
  }
}
/*-------------------------------------------
style02
-------------------------------------------*/
.style02 {
  background: #F5EDE1 url(/common/images/bg_pc.png);
  background-position: top right;
  background-repeat: no-repeat;
  background-size: 800px;
  margin: 0 auto;
  padding-top: 14.8em;
  position: relative;
}

@media screen and (max-width:767px) {
  .style02 {
    background: #F5EDE1 url(/common/images/bg_sp.png);
    background-position: top right;
    background-repeat: no-repeat;
    background-size: contain;
    padding-top: 97px;
  }
}
.style02 .top {
  position: relative;
  padding-bottom: 6em;
}
.style02 .top::before {
  content: '';
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 43px;
  height: 50px;
  background: url(/common/images/mv_deco01.png) center/contain no-repeat;
}
.style02 .top::after {
  content: '';
  position: absolute;
  bottom: -50px;
  right: 0;
  width: 43px;
  height: 50px;
  background: url(/common/images/mv_deco01.png) right/contain no-repeat;
  transform: scaleX(-1);
}

@media screen and (max-width:767px) {
  .style02 .inherit .top {
    padding: 0 0 35px;
  }
  .style02 .top {
    padding: 0;
    position: relative;
  }
  .style02 .top::before {
    bottom: -25px;
    width: 22px;
    height: 25px;
  }
  .style02 .top::after {
    bottom: -25px;
    width: 22px;
    height: 25px;
  }
}
.style02>.content {
  background: #ffffff;
  max-width: inherit;
  padding: 0 0 195px;
}
@media screen and (max-width:767px) {
  .style02>.content {
    padding: 0 0 153px;
  }
}
.style02>*>.inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 30px;
}
@media screen and (max-width:767px) {
  .style02>*>.inner {
    padding: 0 24px;
  }
}

.style02.not_ico {
  background: #F5EDE1 !important;
}

.style02 .head110 {
  margin-bottom: 11em;
}

@media screen and (max-width:767px) {
  .style02 .head110 {
    margin-bottom: 5.5em;
  }
}

.style02 .head50 {
  padding-bottom: 4.3em;
}

@media screen and (max-width:767px) {
  .style02 .head50 {
    padding-bottom: 5em;
  }
}
.top .description {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 18px;
}
@media screen and (max-width:767px) {
  .top .description {
    margin-bottom: 55px;
  }
}
.top .description a {
  text-decoration: underline;
}
.top .description_note {
  font-size: 12px;
}
@media screen and (max-width:767px) {
  .top .description_note {
    padding-bottom: 36px;
  }
}
.top .description_note > li {
  text-indent: -1em;
  padding-left: 1em;
}
.head_wrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 45px;
}

@media screen and (max-width:767px) {
  .description {
    margin-bottom: 106px;
  }
}
/* ===========================================================================
research_table01
=========================================================================== */
.research_table01 {
  width: 100%;
  margin-bottom: 35px;
}
.research_table01 .row {
  border-bottom: 1px solid #C3BAAC;
  display: flex;
}
.research_table01 .row>* {
  font-size: 16px;
  text-align: left;
  padding: 17px 0;
  line-height: 2;
}
.research_table01 .ttl {
  font-weight: 600;
  width: 140px;
  flex-shrink: 0;
}
@media screen and (max-width:767px) {
  .research_table01 {
    margin-bottom: 38px;
  }
  .research_table01 .row {
    display: block;
    padding-bottom: 13px;
  }
  .research_table01 .row:not(:last-child) {
    margin-bottom: 13px;
  }
  .research_table01 .row>* {
    padding: 0;
  }
  .research_table01 .ttl {
    margin-bottom: 4px;
  }
}

.sec_ttl01 {
  font-size: 24px;
  font-weight: 600;
  padding: 10px 16px;
  background: #F5EDE1;
  border-radius: 6px;
  margin: 64px 0 16px;
}
.sec_ttl02 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 11px;
  display: flex;
}
.sec_ttl03 {
  font-size: 20px;
  font-weight: 600;
  border-left: 6px solid #A68E6A;
  padding-left: 12px;
}
.sec_txt01 {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 30px;
}
@media screen and (max-width:767px) {
  .style02>*>.inner {
    padding: 0 20px;
  }
  .detail_wrap {
    padding: 29px 0;
  }
  .sec01 .logo_wrap {
    max-width: 180px;
    margin: 0 auto 47px;
  }
  .sec01 .ttl {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 49px;
    letter-spacing: -1px;
  }
  .sec01 .sub {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 16px;
  }
  .sec01 .txt {
    margin-bottom: 121px;
  }
  .sec_ttl01 {
    font-size: 20px;
    padding: 11px 16px;
    margin: 64px 0 34px;
  }
  .sec_ttl02 {
    line-height: 1.6;
  }
}

.child_content {
  padding: 113px 0 0;
  position: relative;
}

@media screen and (max-width:767px) {
  .child_content {
    padding: 30px 20px 0;
    position: relative;
  }
}

.child_content .textarea {
  padding-top: 20px;
}

@media screen and (max-width:767px) {
  .child_content .textarea {
    padding-top: 10px;
  }
}

.child_content .detail_img {
  padding-top: 30px;
}

@media screen and (max-width:767px) {
  .child_content .detail_img {
    padding-top: 20px;
  }
}

.child_content .row.flex {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width:767px) {
  .child_content .row.flex.none_sp {
    display: block;
    justify-content: space-between;
  }
}

.child_content .row.flex>* {
  width: 48%;
}

@media screen and (max-width:767px) {
  .child_content .row.flex.none_sp>* {
    width: 100%;
  }
}

/* ===========================================================================
bnr
=========================================================================== */

.bnr {
  max-width: 840px;
  margin: 82px auto 0;
}

@media screen and (max-width:767px) {
  .bnr {
    margin: 42px auto 0;
  }
}

@media print {

  body {
    zoom: 1;
  }
}