body {
  background-color: #2fb6a6;
}
/*--------------------------
 header
----------------------------*/
header.header {
 background: #2fb6a6;
}
header.header ul.global-menu li {
 border-bottom: 1px solid #c2e5df;
}
header.header nav.global-menu-wrap div.btn-wrap a {
 background-color: #c2e5df;
}
div.btn-wrap a {
 color: #2fb6a6;
}
header.header nav.global-menu-wrap div.btn-wrap a.instagram {
 border: 2px solid #aadbd2;
}
div.btn-wrap a::after {
 background-image: url(../img/green/icon-arrow_green.png);
 }
div.btn-wrap a.instagram::after {
 background-image: none;
}
div.btn-wrap a.instagram {
 font: 600 normal .84rem / 40px "Noto Sans JP", sans-serif;
 padding-left: 10px;
 text-align: center;
}
@media screen and (max-width: 768px) {
    header.header .icon-menu {
        background-color: #2fb6a6;
    }
    header.header nav.global-menu-wrap {
        background-color: #2fb6a6;
    }
    header.header a.link-official::after {
        background-image: url(../img/pink/icon-arrow-header-only_pink.png);
    }
}
/*--------------------------
  MV
----------------------------*/
section.mv h1.site-title {
 max-width: 257px;
}

/*--------------------------
  Cource
----------------------------*/
section.cource .container {
  position: relative;
  padding: 0 26px 35px;
  border-bottom: solid 1px #a2d7d4;
  margin-bottom: 40px;
}
section.cource h2.h2-title {
  font: 500 normal 1.12rem / 1.5 "Noto Sans JP", sans-serif;
  text-align: center;
  margin-bottom: 15px;
}
section.cource h2.h2-title span.large {
  font: 500 normal 1.285rem / 1.5 "Noto Sans JP", sans-serif;
}
section.cource figure.cource-img {
 margin-bottom: 15px;
}
section.cource p.text {
 font: 300 normal 0.897rem / 1.7 "Noto Sans JP", sans-serif;
 width: 310px;
 margin: 0 auto;
}

/*--------------------------
  Pick Up
----------------------------*/
section.pick-up .container:last-child::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(to bottom, #d5ebe1, #a2d7d4);
    margin: 40px 0;
 }

section.recommended h3.h3-title {
 background: linear-gradient(to bottom, #b2d9c7, #67b5b0);
}
section.pick-up ul.recommended span {
    color: #2fb6a6;
}
section.pick-up ul.recommended {
    max-width: 310px;
}
section.pick-up figure.illustration {
 background-color: #fff;
 }
section.pick-up p.text {
 font: 300 normal 0.897rem / 1.7 "Noto Sans JP", sans-serif;
}
 
/********* Check Box ************/
section.pick-up .btn-group {
  margin-top: 20px;
  /*display: grid;*/
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0 10px;
  /*overflow: auto;*/
  display: flex;
  flex-direction: column;
}
label.btn {
  display: flex;
  align-items: flex-start;
}

label.btn span {
  font: 400 normal 1rem / 22px "Noto Sans JP", sans-serif;
  display: inline-block;
}

label.btn input {
  display: inline-block;
  margin-right: 8px;
  transform: scale(1.5);
  accent-color: #2fb6a6;
}
label.btn input.indent {
  position: relative;
  top: -20px; /* チェックボックスを少し下げて1行目と揃える */
}

div[data-toggle="buttons"] label {
display: inline-block;
padding: 6px 0;
margin-bottom: 0;
/*font-size: 14px;
font-weight: normal;*/
text-align: left;
white-space: nowrap;
vertical-align: top;
cursor: pointer;
border-radius: 3px;
color: #333;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}

/* チェックすると表示 */
.message{
  display: none;
}
input.toggle:checked ~ .message{
  display: block;
  animation: fadein 1.5s;
}
@keyframes fadein{
  from{ opacity: 0; }
  to{ opacity: 1; }
}
@media screen and (max-width: 428px) {
    label.btn span {
     font: 400 normal 1.1rem / 28px "Noto Sans JP", sans-serif;
   }
   label.btn input.indent {
      top: -27px;
    }
}
        
/*--------------------------
  Point
----------------------------*/
section.point h2.h2-title {
    font: 500 normal 1rem / 1.4125 "Noto Sans JP", sans-serif;
    letter-spacing: 0em;
}
section.point::before, section.point::after {
 background: linear-gradient(to bottom, #d5ebe1, #a2d7d4);
}
section.point {
    background-color: #edf7f5;
}
section.point h1.point-title::after {
 background: linear-gradient(to right, #afd8c6, #7abfb6);
}
section.point div.btn-accordion {
 background-image: url(../img/green/btn-accordion-off_green.png);
 top: 5px;
}
section.point div.btn-accordion.is-active {
  background-image: url("../img/green/btn-accordion-on_green.png");
}
section.point div.point-card {
 box-shadow: 2px 2px 3px 0px rgba(133, 203, 191, 0.3);
}

/*--------------------------
  Dairy
----------------------------*/
section.dairy h1.dairy-title::after {
 background: linear-gradient(to right, #afd8c6, #7abfb6);
}

/*--------------------------
  CTA
----------------------------*/
section.cta {
 background-image: linear-gradient(1deg, rgba(162, 215, 212, 0.8), rgba(213, 235, 225, 1) 72%);
}
section.cta{
 background: linear-gradient(to bottom, #d5ebe1, #a2d7d4);
 }
section.cta div.btn-cta {
 background: linear-gradient(to bottom, #d5ebe1, #a2d7d4);
}
section.cta div.btn-cta a {
 color: #2fb6a6;
}

/*--------------------------
  Event
----------------------------*/
section.event {
 background: linear-gradient(to bottom, #d5ebe1, #a6d7d4);
 }
section.event div.btn-cta {
 background: linear-gradient(to bottom, #d5ebe1, #a2d7d4);
}
section.event div.btn-cta a {
 color: #2fb6a6;
}
section.event .speech-bg {
  background-image: url('../img/green/event-bubble-bg_green.png');
}

@media screen and (max-width: 428px) {
    section.event div.btn-cta a {
        font: 600 normal 1.1rem / 47px "Noto Sans JP", sans-serif;
        height: 48px;
}
}


/*--------------------------
  footer
----------------------------*/
footer.footer {
 background: linear-gradient(to bottom, #edf4f0, #d8eae9);
}
footer.footer .container dl.department dt {
 color: #2fb6a6;
 border-bottom: 2px solid #6eccc1;
}
a {
    color: #2fb6a6;
}
footer.footer .container div.btn-wrap a.instagram {
 border: 2px solid #2fb6a6;
 padding-left: 5px;
}
footer.footer .container dl.access span, footer.footer .container dl.address span {
    color: #2fb6a6;
}
footer.footer .container dl.department dd::after {
 background-image: url(../img/green/icon-arrow-pale_green.png);
}

div.cta-fix {
 background: linear-gradient(to bottom, #2fb6a6 50%, #a2d7d4);
}
@media screen and (min-width:376px) and ( max-width:480px) {
 footer.footer .container div.btn-wrap a.instagram {
        font: 600 normal 1.1rem / 40px "Noto Sans JP", sans-serif;
        padding-left: 0.6rem;
    }
}

@media screen and (max-width: 375px) {
    footer.footer .container {
    padding: 40px 6%;
    }
    footer.footer .container div.btn-wrap a.instagram {
        font: 600 normal 0.9rem / 40px "Noto Sans JP", sans-serif;
        padding-left: 0.3rem;
    }
}
