@charset "UTF-8";
:root {
  --toso-color: #00909f;
  --main-font-color: #464646;

  --wc-key-color: #C7D0BE;
  --main-color-bg: #A7B895;
  --border-color: #C4D0BB;
  --light-gray: #F0EDF0;
  --main-color: #d3b8bd;
  --dark-green: #81AC68;
  --light-green: #EEF2EB;
  --beta-green: #A7B895;
  --purple-color: #BEA0C1;
  --link-color: #a26576;
  --solid-color: #d1d8e4;
  --header-height: 72px;
  --header-height-padding: calc(72px + 30px);
  --main-width: 1280px;
  --inner-width: 1180px;
}
@media print, screen and (max-width: 1280px) {
  :root {
    --main-width: 100%;
    --inner-width: 100%;
  }
}
@media print, screen and (max-width: 999px) {
  :root {
    --header-height: 55px;
    --header-height-padding: calc(55px + 24px);
    --sp-inner-width: calc(100% - 20px);
  }
}

.dark-color{
  color: var(--dark-green);
}

.inter-font {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

*, :after, :before {
  box-sizing: inherit;
}

* {
  box-sizing: border-box;
}

html {
  background-color: #fff;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: var(--main-font-color);
  word-wrap: break-word;
  font-size: 13px;
  scroll-behavior: smooth;
}

body {
  font-size: 14px;
  font-weight: 400;
  font-family: "ヒラギノ角ゴ ProN W3", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ丸ゴ ProN W4", "Hiragino Maru Gothic ProN", "ヒラギノ丸ゴ Pro W4", "Hiragino Maru Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
  color: var(--main-font-color);
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, html, iframe, legend, li, ol, p, pre, textarea, ul {
  margin: 0;
  padding: 0;
}

audio, img, video {
  height: auto;
  max-width: 100%;
}

img {
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
}

a {
  color: currentColor;
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  cursor: pointer;
  text-decoration: none;
}

ul {
  list-style: none;
}

input[type=button], input[type=submit], button {
  border: none;
  cursor: pointer;
  outline: none;
  appearance: none;
  background-color: inherit;
  padding: 0.3rem 1rem;
}
input[type=button]:hover, input[type=button]:focus, input[type=submit]:hover, input[type=submit]:focus, button:hover, button:focus {
  transition-duration: 1s;
}

/* common
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.text-center {
  text-align: center;
}

.text-bold {
  font-weight: bold;
}

/* ラジオボタン */
input[type=radio] {
  display: none;
}

/*チェックボックス*/
input[type=checkbox] {
  display: none;
}

option:disabled {
  color: var(--light-gray);
}

button {
  background-color: transparent;
  padding: 0;
}

.outline-btn {
  color: var(--dark-green);
  border: var(--dark-green) solid 1px;
  background: #fff;
}
.outline-btn:hover {
  opacity: 0.5;
}
.outline-btn svg.link-mark path:first-child {
  fill: var(--dark-green) !important;
}
.outline-btn svg.link-mark path:nth-child(2) {
  fill: none !important;
  stroke: var(--dark-green);
  stroke-linecap: round;
  stroke-miterlimit: 10;
}

.fill-btn {
  color: #fff;
  border: var(--beta-green) solid 1px;
  background: var(--beta-green);
}
.fill-btn:hover {
  opacity: 0.5;
}
.fill-btn svg.link-mark path:first-child {
  fill: #fff !important;
}
.fill-btn svg.link-mark path:nth-child(2) {
  fill: none !important;
  stroke: #fff;
  stroke-linecap: round;
  stroke-miterlimit: 10;
}

/* flex box
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.grid{
  display: grid;
}
.align-self-center{
  align-self: center;
}

/*
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.pt-4 {
  padding-top: 1rem;
}
.pt-40{
  padding-top: 40px;
}
.pb-32{
  padding-bottom: 32px;
}

.w-80 {
  width: 80px;
}

.w-200 {
  width: 200px;
}

.w-280 {
  width: 280px;
}

.h-50 {
  height: 50px;
}

.f-12{
  font-size: 12px;
}
.f-18 {
  font-size: 18px;
}


.euro-lang {
  font-family: "Raleway", sans-serif;
}

.caution {
  color: #f00;
}

svg text {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", sans-serif;
}
svg.toso-logo path {
  fill: var(--main-font-color);
}
svg.down-arrow path {
  fill: none !important;
  stroke: var(--main-font-color);
  stroke-linecap: round;
  stroke-linejoin: round;
}
svg.login-mark path {
  fill: none !important;
}

.opacity-5{
  opacity: 0.5;
}

/*
–––––––––––––––––––––––––––––––––––––––––––––––––– */
header.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: 5;
  background: #fff;
}
header.l-header .l-pcHeader {
  box-shadow: 0 3px 7px 0 #e8e8e8;
  height: 100%;
}
@media print, screen and (min-width: 1201px) {
  header.l-header .l-pcHeader .header-menu {
    max-width: var(--main-width);
    width: 100%;
    height: 60px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media print, screen and (max-width: 1200px) {
  header.l-header .l-pcHeader {
    display: none;
  }
}
header.l-header .l-pcHeader .title-logo {
  min-width: 160px;
  height: 30px !important;
  padding-left: 50px;
  display: flex;
  gap: 30px;
}
header.l-header .l-pcHeader .title-logo a {
  display: block;
}
header.l-header .l-pcHeader ul.right-menu {
  display: flex;
  align-items: flex-end;
  flex-wrap: nowrap;
  font-size: 14px;
}
header.l-header .l-pcHeader ul.right-menu li:not(.btn) {
  padding-right: 37px;
}

header.l-header .l-pcHeader ul.right-menu li:hover {
  opacity: 0.5;
}
header.l-header .l-pcHeader ul.right-menu li a {
  display: flex;
}
header.l-header .l-pcHeader ul.right-menu li a > div.svg-down-arrow {
  margin-left: 0.5rem;
  width: 8px !important;
  height: 4px !important;
  position: relative;
  top: -2px;
}
header.l-header .l-pcHeader ul.right-menu button {
  width: 140px;
  height: 28px;
}
header.l-header .l-pcHeader ul.right-menu button.outline-btn {
  padding: 5px 0;
}
header.l-header .l-pcHeader ul.right-menu button.fill-btn {
  padding: 5px 0;
}
header.l-header .l-pcHeader ul.right-menu button.fill-btn svg {
  margin-left: 1rem;
}
header.l-header .l-spHeader {
  box-shadow: 0 3px 7px 0 #e8e8e8;
  position: relative;
  z-index: 5;
  backdrop-filter: blur(9.7px);
  background-color: #fff;
  border-bottom: 1px solid var(--light-gray);
  padding-bottom: 0;
  height: var(--header-height);
}
@media print, screen and (min-width: 1200px) {
  header.l-header .l-spHeader {
    display: none;
  }
}
header.l-header .l-spHeader .l-spHeader__inner {
  display: flex;
  align-items: center;
  height: 100%;
}
header.l-header .l-spHeader .l-spHeader__inner .l-spHeader__logo {
  width: 68px;
  height: 18px;
  margin-left: 14px;
}
header.l-header .l-spHeader .l-spHeader__inner #modal-btn {
  margin-right: 1.5rem;
  border: none;
  margin-left: auto;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 10px 0;
}
header.l-header .l-spHeader .l-spHeader__inner #modal-btn svg {
  width: 22px !important;
  height: 18px !important;
  cursor: pointer;
}
header.l-header .l-spHeader .l-spHeader__inner #modal-btn svg#modal-btn-close {
  display: none;
}
header.l-header div#sp-modal {
  display: none;
  position: absolute;
  top: 45px;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 5;
  background: #fff;
  bottom: auto;
  max-height: none;
}

header.l-header div#sp-modal.closed {
  height: 150px;
}
header.l-header div#sp-modal ul li {
  display: flex;
  align-items: center;
  height: 50px;
  border-bottom: solid 1px var(--light-gray);
  justify-content: space-between;
  padding: 0 25px 0 28px;
}
header.l-header div#sp-modal ul li:first-child {
  border-top: solid 1px var(--light-gray);
}
header.l-header div#sp-modal ul li svg.down-arrow {
  width: 14px !important;
  height: 7px !important;
}
header.l-header div#sp-modal ul li a {
  height: 100%;
  font-size: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo-header-title{
  width: 215px;
  height: 30px;
}

#main {
  width: 100%;
}
#main div.l-wrapper {
  margin: 0 auto;
}
@media print, screen and (max-width: 750px) {
  #main div.l-wrapper {
    width: 100%;
  }
}

div#main aside.contact {
  margin: 0 auto 75px;
}
div#main aside.contact .svg {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: 120px;
}
div#main aside.contact .svg > div {
  width: 52px;
}
div#main aside.contact .svg svg text {
  fill: var(--main-font-color);
}
@media print, screen and (max-width: 750px) {
  div#main aside.contact {
    margin: 0 auto 41px;
  }
}

footer {
  width: 100%;
  background-color: var(--beta-green);
  color: #fff;
}
footer > div {
  max-width: 1180px;
  height: 47px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media print, screen and (max-width: 750px) {
  footer {
    padding: 1rem 0;
  }
  footer > div {
    flex-wrap: wrap;
  }
  footer div.left, footer div.Copyright {
    width: 100%;
    text-align: center;
  }
}

.c-totop {
  width: 50px;
  position: fixed;
  bottom: 0;
  right: 0;
  display: none;
  z-index: 5;
  border: 1px solid var(--light-gray);
}

.c-totop.js-active {
  display: block;
}

@media print, screen and (max-width: 1200px) {
  .br-none-1200 {
    display: none;
  }
}
@media print, screen and (min-width: 751px) {
  .c-totop {
    border-right: none;
    border-bottom: none;
  }
}
@media print, screen and (max-width: 750px) {
  .c-totop {
    width: 12%;
    bottom: 10px;
    right: 2%;
  }
}
@media print, screen and (min-width: 751px) {
  .pc-display {
    display: block;
  }
  .sp-display {
    display: none !important;
  }
}
@media print, screen and (max-width: 750px) {
  .pc-display {
    display: none !important;
  }
  .sp-display {
    display: block;
  }
}
