:root {
    --base-width: 100%;
    --base-height: 100%;
    --base-color: #000000;
    --blue-color: #0c5aa9;
    --skyblue-color: #01a5b6;
    --white-color: #FFFFFF;
    --contens-color: #f5f2ed;
    --gray-color: #f5f5f5;
    --darkgray-color: #2e2f2f;
    --midlegray-color: #bababa;
    --red-color: #d91717;
    --yellow-color: #feef04;
    --green-color: #10a16a;
    --font-color: #000000;
    --text-center: center;
    --base-potision: relative;
    --child-potision: absolute;
    --base-margin: 0 auto;
    --base-padding: 0;
    --base-line: 2em;
    --display-block: block;
    --cont-width: 1280px;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.8rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.3125rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 2rem;
    --font-size-4xl: 2.652rem;
    --font-size-5xl: 4rem;
}
@charset "UTF-8";
#footer__column {
  margin-top: 50px;
  padding: 15px 0;
  width: var(--base-width);
  background-color: var(--gray-color);
  z-index: 1;
}
#pagetop {
  position: fixed;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: var(--green-color);
  color: var(--white-color);
  bottom: 50px;
  right: 10px;
  cursor: pointer;
  z-index: 9;
}

#pagetop a {
  position: var(--child-potision);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: var(--display-block);
  width: var(--base-width);
  text-align: var(--text-center);
  font-size: 14px;
  color: white;
}
body {
  background-color: var(--white-color);
}
  #contents {
    margin: var(--base-margin);
    width: var(--base-width);
    max-width: var(--cont-width);
  }
  .mg {
    margin: 50px auto!important;
  }
  .mg20 {
    margin: 20px 0;
  }
  .mg30 {
    margin: 30px auto 0!important;
  }
  .mb {
    margin-bottom: 20px;
  }
  .mg50 {
    margin-bottom: 50px;
  }
  .mgt50 {
    margin-top: 50px;
  }
  span.red {
    color: var(--red-color);
  }
  .center {
    text-align: center;
    margin: 0 auto;
    display: block;
  }
  .bold {
    font-weight: bold;
  }
.updown{
  animation-name:UpDown;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate;
}
@keyframes UpDown{
  0%{
  transform: translateY(0);
  }
  100%{
  transform: translateY(10px);
  }
}
.marker {
  background: linear-gradient(transparent 60%, #ffff00 0%);
}
/********************************************header/top関連********************************************************/
  #top-img {
    text-align: var(--text-center);
    margin: 0;
  }
    #top-img img {
      width: 100%;
      max-width: 1280px;
    }
/********************************************コンテンツ**************************************************************/
  #gray-bg {
    background-color: #ebebeb;
    padding: 10px;
  }
    .gray-title {
      background-color: var(--green-color);
      text-align: center;
    }
      .gray-title p {
        color: white;
        line-height: 2em;
        font-size: 2rem;
        font-weight: bold;
      }
    .white-area {
      padding: 10px 0;
    }
      .white-box,
      .white-box2 {
        background-color: white;
        padding: 10px;
        text-align: center;
      }
      .white-box p {
        font-size: 1.45rem;
        line-height: 1.6em;
      }
      .white-box2 p {
        font-size: 1.25rem;
        line-height: 1.6em;
      }
      .white-box p span {
        font-size: 3rem;
        font-weight: bold;
        line-height: 2em;
        padding: 0 10px;
      }
    .contents-box {
      text-align: center;
    }
    .contents-title {
      color: var(--green-color);
      font-size: 3rem;
      font-weight: bold;
      line-height: 1.6em;
    }
    .cont-txt {
      margin-top: 20px;
      font-size: 1.45rem;
      line-height: 1.6em;
    }
    .cont-txt p.big {
      margin-top: 20px;
      font-size: 2rem;
      font-weight: bold;
      line-height: 1.6em;
    }


  .sliderArea {
    width: var(--base-width);
    margin: 60px 0;
  }
  .carousel {
    outline: none;
    box-sizing: border-box;
  }
    .carousel-cell {
      position: var(--base-potision);
      width: 350px;
      height: 500px;
      margin-right: 10px;
      counter-increment: gallery-cell;
    }
      .carousel-cell img {
        position: var(--child-potision);
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: var(--base-width);
        max-width: 350px;
      }
  .flex-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    align-content: center;
    gap: 5px;
    margin: 30px 0;
  }
    .flex-container .flex-box {
      position: relative;
      padding: 5px;
      border: 2px solid var(--green-color);
      width: 32%;
      z-index: 10;
    }
    .flex-container .flex-box2 {
      position: relative;
      width: 49%;
    }
      .flex-container .flex-box > .flex-img,
      .flex-container .flex-box > .flex-vimg ,
      .flex-container .flex-box2 > .flex-vimg {
        text-align: center;
      }
      .flex-container .flex-box > .flex-img img,
      .flex-container .flex-box2 > .flex-img img {
        width: var(--base-width);
      }
      .flex-container .flex-box > .flex-vimg img {
        width: var(--base-width);
        max-width: 200px;
      }
      .flex-container .flex-box > .title {
        text-align: center;
        font-size: 2rem;
        font-weight: bold;
        line-height: 1.6em;
        padding-bottom: 5px;
        color: var(--green-color);
        border-bottom: 1px solid var(--green-color);
      }
      .flex-container .flex-box2 > .flex-title {
        text-align: left;
        font-size: 2.75rem;
        font-weight: bold;
        line-height: 1.6em;
        background-color: black;
        color: white;
        padding: 0 5px;
      }
      .flex-container .flex-box2 > .flex-txt {
        text-align: justify;
        font-size: 1.45rem;
        line-height: 1.6em;
        padding: 10px 0;
      }
      .flex-container .flex-box > p {
        font-size: 1.25rem;
        padding: 10px 0 0;
      }
      .rever {
        flex-direction: row-reverse;
      }
.circle {
  position: absolute;
  left: 0;
  top: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color:var(--green-color);
  font-size:1rem;
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  z-index: 999;
}
.coution-box {
  background-color: #ebecee;
  margin: 20px 0 50px;
  padding: 5px;
  font-size: 1.25rem;
  text-align: center;
}
.person {
  text-align: left;
}
.txt-left {
  text-align: left;
}
.name {
  text-align: left!important;
  font-size: 1.25rem;
  font-weight: bold;
}
.btn-area {
  text-align: center;
}
  .btn-area a:hover {
    opacity: .7;
  }

/********************************************form***************************************************************/
.green-bg {
  position: relative;
  background-color: var(--green-color);
  height: 100%;
  margin-top: 30px;
  padding: 10px;
}
  .green-bg::before {
    content: "";
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-top: 30px solid var(--green-color);
    position: absolute;
    top:100%;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
  .green-bg .center {
    text-align: center;
    font-size: 2rem;
    font-weight: bolder;
    color: white;
    margin: 0 auto;
    display: block;
  }
    .triangle {
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 25px solid transparent;
      border-left: 25px solid transparent;
      border-top: 20px solid var(--green-color);
      border-bottom: 0;     
    }
.form-title {
  background-color: black;
  padding: 5px;
  text-align: center;
}
  .form-title p {
    font-size: 1.65rem;
    font-weight: bold;
    color: white;
  }
.form {
    
}

.form-item {
    border-bottom: 1px solid #eee;
    padding: 10px 0;
}

.form-item-name {
    display: block;
    font-weight: bold;
    font-size: 1.6rem;
}

.form-item-body {
    margin-top: 4px;
}

.form-item-text{
    width: 100%;
}

.c-form-text {
    height: 3em;
    width: 100%;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}


.form-item-textarea{
    height: 300px;
}

.c-form-textarea {
    display: block;
    width: 100%;
    height: 100%;
    padding: 4px 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    resize: vertical;
}

.c-form-textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.c-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.form-submit {
    margin: 10px auto 0;
    width: 100%;
}

.c-form-submit-button {
  font-size: 2rem;
    display: inline-block;
    width: 100%;
    padding: 15px 8px;
    border: none;
    border-radius: 4px;
    background-color: orange;
    color: #fff;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
}
.c-form-submit-button2 {
  font-size: 2rem;
    display: inline-block;
    width: 100%;
    padding: 15px 8px;
    border: none;
    border-radius: 4px;
    background-color: green;
    color: #fff;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
}


.c-form-submit-button:hover,
.c-form-submit-button2:hover {
    background-color: #000;
}

.c-form-submit-button:focus,
.c-form-submit-button2:focus {
    outline: 0;
    background-color: #000;
    border: 2px solid rgb(33, 150, 243);
}

/********************************************ポリシー・特定商法*******************************************************/
  #s-contents {
    width: 800px;
    height: var(--base-height);
    margin: 0 auto 100px;
    overflow: hidden
  }
    #category-title {
      margin: 50px auto 20px;
      text-align: left;
      font-size: 1.45rem;
      font-weight: bold;
      color: #58A618;
    }
/********************************************規約*****************************************************************/
  .tokutei_title {
    margin: 0 0 50px 0;
    border-bottom: solid 4px #10a16a;
    padding: 0 0 20px 0;
    line-height: 150%;
    text-align: var(--text-center);
}
h1, .h1 {
    font-size: 36px;
} 
.e2 {
  padding-top: 30px;
  font-size: 1.4rem;
  text-align: var(--text-center);
}
.gray {
  background-color: #EFEFEF;
  padding: 60px 0;
}
.white_box {
    background: #FFF;
    padding: 20px;
    margin: 0 0 70px 0;
    border: solid 1px #C8C8C8;
}
.privacy{
    text-align: left;
    padding: 30px;
}
.privacy h2 {
  position: relative;
  padding: 1rem 2rem 1rem 4em;
  background: #ededed;
  display: block;
  width: 100%;
  font-size: 1.65rem!important;
  margin: 0 0 2rem 0;
}

.privacy h2 span {
  position: absolute;
  top: -10px;
  left: 20px;
  display: inline-block;
  width: 52px;
  height: 50px;
  text-align: center;
  background: #10a16a;
}

.privacy h2 span:before,
.privacy h2 span:after {
  position: absolute;
  content: '';
}

.privacy h2 span:before {
  right: -10px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #10a16a;
}

.privacy h2 span:after {
  top: 50%;
  left: 0;
  display: block;
  height: 50%;
  border: 1em solid #10a16a;
  border-bottom-width: 15px;
  border-bottom-color: transparent;
}
.privacy p{
    margin: 0 0 40px 0;
    line-height: 150%;
}

.company-overview {
  border-top: none;
}

.company-overview .item {
  padding: 24px 0;
  border-bottom: 1px solid #ddd;
}
.company-overview .item:first-child {
  padding: 0 0 24px;
}
.company-overview .item:last-child {
  padding: 24px 0 0;
  border-bottom: none;
}

@media screen and (min-width: 560px) {
  .company-overview .item {
    display: grid;
    /*項目名：名称の横幅比率*/
    grid-template-columns: 1fr 5fr;
    /*項目名：名称の間の余白*/
    column-gap: 32px;
    -webkit-column-gap: 32px;
    -moz-column-gap: 32px;
  }
}


  #fkiyaku {
    text-align: var(--text-center);
    margin: var(--base-margin);
  }

  #fkiyaku ul {
    width: var(--base-width);
    font-size: 0;
  }
  #link-text {
    text-align: var(--text-center);
    margin: 10px auto 5px;
    font-size: 0;
  }
    #link-text ul {
      padding: 0;
    }
    #link-text ul li {
      display: inline-block;
      font-size: .8rem;
      color: #000000;
    }
      #link-text ul li:nth-child(1) {
        text-align: left!important;
      }
    #link-text ul li a {
      color: #000000;
      text-decoration: none;
    }
  #fkiyaku ul li {
  font-size: 0.8rem;
  padding:0 10px;
  color: #000000;
  }

  #fkiyaku ul li a {
    color: #000000;
  }

  #fkiyaku ul li a:hover {
    text-decoration: underline;
  }
  .white-box-center {
    font-size: 2.65rem;
    font-weight: bold;
  }
@media only screen and (min-width: 300px) and (max-width: 767px) {
  #contents {
    padding: 0 10px;
  }
  .mg {
    margin: 20px auto!important;
  }
  .mg20 {
    margin: 20px 0;
  }
  .mb {
    margin-bottom: 10px;
  }
  .mg50 {
    margin-bottom: 20px;
  }
/********************************************コンテンツ**************************************************************/
  #gray-bg {
    padding: 5px;
  }
      .gray-title p {
        color: white;
        line-height: 2em;
        font-size: 1.45rem;
        font-weight: bold;
      }
    .white-area {
      padding: 5px;
    }
      .white-box,
      .white-box2 {
        padding: 5px;
        text-align: left;
      }
      .white-box p {
        font-size: 1rem;
        line-height: 1.6em;
        text-align: left;
      }
      .white-box2 p {
        font-size: 1rem;
      }
      .white-box p span {
        font-size: 1.45rem;
        font-weight: bold;
        line-height: 2em;
        padding: 0 10px;
      }
  .white-box-center {
    font-size: 1.65rem;
    font-weight: bold;
    text-align: center;
  }
    .contents-box {
      text-align: center;
    }
    .contents-title {
      font-size: 1.25rem;
    }
    .cont-txt {
      margin-top: 10px;
      font-size: .85rem;
      line-height: 1.6em;
    }
    .cont-txt p.big {
      margin-top: 20px;
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.6em;
    }


  .sliderArea {
    width: var(--base-width);
    height: 100%;
    margin: 20px 0 0;
  }
  .carousel {
    outline: none;
    box-sizing: border-box;
  }
    .carousel-cell {
      position: var(--base-potision);
      width: 100%;
      max-width: 300px;
      margin-right: 10px;
      counter-increment: gallery-cell;
    }
      .carousel-cell img {
        position: var(--child-potision);
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: var(--base-width);
        max-width: 350px;
      }
  .flex-container {
    margin: 10px 0;
  }
    .flex-container .flex-box {
      width: 49%;
    }
    .flex-container .flex-box2 {
      position: relative;
      width: 100%;
    }
      .flex-container .flex-box2 > .flex-vimg img {
        width: var(--base-width);
      }
      .flex-container .flex-box > .title {
        font-size: 1rem;
      }
      .flex-container .flex-box2 > .flex-title {
        text-align: center;
        font-size: 1.65rem;
      }
      .flex-container .flex-box2 > .flex-txt {
        text-align: justify;
        font-size: 1rem;
        line-height: 1.6em;
        padding: 10px 0;
      }
      .flex-container .flex-box > p {
        font-size: 1rem;
        padding: 5px 0 0;
      }
      .rever {
        flex-direction: row-reverse;
      }
.circle {
  width: 50px;
  height: 50px;
  font-size:.8rem;
}
.coution-box {
  margin: 20px 0 30px;
  font-size: .9rem;
  text-align: left;
}
.person {
  text-align: left;
}
.txt-left {
  text-align: left;
}

.btn-area {
  text-align: center;
}
.btn-area img {
  width: 100%;
}
.img img {
  width: 100%;
}
/********************************************form***************************************************************/
.green-bg {
  padding: 5px;
}
  .green-bg::before {
    border: 10px solid transparent;
    border-top: 15px solid var(--green-color);
  }
  .green-bg .center {
    font-size: 1.45rem;
  }
    .triangle {
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 25px solid transparent;
      border-left: 25px solid transparent;
      border-top: 20px solid var(--green-color);
      border-bottom: 0;     
    }
.form-title {
  background-color: black;
  padding: 5px;
  text-align: center;
}
  .form-title p {
    font-size: 1rem;
    font-weight: bold;
    color: white;
  }

.form-item-name {
    font-size: 1rem;
}

.form-item-body {
    margin-top: 4px;
}
.form-item {
    padding: 5px 0;
}

.c-form-text {
    height: 2.4em;
    width: 100%;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}


.form-item-textarea{
    height: 300px;
}

.c-form-textarea {
    display: block;
    width: 100%;
    height: 100%;
    padding: 4px 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    resize: vertical;
}

.c-form-textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.c-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}

.form-submit {
    margin: 10px auto 0;
    width: 100%;
}

.c-form-submit-button {
  font-size: 1.2rem;
    display: inline-block;
    width: 100%;
    padding: 15px 8px;
    border: none;
    border-radius: 4px;
    background-color: orange;
    color: #fff;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
}
.c-form-submit-button2 {
  font-size: 1.2rem;
    display: inline-block;
    width: 100%;
    padding: 15px 8px;
    border: none;
    border-radius: 4px;
    background-color: green;
    color: #fff;
    font-weight: bold;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
    border: 2px solid transparent;
}


.c-form-submit-button:hover,
.c-form-submit-button2:hover {
    background-color: #000;
}

.c-form-submit-button:focus,
.c-form-submit-button2:focus {
    outline: 0;
    background-color: #000;
    border: 2px solid rgb(33, 150, 243);
}

.privacy{
    text-align: left;
    padding: 0;
}
.privacy h2 {
  position: relative;
  padding: 1rem 2rem 1rem 4em;
  background: #ededed;
  display: block;
  width: 100%;
  font-size: 1.15rem!important;
  margin: 0 0 2rem 0;
}

.privacy h2 span {
  position: absolute;
  top: -5px;
  left: 20px;
  display: inline-block;
  width: 42px;
  height: 40px;
  text-align: center;
  background: #10a16a;
}

.privacy h2 span:before,
.privacy h2 span:after {
  position: absolute;
  content: '';
}

.privacy h2 span:before {
  right: -5px;
  width: 0;
  height: 0;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #10a16a;
}

.privacy h2 span:after {
  top: 50%;
  left: 0;
  display: block;
  height: 50%;
  border: 1.15em solid #10a16a;
  border-bottom-width: 10px;
  border-bottom-color: transparent;
}
}