
@charset "UTF-8";
/**************************************************************/
/* media_Querys
/**************************************************************/
/**************************************************************/
/* color
/**************************************************************/
/**************************************************************/
/*font
/**************************************************************/
.fs12 {
  font-size: 12px !important;
  font-size: 1.2rem !important; }

.fs13 {
  font-size: 13px !important;
  font-size: 1.3rem !important; }

.fs14 {
  font-size: 14px !important;
  font-size: 1.4rem !important; }

.fs15 {
  font-size: 15px !important;
  font-size: 1.5rem !important; }

.fs16 {
  font-size: 16px !important;
  font-size: 1.6rem !important; }

.fs17 {
  font-size: 17px !important;
  font-size: 1.7rem !important; }

.fs18 {
  font-size: 18px !important;
  font-size: 1.8rem !important; }

.fs19 {
  font-size: 19px !important;
  font-size: 1.9rem !important; }

.fs20 {
  font-size: 20px !important;
  font-size: 2rem !important; }

.fs21 {
  font-size: 21px !important;
  font-size: 2.1rem !important; }

.fs22 {
  font-size: 22px !important;
  font-size: 2.2rem !important; }

.fs23 {
  font-size: 23px !important;
  font-size: 2.3rem !important; }

.fs24 {
  font-size: 24px !important;
  font-size: 2.4rem !important; }

.fs25 {
  font-size: 25px !important;
  font-size: 2.5rem !important; }

.fs26 {
  font-size: 26px !important;
  font-size: 2.6rem !important; }

.fs27 {
  font-size: 27px !important;
  font-size: 2.7rem !important; }

.fs28 {
  font-size: 28px !important;
  font-size: 2.8rem !important; }

.fs29 {
  font-size: 29px !important;
  font-size: 2.9rem !important; }

.fs30 {
  font-size: 30px !important;
  font-size: 3rem !important; }

.fs31 {
  font-size: 31px !important;
  font-size: 3.1rem !important; }

.fs32 {
  font-size: 32px !important;
  font-size: 3.2rem !important; }

.fs33 {
  font-size: 33px !important;
  font-size: 3.3rem !important; }

.fs34 {
  font-size: 34px !important;
  font-size: 3.4rem !important; }

.fs35 {
  font-size: 35px !important;
  font-size: 3.5rem !important; }

.fs36 {
  font-size: 36px !important;
  font-size: 3.6rem !important; }

.fs37 {
  font-size: 37px !important;
  font-size: 3.7rem !important; }

.fs38 {
  font-size: 38px !important;
  font-size: 3.8rem !important; }

.fs39 {
  font-size: 39px !important;
  font-size: 3.9rem !important; }

.fs40 {
  font-size: 40px !important;
  font-size: 4rem !important; }

/**************************************************************/
/* property
/**************************************************************/
/* 上下中央寄せセット */
/**************************************************************/
/* css reset
/**************************************************************/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  text-decoration: none; }

mark {
  background-color: #ff9;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select, img {
  vertical-align: middle; }

ol, ul {
  list-style: none; }

/**************************************************************/
/* base
/**************************************************************/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  background-color: #fff;
  color: #222;
  counter-reset: number 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 10px;
  font-size: 1.0rem;
  font-weight: normal;
  line-height: 1.8;
  line-break: strict;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
  word-wrap: break-word; }

b, strong, .bold {
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif; }

_:lang(x)::-ms-backdrop, .selector {
  font-family: "Segoe UI", Meiryo, sans-serif; }

main {
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 768px) {
    main {
      min-width: initial; } }
  main ::selection {
    background: rgba(4, 26, 128, 0.5);
    color: #fff; }
  main ::-moz-selection {
    background: rgba(4, 26, 128, 0.5);
    color: #fff; }

.pc {
  display: block; }
  @media screen and (max-width: 768px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp {
      display: block; } }

.noscroll {
  overflow: hidden; }

img {
  width: 100%; }

.bg_Effect {
  background-color: rgba(0, 0, 0, 0.2); }

.inner {
  margin: auto;
  max-width: 1366px;
  padding: 100px 3% 0; }
  @media screen and (max-width: 768px) {
    .inner {
      padding: 80px 20px 0; } }

.flex_box {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  flex-direction: row; }
  @media screen and (max-width: 768px) {
    .flex_box {
      flex-direction: column; } }
  .flex_box._reverce {
    flex-direction: row-reverse; }

/**************************************************************/
/* common
/**************************************************************/
.fixed {
  position: fixed;
  width: 100%;
  z-index: 1000; }

.mgn-top0 {
  margin-top: 0px !important; }

.mgn-rit0 {
  margin-right: 0px !important; }

.mgn-btm0 {
  margin-bottom: 0px !important; }

.mgn-lft0 {
  margin-left: 0px !important; }

.mgn-top5 {
  margin-top: 5px !important; }

.mgn-rit5 {
  margin-right: 5px !important; }

.mgn-btm5 {
  margin-bottom: 5px !important; }

.mgn-lft5 {
  margin-left: 5px !important; }

.mgn-top10 {
  margin-top: 10px !important; }

.mgn-rit10 {
  margin-right: 10px !important; }

.mgn-btm10 {
  margin-bottom: 10px !important; }

.mgn-lft10 {
  margin-left: 10px !important; }

.mgn-top15 {
  margin-top: 15px !important; }

.mgn-rit15 {
  margin-right: 15px !important; }

.mgn-btm15 {
  margin-bottom: 15px !important; }

.mgn-lft15 {
  margin-left: 15px !important; }

.mgn-top20 {
  margin-top: 20px !important; }

.mgn-rit20 {
  margin-right: 20px !important; }

.mgn-btm20 {
  margin-bottom: 20px !important; }

.mgn-lft20 {
  margin-left: 20px !important; }

.mgn-top25 {
  margin-top: 25px !important; }

.mgn-rit25 {
  margin-right: 25px !important; }

.mgn-btm25 {
  margin-bottom: 25px !important; }

.mgn-lft25 {
  margin-left: 25px !important; }

.mgn-top30 {
  margin-top: 30px !important; }

.mgn-rit30 {
  margin-right: 30px !important; }

.mgn-btm30 {
  margin-bottom: 30px !important; }

.mgn-lft30 {
  margin-left: 30px !important; }

.mgn-top35 {
  margin-top: 35px !important; }

.mgn-rit35 {
  margin-right: 35px !important; }

.mgn-btm35 {
  margin-bottom: 35px !important; }

.mgn-lft35 {
  margin-left: 35px !important; }

.mgn-top40 {
  margin-top: 40px !important; }

.mgn-rit40 {
  margin-right: 40px !important; }

.mgn-btm40 {
  margin-bottom: 40px !important; }

.mgn-lft40 {
  margin-left: 40px !important; }

.mgn-top45 {
  margin-top: 45px !important; }

.mgn-rit45 {
  margin-right: 45px !important; }

.mgn-btm45 {
  margin-bottom: 45px !important; }

.mgn-lft45 {
  margin-left: 45px !important; }

.mgn-top50 {
  margin-top: 50px !important; }

.mgn-rit50 {
  margin-right: 50px !important; }

.mgn-btm50 {
  margin-bottom: 50px !important; }

.mgn-lft50 {
  margin-left: 50px !important; }

.mgn-top1em {
  margin-top: 1em !important; }

.mgn-rit1em {
  margin-right: 1em !important; }

.mgn-btm1em {
  margin-bottom: 1em !important; }

.mgn-lft1em {
  margin-left: 1em !important; }

.mgn-top2em {
  margin-top: 2em !important; }

.mgn-rit2em {
  margin-right: 2em !important; }

.mgn-btm2em {
  margin-bottom: 2em !important; }

.mgn-lft2em {
  margin-left: 2em !important; }

.mgn-top3em {
  margin-top: 3em !important; }

.mgn-rit3em {
  margin-right: 3em !important; }

.mgn-btm3em {
  margin-bottom: 3em !important; }

.mgn-lft3em {
  margin-left: 3em !important; }

.mgn-top4em {
  margin-top: 4em !important; }

.mgn-rit4em {
  margin-right: 4em !important; }

.mgn-btm4em {
  margin-bottom: 4em !important; }

.mgn-lft4em {
  margin-left: 4em !important; }

.mgn-top5em {
  margin-top: 5em !important; }

.mgn-rit5em {
  margin-right: 5em !important; }

.mgn-btm5em {
  margin-bottom: 5em !important; }

.mgn-lft5em {
  margin-left: 5em !important; }

.note {
  padding-left: 1em;
  text-indent: -1em; }

/**************************************************************/
/* a link
/**************************************************************/
a {
  color: #222;
  text-decoration: none;
  transition: all 0.3s; }
  @media screen and (max-width: 768px) {
    a {
      transition: none; } }
  a:hover {
    opacity: 0.7;
    text-decoration: none; }
    @media screen and (max-width: 768px) {
      a:hover {
        opacity: 1; } }

/**************************************************************/
/* fonts
/**************************************************************/
.fs12 {
  font-size: 12px !important;
  font-size: 1.2rem !important; }

.fs13 {
  font-size: 13px !important;
  font-size: 1.3rem !important; }

.fs14 {
  font-size: 14px !important;
  font-size: 1.4rem !important; }

.fs15 {
  font-size: 15px !important;
  font-size: 1.5rem !important; }

.fs16 {
  font-size: 16px !important;
  font-size: 1.6rem !important; }

.fs17 {
  font-size: 17px !important;
  font-size: 1.7rem !important; }

.fs18 {
  font-size: 18px !important;
  font-size: 1.8rem !important; }

.fs19 {
  font-size: 19px !important;
  font-size: 1.9rem !important; }

.fs20 {
  font-size: 20px !important;
  font-size: 2rem !important; }

.fs21 {
  font-size: 21px !important;
  font-size: 2.1rem !important; }

.fs22 {
  font-size: 22px !important;
  font-size: 2.2rem !important; }

.fs23 {
  font-size: 23px !important;
  font-size: 2.3rem !important; }

.fs24 {
  font-size: 24px !important;
  font-size: 2.4rem !important; }

.fs25 {
  font-size: 25px !important;
  font-size: 2.5rem !important; }

.fs26 {
  font-size: 26px !important;
  font-size: 2.6rem !important; }

.fs27 {
  font-size: 27px !important;
  font-size: 2.7rem !important; }

.fs28 {
  font-size: 28px !important;
  font-size: 2.8rem !important; }

.fs29 {
  font-size: 29px !important;
  font-size: 2.9rem !important; }

.fs30 {
  font-size: 30px !important;
  font-size: 3rem !important; }

.fs31 {
  font-size: 31px !important;
  font-size: 3.1rem !important; }

.fs32 {
  font-size: 32px !important;
  font-size: 3.2rem !important; }

.fs33 {
  font-size: 33px !important;
  font-size: 3.3rem !important; }

.fs34 {
  font-size: 34px !important;
  font-size: 3.4rem !important; }

.fs35 {
  font-size: 35px !important;
  font-size: 3.5rem !important; }

.fs36 {
  font-size: 36px !important;
  font-size: 3.6rem !important; }

.fs37 {
  font-size: 37px !important;
  font-size: 3.7rem !important; }

.fs38 {
  font-size: 38px !important;
  font-size: 3.8rem !important; }

.fs39 {
  font-size: 39px !important;
  font-size: 3.9rem !important; }

.fs40 {
  font-size: 40px !important;
  font-size: 4rem !important; }

.pop {
  font-family: "Poppins", sans-serif; }

@use "sass:math";
/* header
******************************************************/
header {
  background-color: #fff;
  height: 75px;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 100; }
  header .inner {
    height: 100%;
    margin: auto;
    max-width: 1700px;
    padding: 10px 3%;
    position: relative; }
    @media screen and (max-width: 768px) {
      header .inner {
        padding: 10px 10px; } }
  header .wrap {
    align-items: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    height: 100%;
    margin: auto;
    width: 100%; }
  header .logo {
    margin-right: auto;
    width: 25%; }
    @media screen and (max-width: 768px) {
      header .logo {
        width: calc(80% - 40px); } }
    @media screen and (max-width: 480px) {
      header .logo {
        margin-right: 5px;
        max-width: initial;
        min-width: initial;
        width: calc(100% - 45px); } }
    header .logo a {
      align-items: center;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      flex-direction: row;
      justify-content: flex-start; }
      header .logo a img {
        width: 128px; }
  header .nav_menu {
    margin: 0 0 0 auto;
    width: 75%; }
    @media screen and (max-width: 768px) {
      header .nav_menu {
        display: none; } }
    header .nav_menu ul {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      flex-direction: row;
      justify-content: flex-end;
      width: 100%; }
      header .nav_menu ul li:not(:last-of-type) {
        margin-right: 3%; }
      header .nav_menu ul li a {
        color: #222;
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: 500;
        white-space: nowrap; }
  header nav {
    display: none;
    position: relative; }
    header nav::-webkit-scrollbar {
      display: none; }
    header nav.open {
      background-color: rgba(0, 0, 0, 0.8);
      display: block;
      height: 100vh;
      overflow-y: scroll;
      padding: 120px 20px 160px;
      position: fixed;
      top: 0;
      left: 0;
      -ms-overflow-style: none;
      /* IE, Edge 対応 */
      scrollbar-width: none;
      width: 100%;
      z-index: 999 !important; }
      header nav.open a {
        position: absolute;
        top: 25px;
        left: 10px; }
        header nav.open a img {
          filter: invert(1);
          width: 128px; }
    header nav a {
      display: block; }
    header nav .nav_menu_hamb {
      margin: auto;
      padding: 3%;
      position: relative;
      width: 100%;
      z-index: 100; }
      header nav .nav_menu_hamb ul {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: flex;
        flex-direction: column;
        margin-bottom: 30px; }
        header nav .nav_menu_hamb ul:last-of-type {
          margin-bottom: 0; }
        header nav .nav_menu_hamb ul li {
          margin-bottom: 20px;
          width: 100%; }
          header nav .nav_menu_hamb ul li a {
            align-items: center;
            color: #fff;
            display: -webkit-inline-flex;
            display: -moz-inline-flex;
            display: -ms-inline-flex;
            display: -o-inline-flex;
            display: inline-flex;
            flex-direction: row;
            font-size: 18px;
            font-size: 1.8rem;
            font-weight: 500;
            justify-content: space-between;
            position: relative;
            width: 100%; }
            header nav .nav_menu_hamb ul li a::before, header nav .nav_menu_hamb ul li a::after {
              height: 12px;
              width: 12px; }
            header nav .nav_menu_hamb ul li a::before {
              border-top: 2px solid #fff;
              border-right: 2px solid #fff; }
  header .toggle_Btn {
    display: none; }
    @media screen and (max-width: 768px) {
      header .toggle_Btn {
        display: block;
        height: 40px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 40px;
        z-index: 999;
        /*追記：いつも一番上*/ } }
    header .toggle_Btn.close .bar {
      background-color: #fff; }
      header .toggle_Btn.close .bar.__top {
        transform: translate(-50%, 10px) rotate(45deg);
        transition: transform .3s; }
      header .toggle_Btn.close .bar.__middle {
        opacity: 0;
        transition: opacity .3s; }
      header .toggle_Btn.close .bar.__bottom {
        transform: translate(-50%, -8px) rotate(-45deg);
        transition: transform .3s; }
    header .toggle_Btn .bar {
      background-color: #000;
      display: block;
      height: 2px;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 40px; }
      header .toggle_Btn .bar.__top {
        top: 10px; }
      header .toggle_Btn .bar.__middle {
        top: 50%;
        transform: translate(-50%, -50%); }
      header .toggle_Btn .bar.__bottom {
        bottom: 10px; }

@use "sass:math";
#fv {
  position: relative; }
  #fv .inner {
    padding: 75px 0 0 72px;
    position: relative; }
    @media screen and (max-width: 768px) {
      #fv .inner {
        padding: 75px 0 0; } }
    @media screen and (max-width: 480px) {
      #fv .inner {
        padding-top: 100px; } }
    #fv .inner::before {
      aspect-ratio: 1294 / 694;
      background-image: url("../images/fv.jpg");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      content: '';
      display: block;
      height: 100%;
      width: 100%; }
      @media screen and (max-width: 480px) {
        #fv .inner::before {
          aspect-ratio: 1066 / 1019;
          background-image: url("../images/fv_sp.jpg"); } }
    #fv .inner::after {
      aspect-ratio: 568 / 134;
      background-image: url("../images/fv_catch_pc.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      content: '';
      display: block;
      max-width: 568px;
      position: absolute;
      top: 50%;
      left: 14%;
      transform: translateY(-50%);
      width: 100%; }
      @media screen and (max-width: 768px) {
        #fv .inner::after {
          aspect-ratio: 599 / 154;
          background-image: url("../images/fv_catch_sp.png");
          max-width: 255px;
          left: 10px; } }
      @media screen and (max-width: 480px) {
        #fv .inner::after {
			display:none;
          max-width: initial;
          left: 5%;
          width: 50%; } }

#intro .inner {
  padding-bottom: 160px; }
  @media screen and (max-width: 768px) {
    #intro .inner {
      padding-bottom: 80px; } }
  @media screen and (max-width: 480px) {
    #intro .inner {
      padding-top: 40px; } }
#intro p {
  line-height: 2.2;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 50px; }
  #intro p:not(:last-of-type) {
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      #intro p:not(:last-of-type) {
        margin-bottom: 50px; } }
    @media screen and (max-width: 480px) {
      #intro p:not(:last-of-type) {
        margin-bottom: 40px; } }
  @media screen and (max-width: 768px) {
    #intro p {
      line-height: 2.4; } }
#intro .auther {
  text-align: right; }
  #intro .auther p {
    display: inline-block;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 32px;
    margin: 100px 0 0 auto;
    text-align: left; }
    @media screen and (max-width: 480px) {
      #intro .auther p {
        margin-top: 80px; } }

#business {
  position: relative; }
  #business::before {
    background: linear-gradient(#e2c5b3 0%, #ddc5cb 24.63%, #e2c9dc 49.26%, #d2d0d8 75.43%, #cfd9b4 100%);
    content: '';
    display: block;
    height: 100%;
    opacity: .1;
    position: absolute;
    top: 0;
    /*left: 72px;*/
    width: 100%; }
    @media screen and (max-width: 768px) {
      #business::before {
        left: 0; } }
  #business .inner {
    margin-bottom: 180px;
    /*padding: 180px 3% 180px 3%;*/ }
    @media screen and (max-width: 768px) {
      #business .inner {
        margin-bottom: 120px;
        padding: 120px 20px; } }
    @media screen and (max-width: 480px) {
      #business .inner {
        margin-bottom: 80px;
        padding: 80px 20px; } }
  #business .flex_box {
    align-items: center;
    gap: 58px; }
  #business figure,
  #business .head {
    position: relative;
    z-index: 10; }
  #business figure img {
    aspect-ratio: 835 / 557; }
  #business p.pop {
    line-height: 1.5; }
  #business .head {
    min-width: 332px; }
    @media screen and (max-width: 480px) {
      #business .head {
        min-width: initial; } }
    #business .head h2 {
      font-family: Poppins;
      font-weight: normal;
      font-size: 46px;
      font-size: 4.6rem;
      font-weight: 400;
      letter-spacing: 0.15em;
      margin-bottom: 30px; }
    #business .head p {
      line-height: 2.2;
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      line-height: 50px; }
      #business .head p:not(:last-of-type) {
        margin-bottom: 40px; }
  #business .ethic p {
    font-size: 30px;
    font-size: 3rem;
    font-weight: 500;
    letter-spacing: 0.15em;
    margin: 122px auto 40px;
    text-align: center; }
  #business .ethic ol {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
    margin: auto;
    width: fit-content; }
    #business .ethic ol li {
      align-items: center;
      background-color: #fff;
      display: -webkit-inline-flex;
      display: -moz-inline-flex;
      display: -ms-inline-flex;
      display: -o-inline-flex;
      display: inline-flex;
      flex-direction: column;
      max-width: 340px;
      min-width: 300px;
      padding: 5%;
      position: relative;
      width: calc(100% / 3);
      z-index: 10; }
      @media screen and (max-width: 480px) {
        #business .ethic ol li {
          max-width: initial;
          min-width: initial;
          width: 100%; } }
      #business .ethic ol li:nth-child(1) .ttl::after {
        content: '01'; }
      #business .ethic ol li:nth-child(2) .ttl::after {
        content: '02'; }
      #business .ethic ol li:nth-child(3) .ttl::after {
        content: '03'; }
      #business .ethic ol li .ttl {
        align-items: center;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: flex;
        height: 240px;
        justify-content: center;
        margin-bottom: 20px;
        padding: 5%;
        position: relative;
        width: 240px; }
        #business .ethic ol li .ttl::before {
          border: solid 1px #E7E7E7;
          border-radius: 360px;
          content: '';
          display: block;
          height: 100%;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translateY(-50%) translateX(-50%);
          width: 100%; }
        #business .ethic ol li .ttl::after {
          color: #ccc;
          display: block;
          font-family: "Poppins", sans-serif;
          font-size: 36px;
          font-size: 3.6rem;
          font-weight: 400;
          position: absolute;
          top: 5px;
          left: 8px; }
        #business .ethic ol li .ttl p {
          font-size: 20px;
          font-size: 2rem;
          font-weight: 400;
          letter-spacing: 0.1em;
          line-height: 36px;
          margin: 0 auto;
          text-align: center; }
      #business .ethic ol li .txt p {
        font-size: 16px;
        font-size: 1.6rem;
        letter-spacing: 0.1em;
        line-height: 28px;
        margin: 0 auto;
        opacity: .8;
        text-align: left; }

#brand {
  background-color: #EAEAEA;
  overflow: hidden;
  position: relative;
  /* 矢印 */
  /* 前へ次への矢印カスタマイズ */ }
  #brand .inner {
    padding-bottom: 180px; }
    @media screen and (max-width: 768px) {
      #brand .inner {
        padding-right: 0;
        padding-bottom: 160px; } }
    @media screen and (max-width: 480px) {
      #brand .inner {
        padding-bottom: 140px; } }
  #brand p.pop {
    font-size: 46px;
    font-size: 4.6rem;
    line-height: 1.5;
	letter-spacing:0.15em;
    margin-bottom: 60px; }
  @media screen and (max-width: 768px) {
    #brand .flex {
      flex-direction: column; } }
  #brand .slider {
    margin-right: -520px;
    position: relative;
    width: calc(100% + 520px);
    z-index: 5; }
    @media screen and (max-width: 768px) {
      #brand .slider {
        margin-right: 0;
        width: 100%; } }
  #brand .swiper {
    overflow: hidden;
    padding-bottom: 30px;
    position: relative; }
  #brand .swiper-wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex; }
    @media screen and (max-width: 768px) {
      #brand .swiper-wrapper {
        margin-left: 0;
        max-width: 100%;
        width: 100%; } }
  #brand .swiper-slide {
    background-color: #fff;
    margin-right: 40px;
    min-width: 340px;
    position: relative;
    width: calc(100% / 5); }
    @media screen and (max-width: 480px) {
      #brand .swiper-slide {
        min-width: 94%; } }
    #brand .swiper-slide.slide1 figure figcaption img {
      aspect-ratio: 145 / 42;
      height: 42px;
	  margin:23px 0;}
    #brand .swiper-slide.slide2 figure figcaption img {
      aspect-ratio: 108 / 57;
      height: 57px;
	  margin:15px 0;}
    #brand .swiper-slide.slide3 figure figcaption img {
      aspect-ratio: 71 / 87;
      height: 87px; }
    #brand .swiper-slide.slide4 figure figcaption img {
      aspect-ratio: 103 / 59;
      height: 59px; 
	  margin:14px 0;}
    #brand .swiper-slide.slide5 figure figcaption img {
      aspect-ratio: 100 / 69;
      height: 69px; 
	  margin:9px 0;}
    #brand .swiper-slide figure a {
      height: initial;
      margin: auto;
      position: initial;
      width: initial; }
    #brand .swiper-slide figure figcaption {
      align-items: center;
      display: -webkit-inline-flex;
      display: -moz-inline-flex;
      display: -ms-inline-flex;
      display: -o-inline-flex;
      display: inline-flex;
      flex-direction: column;
      justify-content: center;
      margin: 45px auto 48px;
      text-align: center;
      width: 100%; }
      #brand .swiper-slide figure figcaption img {
        width: auto; }
    #brand .swiper-slide p {
      font-size: 16px;
      font-size: 1.6rem;
      font-weight: 400;
      padding: 0 32px 30px;
      position: relative; }
    #brand .swiper-slide a {
      display: block;
      height: 30px;
      margin: 20px 0 0 auto;
      position: absolute;
      right: 12px;
      bottom: 10px;
      width: 30px; }
      #brand .swiper-slide a:hover {
        opacity: 1; }
      #brand .swiper-slide a img {
        object-fit: contain; }
  #brand .ctrl_btn {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    gap: 40px;
    position: absolute;
    top: -80px;
    left: 49%; }
    @media screen and (max-width: 768px) {
      #brand .ctrl_btn {
        position: absolute;
        top: -80px;
        right: 20px;
        left: initial; } }
    @media screen and (max-width: 480px) {
      #brand .ctrl_btn {
        top: -40px; } }
    #brand .ctrl_btn .swiper-button-next,
    #brand .ctrl_btn .swiper-button-prev {
		cursor:pointer;
      height: 24px; }
    #brand .ctrl_btn .swiper-button-prev {
      color: #999; }
      #brand .ctrl_btn .swiper-button-next::after {
        color: #222;
        content: '>';
        display: inline-block;
        margin-left: 10px; }
    #brand .ctrl_btn .swiper-button-prev::before {
      color: #999;
      content: '<';
      display: inline-block;
      margin-right: 10px; }

#stores p.pop {
  font-size: 46px;
  font-size: 4.6rem;
  letter-spacing: 0.15em;
  line-height: 1.5;
  margin-bottom: 60px; }
@media screen and (max-width: 768px) {
  #stores .bnr .pc {
    display: block; } }
@media screen and (max-width: 480px) {
  #stores .bnr .pc {
    display: none; } }
#stores .bnr .pc img {
  aspect-ratio: 700 / 338; }
#stores .bnr .sp {
  display: none; }
  @media screen and (max-width: 480px) {
    #stores .bnr .sp {
      display: block; } }
  #stores .bnr .sp img {
    aspect-ratio: 700 / 638; }
#stores .bnr img {
  display: block;
  margin: auto;
  max-width: 700px; }
#stores .bnr a {
  display: block;
  margin: auto;
  max-width: 700px; }
#stores .bnr p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 28px;
  margin-top: 20px;
  text-align: center; }
#stores .bnr ul {
  align-items: center;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  justify-content: center;
  padding-top: 60px;
  padding-bottom: 206px; }
  @media screen and (max-width: 768px) {
    #stores .bnr ul {
      gap: 3%;
      padding-bottom: 180px; } }
  @media screen and (max-width: 480px) {
    #stores .bnr ul {
      padding-bottom: 160px; } }
  #stores .bnr ul li {
    max-width: 250px;
    min-width: 250px;
    position: relative;
    width: calc(100% / 4); }
    @media screen and (max-width: 768px) {
      #stores .bnr ul li {
        min-width: initial;
        margin-bottom: 15px;
        max-width: 230px;
        width: calc((100% / 2) - 3%); } }
    @media screen and (max-width: 480px) {
      #stores .bnr ul li {
        width: 40%;
		float:left;
		margin:1em 2%;
		} 
      #stores .bnr ul hr {
        width: 100%;
		margin:5em 0;
		} 
		}
    #stores .bnr ul li a {
      align-items: center;
      background-color: #fff;
      box-shadow: 2px 2px 5px 2px rgba(0, 0, 0, 0.1);
      display: -webkit-inline-flex;
      display: -moz-inline-flex;
      display: -ms-inline-flex;
      display: -o-inline-flex;
      display: inline-flex;
      justify-content: center;
      min-height: 80px;
      min-width: 250px;
      padding: 16px 45px 16px 15px;
      position: relative;
      width: 100%; }
      @media screen and (max-width: 768px) {
        #stores .bnr ul li a {
          min-width: 200px;
          padding: 10px 3%; } }
      @media screen and (max-width: 480px) {
        #stores .bnr ul li a {
          min-width: 100%;
           }
    #stores .bnr ul li span {
      bottom: -55px !important;
	}
		}
      #stores .bnr ul li a::after {
        background-image: url("../images/icon_arrow.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        content: '';
        display: inline-block;
        height: 30px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 30px; }
        @media screen and (max-width: 768px) {
          #stores .bnr ul li a::after {
            display: none; } }
    #stores .bnr ul li span {
      display: block;
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      line-height: 28px;
      position: absolute;
      bottom: -46px;
      left: 50%;
      text-align: center;
      transform: translateX(-50%);
      width: 100%; }
    #stores .bnr ul li span:last-child {
		width:200%;
	}
	#stores .bnr ul li img.bnr_amazon {
      aspect-ratio: 153 / 57;
      height: 57px;
      width: 153px; }
    #stores .bnr ul li img.bnr_au {
      aspect-ratio: 179 / 38;
      height: 38px;
      width: 179px; }
    #stores .bnr ul li img.bnr_qoo10 {
      aspect-ratio: 161 / 48;
      height: 48px;
      width: 161px; }
    #stores .bnr ul li img.bnr_rakuten {
      aspect-ratio: 131 / 48;
      height: 48px;
      width: 131px; }
    #stores .bnr ul li img.bnr_yahoo {
      aspect-ratio: 175 / 25;
      height: 25px;
      width: 175px; }

      @media screen and (max-width: 480px) {
    #stores .bnr ul li img.bnr_amazon {
      aspect-ratio:auto;
      height:100%;
      width:100%; }
    #stores .bnr ul li img.bnr_au {
      aspect-ratio:auto;
      height:100%;
      width:100%; }
    #stores .bnr ul li img.bnr_qoo10 {
      aspect-ratio:auto;
      height:100%;
      width:100%; }
    #stores .bnr ul li img.bnr_rakuten {
      aspect-ratio:auto;
      height:100%;
      width:100%; }
    #stores .bnr ul li img.bnr_yahoo {
      aspect-ratio:auto;
      height:100%;
      width:100%; }
	  }

#company {
  margin-bottom: 174px;
  position: relative; }
  @media screen and (max-width: 768px) {
    #company {
      margin-bottom: 120px; } }
  @media screen and (max-width: 480px) {
    #company {
      margin-bottom: 80px; } }
  #company::before {
    background-color: #F7F7F7;
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	width:100%;
    /*width: calc(100% - 72px);*/ }
    @media screen and (max-width: 768px) {
      #company::before {
        /*width: calc(100% - 40px);*/
		width:100%;} }
  #company .inner {
    padding-bottom: 180px; }
    @media screen and (max-width: 768px) {
      #company .inner {
        padding-bottom: 140px; } }
    @media screen and (max-width: 480px) {
      #company .inner {
        padding-bottom: 100px; } }
  #company p.pop {
    font-size: 46px;
    font-size: 4.6rem;
    letter-spacing: 0.15em;
    margin-bottom: 60px;
    position: relative;
    z-index: 10; }
  #company .flex_box {
    flex-wrap: wrap;
    gap: 8%;
    justify-content: space-between;
    padding: 0 100px  0 0; }
    @media screen and (max-width: 768px) {
      #company .flex_box {
        gap: 0;
        padding: 0 40px; } }
    @media screen and (max-width: 480px) {
      #company .flex_box {
        padding: 0; } }
  #company dl {
    align-items: center;
    border-bottom: solid 1px #ddd;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center;
    padding: 45px 0;
    position: relative;
    width: calc((100% / 2) - 8%);
    z-index: 10; }
    @media screen and (max-width: 768px) {
      #company dl {
        width: 100%; } }
    @media screen and (max-width: 480px) {
      #company dl {
        flex-direction: column;
        padding: 25px 0;
        width: 100%; } }
    #company dl:first-of-type, #company dl:nth-of-type(2) {
      border-top: solid 1px #ddd; }
    #company dl dt,
    #company dl dd {
      font-size: 16px;
      font-size: 1.6rem;
      letter-spacing: 0.1em;
      line-height: 1.4; }
    #company dl dt {
      color: #999;
      font-weight: 500;
      width: 30%; }
      @media screen and (max-width: 480px) {
        #company dl dt {
          margin-bottom: 10px;
          width: 100%; } }
    #company dl dd {
      width: 70%; }
      @media screen and (max-width: 480px) {
        #company dl dd {
          width: 100%; } }
      #company dl dd span {
        font-size: 11px;
        font-size: 1.1rem; }
        #company dl dd span a {
          text-decoration: underline; }

#sustainability {
  background-color: #F0F8FB; }
  #sustainability p {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 65px; }
    #sustainability p.pop {
      font-size: 46px;
      font-size: 4.6rem;
      letter-spacing: 0.15em;
      margin-bottom: 60px; }
      #sustainability p.pop br {
        display: none; }
        @media screen and (max-width: 480px) {
          #sustainability p.pop br {
            display: block; } }
  #sustainability .flex_box {
    align-items: center;
    position: relative; }
    @media screen and (max-width: 768px) {
      #sustainability .flex_box {
        flex-direction: column-reverse; } }
    @media screen and (max-width: 768px) {
      #sustainability .flex_box figure {
        width: 100%; } }
    @media screen and (max-width: 768px) {
      #sustainability .flex_box figure img {
        height: 360px;
        margin-left: -20px;
        object-fit: cover;
        width: calc(100% + 40px); } }
    @media screen and (max-width: 480px) {
      #sustainability .flex_box figure img {
        height: 300px; } }
    #sustainability .flex_box:nth-of-type(odd) figure {
      padding-left: 37%; }
      @media screen and (max-width: 768px) {
        #sustainability .flex_box:nth-of-type(odd) figure {
          padding-left: 0; } }
    #sustainability .flex_box:nth-of-type(even) figure {
      padding-right: 37%; }
      @media screen and (max-width: 768px) {
        #sustainability .flex_box:nth-of-type(even) figure {
          padding-right: 0; } }
    #sustainability .flex_box:not(:last-of-type) {
      margin-bottom: 65px; }
    #sustainability .flex_box:last-of-type {
      padding-bottom: 180px; }
      @media screen and (max-width: 768px) {
        #sustainability .flex_box:last-of-type {
          padding-bottom: 140px; } }
      @media screen and (max-width: 480px) {
        #sustainability .flex_box:last-of-type {
          padding-bottom: 100px; } }
    @media screen and (max-width: 768px) {
      #sustainability .flex_box._reverce .read {
        right: 0;
        left: initial; } }
  #sustainability .read {
    background-color: #fff;
    height: 400px;
    max-width: 500px;
    padding: 3% 5%;
    position: absolute;
    width: 100%;
    z-index: 5; }
    @media screen and (max-width: 768px) {
      #sustainability .read {
        margin-top: -120px;
        position: relative; } }
    #sustainability .read .logo {
      margin-bottom: 30px;
      text-align: center; }
      #sustainability .read .logo img.blue_earth {
        aspect-ratio: 202 / 75;
        height: 75px;
        width: 202px; }
      #sustainability .read .logo img.olive_conservation_project {
        aspect-ratio: 213 / 75;
        height: 75px;
        width: 213px; }
    #sustainability .read .brand {
      margin-bottom: 30px; }
      #sustainability .read .brand p {
        letter-spacing: 0.1em;
        line-height: 28px;
        margin-bottom: 0;
        text-align: center; }
        #sustainability .read .brand p:first-of-type {
          font-size: 20px;
          font-size: 2rem;
          font-weight: 500; }
        #sustainability .read .brand p:last-of-type {
          color: #999;
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: 400; }
    #sustainability .read .disc p {
      font-size: 16px;
      font-size: 1.6rem;
      font-weight: 400;
      line-height: 28px; }
  #sustainability figure img {
    height: 493px;
    width: 820px; }

#contact p {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 65px; }
  #contact p.pop {
    font-size: 46px;
    font-size: 4.6rem;
    letter-spacing: 0.15em;
    margin-bottom: 60px; }
#contact .read p span.red {
  color: #FF0000; }
#contact .contact_form dl {
  align-items: center;
  border-bottom: solid 1px #ddd;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  justify-content: space-between;
  padding: 25px 0; }
  @media screen and (max-width: 480px) {
    #contact .contact_form dl {
      flex-direction: column;
      padding: 0 0 25px; } }
  #contact .contact_form dl:first-of-type {
    border-top: solid 1px #ddd; }
  #contact .contact_form dl:last-of-type {
    margin-bottom: 73px; }
    @media screen and (max-width: 480px) {
      #contact .contact_form dl:last-of-type {
        margin-bottom: 50px; } }
  #contact .contact_form dl dt,
  #contact .contact_form dl dd {
    font-size: 16px;
    font-size: 1.6rem; }
    #contact .contact_form dl dt p,
    #contact .contact_form dl dd p {
      margin-bottom: 0; }
  #contact .contact_form dl dt {
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    min-width: 157px;
    width: 30%; }
    @media screen and (max-width: 480px) {
      #contact .contact_form dl dt {
        width: 100%; } }
    #contact .contact_form dl dt.inq::after {
      color: #FF0000;
      content: '※';
      display: inline-block;
      margin-left: 2px; }
  #contact .contact_form dl dd {
    width: 70%; }
    @media screen and (max-width: 480px) {
      #contact .contact_form dl dd {
        width: 100%; } }
    #contact .contact_form dl dd.radio_select {
      margin: 0 auto -20px 0;
      max-width: 680px; }
      @media screen and (max-width: 480px) {
        #contact .contact_form dl dd.radio_select {
          margin-left: 23px; } }
    #contact .contact_form dl dd .wpcf7-form-control.wpcf7-radio {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: flex;
      flex-wrap: wrap;
      gap: 5%;
      margin-left: -1.5em; }
    #contact .contact_form dl dd input[type="radio"] {
      opacity: 0;
      position: absolute;
      visibility: hidden; }
    #contact .contact_form dl dd .wpcf7-list-item {
      margin-bottom: 20px; }
      @media screen and (max-width: 480px) {
        #contact .contact_form dl dd .wpcf7-list-item {
          width: 100%; } }
    #contact .contact_form dl dd span.wpcf7-list-item-label {
      align-items: center;
      cursor: pointer;
      display: flex;
      min-height: 24px;
      position: relative;
      min-width: 24px; }
      #contact .contact_form dl dd span.wpcf7-list-item-label::before {
        background: #F4F4F4;
        border-radius: 50%;
        border: 1px solid #ccc;
        content: '';
        display: block;
        height: 24px;
        min-width: 24px;
        margin-right: 10px;
        width: 5%; }
      #contact .contact_form dl dd span.wpcf7-list-item-label::after {
        background-color: #ccc;
        content: '';
        border-radius: 50%;
        display: none;
        height: 16px;
        position: absolute;
        top: 50%;
        left: 4px;
        transform: translateY(-50%);
        width: 16px; }
    #contact .contact_form dl dd input[type="radio"]:checked + span.wpcf7-list-item-label::after {
      display: block; }
    #contact .contact_form dl dd input[name="radio-125"] {
      height: 24px;
      width: 24px; }
    #contact .contact_form dl dd input,
    #contact .contact_form dl dd textarea {
      background: #F4F4F4;
      border: solid 1px #ccc;
      padding: 10px 8px; }
    #contact .contact_form dl dd input {
      max-width: 569px;
      width: 70%; }
      @media screen and (max-width: 480px) {
        #contact .contact_form dl dd input {
          max-width: initial;
          width: 100%; } }
    #contact .contact_form dl dd textarea {
      max-width: 669px;
      width: 100%; }
      @media screen and (max-width: 480px) {
        #contact .contact_form dl dd textarea {
          max-width: initial; } }
#contact .contact_form .privacy_policy div {
  border: solid 1px #ccc;
  height: 420px;
  margin-bottom: 40px;
  overflow-y: scroll;
  padding: 40px;
  outline: 40px solid white;
  outline-offset: -41px; }
  @media screen and (max-width: 480px) {
    #contact .contact_form .privacy_policy {
      padding: 20px;
      outline: 20px solid white;
      outline-offset: -21px; } }
/*  #contact .contact_form .privacy_policy p {
    margin-bottom: 0; }*/
#contact .contact_form .final_Confirmation {
  align-items: center;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  justify-content: center;
  margin-bottom: 90px; }
  @media screen and (max-width: 480px) {
    #contact .contact_form .final_Confirmation {
      margin-bottom: 50px; } }
  #contact .contact_form .final_Confirmation .wpcf7-form-control-wrap[data-name="acceptance-379"] input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #F4F4F4;
    border: 1px solid #ccc;
    height: 26px;
    margin-right: 20px;
    position: relative;
    vertical-align: -14px;
    width: 26px; }
    @media screen and (max-width: 480px) {
      #contact .contact_form .final_Confirmation .wpcf7-form-control-wrap[data-name="acceptance-379"] input[type="checkbox"] {
        margin-right: 8px; } }
  #contact .contact_form .final_Confirmation .wpcf7-form-control-wrap[data-name="acceptance-379"] input[type="checkbox"]:checked:before {
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    content: '';
    height: 18px;
    position: absolute;
    top: 1px;
    left: 7px;
    transform: rotate(50deg);
    width: 11px; }
  #contact .contact_form .final_Confirmation .wpcf7-form-control-wrap[data-name="acceptance-379"] .wpcf7-list-item label {
    align-items: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    justify-content: center; }
  #contact .contact_form .final_Confirmation .wpcf7-form-control-wrap[data-name="acceptance-379"] span.wpcf7-list-item-label {
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 28px; }
#contact .contact_form .send {
  margin-bottom: 111px;
  text-align: center; }
  #contact .contact_form .send input[type="submit"] {
    background: #333;
    border-radius: 360px;
    box-shadow: 1px 2px 8px 2px rgba(0, 0, 0, 0.2);
    color: #fff;
    cursor: pointer;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    height: 80px;
    letter-spacing: 0.1em;
    line-height: 28px;
    width: 280px; }
  #contact .contact_form .send span.wpcf7-spinner {
    display: none; }
#contact .contact_form .wpcf7 form.invalid .wpcf7-response-output,
#contact .contact_form .wpcf7 form.unaccepted .wpcf7-response-output {
  color: red;
  font-size: 16px;
  font-size: 1.6rem;
  margin: 0;
  padding: 8px 20px;
  position: absolute;
  bottom: 210px;
  left: 50%;
  text-align: center;
  transform: translateX(-50%);
  width: 90%; }
  @media screen and (max-width: 768px) {
    #contact .contact_form .wpcf7 form.invalid .wpcf7-response-output,
    #contact .contact_form .wpcf7 form.unaccepted .wpcf7-response-output {
      bottom: 206px; } }
  @media screen and (max-width: 480px) {
    #contact .contact_form .wpcf7 form.invalid .wpcf7-response-output,
    #contact .contact_form .wpcf7 form.unaccepted .wpcf7-response-output {
      margin: -60px 0 40px;
      position: initial;
      transform: initial;
      width: 100%; } }
#contact .contact_form .wpcf7-response-output {
  border-color: #ff9e2c;
  color: blue;
  font-size: 16px;
  font-size: 1.6rem;
  margin: 0;
  padding: 8px 20px;
  position: absolute;
  bottom: 210px;
  left: 50%;
  text-align: center;
  transform: translateX(-50%);
  width: 90%; }
  @media screen and (max-width: 768px) {
    #contact .contact_form .wpcf7-response-output {
      bottom: 206px; } }
  @media screen and (max-width: 480px) {
    #contact .contact_form .wpcf7-response-output {
      margin: -60px 0 40px;
      position: initial;
      transform: initial;
      width: 100%; } }

@use "sass:math";
footer .inner {
  padding: 0 3% 103px; }
  @media screen and (max-width: 768px) {
    footer .inner {
      padding: 0 20px 80px; } }
footer small {
  color: #717a83;
  display: block;
  font-family: "Sawarabi Gothic";
  font-weight: 400;
  opacity: 0.5;
  text-align: center; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*# sourceMappingURL=common.css.map */

html {
  scroll-behavior: smooth;
}

p#agree_check {
	text-align:center;
	margin-bottom:4rem;
}

div#agreement input[type="checkbox"] {
	margin-right: 10px;
}


form#mail_form div#agreement span.error_check {
	display: none;
	color: #ff0000;
	margin-top: 3px;
}

/* -- button -------------------------------------------------------------------------------- */

form#mail_form p#form_submit {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
}

form#mail_form input[type="button"] {
    background: #333;
    border-radius: 360px;
    box-shadow: 1px 2px 8px 2px rgba(0, 0, 0, 0.2);
    color: #fff;
    cursor: pointer;
    font-size: 20px;
    font-size: 2rem;
    font-weight: 500;
    height: 80px;
    letter-spacing: 0.1em;
    line-height: 28px;
    width: 280px;}

form#mail_form input[type="button"]:hover {
	cursor: pointer;
	background: #449d44;
	border: 1px solid #398439;
}

/*form#mail_form input[type="button"] {
	margin-left: 35%;
}*/

.animateElement {
  /*width: 100%;*/ /* これはテスト用のサイズ指定なのでなくていいです */
  /*height: 5em;*/ /* これはテスト用のサイズ指定なのでなくていいです */
  /*background: #000;*/ /* これはテスト用のサイズ指定なのでなくていいです */
  -webkit-transform: translateZ(0); /* 動きを滑らかにするおまじないです。使いすぎ注意。 */
　display: none;
  opacity: 0:
}

.animated {
  /* アニメーションのプロパティを指定 */
  animation-name: example;
  animation-duration: 1s;
  display: block;
  opacity: 1;

}

@keyframes example {
  from {opacity: 0;}
  to {opacity: 1;}

.animated2 {
  /* アニメーションのプロパティを指定 */
  -webkit-transform: translateZ(0);
  animation-name: example2;
  animation-duration: 0.5s;
  animation-timing-function: ease-in;
  position: relative;
  display: block;
  opacity: 1;
}

@keyframes example2 {
  from {
    opacity: 0;
    left: -100px;
  }
  to {
    opacity: 1;
    left: 0;
  }
