@charset "utf-8";
/* ==================
common
===================== */
html {
    font-size: 62.5%;
}

body {
    font-family:
        "Zen Maru Gothic", 
        'ヒラギノ角ゴシック', 'Hiragino Sans', 
        'Yu Gothic',
        Arial,
        sans-serif;
    font-style: normal;
    color: #333333;
    background-color: #fff;
    line-height: 1.5;
}

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

.section__topic {
    color: #00DCF5;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 1.44px;
}

.section__maintxt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 34px; 
    margin-top: 17px;
}

.main {
    overflow-x: clip;  /* 画面右全体にでたスペースを削除 */
}

/* 見出し左右横線 */
.en {
    white-space: nowrap;
    font-size: 1.6rem;
    display: flex;
    align-items: center; /* 垂直中心 */
    justify-content: center; /* 水平中心 */
  }
  .en:before, .en:after {
    border-top: 1px solid;
    content: "";
    width: 100%; /* 線の長さ */
  }
  .en:before {
    margin-right: 10px; /* 文字の右隣 */
  }
  .en:after {
    margin-left: 10px; /* 文字の左隣 */
  }

  h2 {
    color: #333;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
  }

  /* common pc */
  @media screen and (min-width:640px) {
    .sp__br {
        display:none ;
    }

    .section__topic{
        font-size: 2.2rem;
        letter-spacing: 6px;
    }

    .en {
        font-size: 3.0rem;
        letter-spacing: 6px;
      }

      .section__maintxt {
        font-size: 1.8rem;
        margin-top: 40px;
        line-height: 40px;
        letter-spacing: 3px;
    }
  }

  @media screen and (min-width:768px) {
    .section__topic{
        font-size: 2.8rem;
        letter-spacing: 11px;
    }

    .section__maintxt {
        font-size: 2.4rem;
        margin-top: 80px;
        line-height: 50px;
        letter-spacing: 3px;
    }

    .sp__br {
        display: none;
    }

    .en {
        font-size: 5.0rem;
      }

      .en:before, .en:after {
        border-top: 2px solid;
        content: "";
      }

      .en:after {
        margin-left: 2px; /* 文字の左隣 */
      }
}

@media screen and (min-width:1250px) {
    .section__topic{
        font-size: 3.6rem;
    }

    .en {
        font-size: 5.6rem;
      }
}

/* ===================
header
====================== */
.header {
    width: 100%;
    padding: 15px 4.5%;
    background-color: rgba(255,255,255,0.5);
    position: sticky;
    top: 0;
    z-index: 999;
}

.header__topic,
.nav__topic {
    max-width: 55%;
}

/* ボタンのスタイル */
.hamburger {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 25px;
    cursor: pointer;
    z-index: 100;
  }
  
  .hamburger span {
    display: block;
    height: 2px;
    width: 100%;
    background-color: #333;
    margin: 5px 0;
    transition: 0.4s;
  }

  /* メニューが開いているとき */
.nav.open {
    right: 0;
  }
  
  /* バツ印に変化するスタイル */
  .hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
  }
  
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  
  .hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(4px, -4px);
  }
  

  .nav_open .overlay {
    opacity: 0.8;
    visibility: visible;
  }

  /* header pc */
@media screen and (min-width:640px) {
    .hamburger {
        position: fixed;
        top: 28px;
        right: 20px;
        width: 25px;
        cursor: pointer;
        z-index: 100;
      }
}

@media screen and (min-width:768px) {
    .header{
        padding: 23px 2.5%;
    }

    .hamburger {
        position: fixed;
        top: 36px;
        right: 23px;
        width: 25px;
        cursor: pointer;
        z-index: 100;
      }

}

@media screen and (min-width:1200px) {
    .hamburger {
        position: fixed;
        top: 36px;
        right: 32px;
        width: 30px;
        cursor: pointer;
        z-index: 100;
      }

}

/* nav画面 */
.nav__header {
    position: absolute;
    top: 50%;
    left: -108px;
    transform: rotate(-90deg);
}

.nav__topic {
    max-width: 300px;
}

.nav__listContainer {
    text-align: left;
    margin-left: 65px;
}


/*------------------------------------
メニュークリック後メニュー外の背景 ↓
------------------------------------*/
.overlay {
  background-color: #333;
  cursor: pointer;
  height: 100vh;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: all 0.6s;
  visibility: hidden;
  width: 100vw;
  z-index: 1;
}

.nav {
    background-image:url(../images/background_dot_sp.jpg);
    opacity: .2;
    background-blend-mode:lighten;
    width: 100%;
    height: 100vh;
    padding: 12px 4.5%;
    text-align: center;
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 1s;
}

.nav.active {
    transform: translateX(0);
    opacity: 1;
}
/* hamburgerをクリックしたときにnavに対してactiveが付与される
activeが付与された要素は画面外から内側に戻ってくる、かつ
もともと半透明にしていた要素がopacity1になり
画面の中に侵入しながら表示されるようになる */

  .insideItem:hover{
    opacity: 0.6;

}

 .outsideItem:hover{
        opacity: 0.6;
}

.insideItem {
    font-family: "Noto Sans JP";
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 1.6px;
    margin-top: 20px;
}

.insideItem:first-child {
    margin-top: 0;
}

.outsideItem {
    margin-top: 15px;
    font-size: 1.3rem;
    font-weight: 500;
}

.nav__outsideList {
    margin-top: 30px;
    border-top: 1px solid #333333;
}

/* nav pc */
@media screen and (min-width:640px) {
    .nav__listContainer {
        display: flex;
        justify-content: space-between;
        align-items:flex-end;
        gap: 70px;
    }

    .insideItem {
        font-family: "Noto Sans JP";
        font-size: 1.6rem;
        line-height: 1;
        letter-spacing: 1.6px;
        margin-top: 22px;
    }

    .outsideItem {
        margin-top: 15px;
        font-size: 1.6rem;
        font-weight: 500;
    }

    .nav__topic {
        max-width: 600px;
    }

    .nav {
        background-image:url(../images/background_dot_sp.jpg);
        opacity: 0.9;
        background-blend-mode:lighten;
        width: 80%;
        height: 100vh;
        padding: 12px 4.5%;
        text-align: center;
        display: flex;
        align-items: center;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 100;
        transform: translateX(100%);
        transition: transform 1s;
    }
    
.nav__btn {
    position: fixed;
    top: 30px;
    right: 70px;
    height: 32px;
    cursor: pointer;
}

.overlay {
    background-color: #000;
    cursor: pointer;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all 0.6s;
    visibility: hidden;
    width: 100vw;
    z-index: 1;
  }

  header ul li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }
  header ul li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #3b5d82;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
  }

  header ul li a:hover {
    color: #3b5d82;
  }
  header ul li a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
  }
  
}

@media screen and (min-width:1250px) {
    .nav__listContainer {
        display: flex;
        justify-content: space-between;
        align-items:flex-end;
        gap: 100px 10px;
    }

    .insideItem {
        font-family: "Noto Sans JP";
        font-size: 1.7rem;
        line-height: 1;
        letter-spacing: 1.6px;
        margin-top: 20px;
    }

    .outsideItem {
        margin-top: 15px;
        font-size: 1.7rem;
        font-weight: 500;
    }

    .nav__topic {
        max-width: 600px;
    }

    .nav {
        background-image:url(../images/background_dot_sp.jpg);
        opacity: 0.9;
        background-blend-mode:lighten;
        width: 50%;
        height: 100vh;
        padding: 12px 4.5%;
        text-align: center;
        display: flex;
        align-items: center;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 100;
        transform: translateX(100%);
        transition: transform 1s;
    }
    
.nav__btn {
    position: fixed;
    top: 30px;
    right: 70px;
    height: 32px;
    cursor: pointer;
}

.overlay {
    background-color: #000;
    cursor: pointer;
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all 0.6s;
    visibility: hidden;
    width: 100vw;
    z-index: 1;
  }
}

/* ラインアニメーション */
.article {
    position: relative;
}

@keyframes test-animation {
    0% {
        width: 0;
    }
    100% {
        width: 1000px;
    }
  } 

  .line-wrapper {
    position: absolute;
    left: -350px;
  }

  .line {
    width: 1000px;
    height: 1000px;
    position: relative;
    transform: skewY(-45deg);
  }
  .blue {
    transform: translateX(-100%);
    position: absolute;
    display: block;
    width: 0;
    left: 100%;
    top: -55px;
    animation: test-animation 1s .5s 1 forwards;
    border-bottom: solid 20px #90E2EF;
    margin-top: 30px;
  }

  .pink {
    transform: translateX(-100%);
    position: absolute;
    display: block;
    width: 0;
    left: 100%;
    top: -90px;
    animation: test-animation 1.5s 1s 1 forwards;
    border-bottom: solid 20px #F57AB8;
  }
  /* ラインアニメーション 　end */

.mainImg__pc{
    display: none;
}

/* article header pc */
@media screen and (min-width:768px) {
    .mainImg__pc{
        display: block;
        width: 100%;
    }

    .mainImg__sp{
        display: none;
    }

    .blue {
        left: 100%;
        top: 53px;
        border-bottom: solid 30px #90E2EF;
        margin-top: 30px;
      }
    
      .pink {
        left: 100%;
        top: 0px;
        animation: test-animation 1s 1s 1 forwards;
        border-bottom: solid 30px #F57AB8;
      }

}

@media screen and (min-width:1250px) {
    .mainImg__pc{
        display: block;
        width: 100%;
    }

    .mainImg__sp{
        display: none;
    }

    .blue {
        left: 100%;
        top: 200px;
        border-bottom: solid 45px #90E2EF;
        margin-top: 30px;
      }
    
      .pink {
        left: 100%;
        top: 120px;
        animation: test-animation 1s 1s 1 forwards;
        border-bottom: solid 45px #F57AB8;
      }

}

/* media */
.section--media {
    padding-top: 40px;
    padding-bottom: 40px;
}

.section__topic--media {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 1.8px;
    margin-bottom: 30px;
}

/* media */
/* スライダー全体 */
.slider-wrapper {
    display: flex; /* スライドのグループを横並び */
    overflow: hidden; /* はみ出たスライドを隠す */
  }

  .slider {
    animation: scroll-left 25s infinite linear .5s both;
    display: flex; /* スライド13枚を横並び */
    padding: 0;
    flex-shrink: 0;
  }

  /* スライド */
  .slide {
    width: 100px ;
  }
  
  /* スライドの画像 */
  .slide img {
    display: block;
  }

  /* CSSアニメーション */
  @keyframes scroll-left {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }

    
  }

  /* media pc */
@media screen and (min-width:1250px) {
    .slide {
        width: calc(100vw / 13); /* 13はスライドの枚数 */
      }

      .section--media {
        padding-top: 80px;
        padding-bottom: 80px;
    }

      .section__topic--media {
        text-align: center;
        font-size: 2.3rem;
        font-weight: 700;
        letter-spacing: 1.8px;
        margin-bottom: 50px;
    }
}

/* problem */
.section--problem {
    padding: 40px 5.3%;
}

.worry__pc {
    display: none;
}

.worry__sp {
    margin-top: 20px;
}

.solution {
    margin-top: 30px;
    border-radius: 10px;
}

/* problem pc */
@media screen and (min-width:768px) {
    .worry__sp{
        display: none;
    }

    .worry__pc{
        display: block;
        margin: 0 auto;
    }

    .solution {
        width: 55.9vw;
        border-radius: 30px;
    }

    .solution__box {
        text-align: center;
    }
}

@media screen and (min-width:1250px) {
    .section--problem {
        padding: 40px 11.3%;
    }
}

/* description */
.background__container {
    background-image: url(../images/background_slash_sp.png);
    background-size: cover; 
}
.section--description {
    padding: 40px 5.3%;
    /* background-image: url(../images/background_slash_sp.png);
    background-size: contain; */
}

.figure__box {
    background-color: rgba(255,255,255,0.7);
    border-radius: 20px;
    margin-top: 25px;
}

.description__icon {
    max-width: 68px;
    flex-shrink: 0;
    margin-right: 10px;
}

.description__item {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

.description__txt {
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 1px;
}

/* description pc */
@media screen and (min-width:768px) {
    .figure__box {
        border-radius: 30px;
        text-align: center;
        margin: 80px auto;
    }

    .description__txt {
        font-size: 1.9rem;
        font-weight: 700;
        letter-spacing: 3.9px;
    }

    .description__icon {
        width: 9%;
        flex-shrink: 0;
        margin-right: 20px;
    }

    .background__container {
        background-image: url(../images/background_slash_pc.jpg);
        background-size: contain; 
    }
}

@media screen and (min-width:1250px) {
    .section--description {
        padding: 80px 11.3%;
    }

    .description__txt {
        font-size: 2.1rem;
    }

    .description__list {
        padding-left: 20px;
    }
}

/* supportSystem */
.section--supportSystem {
    padding: 40px 5.3%;
}

.supportSystem__titleRight,
.supportSystem__titleLeft {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 1px;
}

.supportSystem__img01, 
.supportSystem__img02,
.supportSystem__img03{
    margin-top: 10px;
    max-width: 100%;
    height: 180px;
    object-fit: cover;
}

.supportSystem__img01 {
    border-radius: 16px 30px 53px 16px;
}

.supportSystem__img02 {
    border-radius: 30px 16px 16px 53px;
}

.supportSystem__img03 {
    border-radius: 16px 30px 53px 16px;
}

.supportSystem__txt {
    margin-top: 10px;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
}

.supportSystem__item {
    margin-top: 30px;
}

/* supportSystem pc */
@media screen and (min-width:640px) {
    .supportSystem__titleRight {
        font-size: 2.2rem;
    }

    .supportSystem__titleLeft {
        font-size: 2.2rem;
    }

    .supportSystem__item:nth-child(2) {
        text-align: right;
    }

    .supportSystem__txt:nth-child(2) {
        text-align: left;
    }

}

@media screen and (min-width:1250px) {
    .section--supportSystem {
        padding: 80px 11.3%;
    }

    .supportSystem__list {
        margin-top: 80px;
    }

    .supportSystem__img01 {
        float: left;
        margin-right: 30px;
    }

    .supportSystem__img02 {
        float: right;
        margin-left: 30px;
    }

    .supportSystem__img03 {
        float: left;
        margin-right: 30px;
    }

    .supportSystem__item:nth-child(2) {
        text-align: left;
    }

    .supportSystem__titleRight {
        text-align: right;
        display: inline;
        font-size: 2.5rem;
        font-weight: 700;
    }

    .supportSystem__titleLeft {
        text-align: left;
        display: inline;
        font-size: 2.5rem;
        font-weight: 700;
    }

    .supportSystem__txt {
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 32px;
        letter-spacing: 2px;
    }

    .supportSystem__item {
        height: 300px;
        margin-top: 50px;
    }

    .supportSystem__img01, 
    .supportSystem__img02,
    .supportSystem__img03 {
        max-width: 450px;
        height: 240px;
        object-fit: cover;
}    
}

/* Responsibilities */
.section--responsibilities {
    padding: 40px 5.3%;
}

.responsibilities__outer {
    border: 2px solid #7CEAF6;
    border-radius: 16px;
    margin-top: 20px;
    padding: 20px 10px 30px 10px;
}

.responsibilities__title {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
}

.responsibilities__about {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 500;
    padding: 5px 0;
    border-bottom: 1px solid #7CEAF6;
}

.responsibilities__inner {
    display: flex;
    justify-content: center;
    gap:0 30px;
    align-items: center;
    padding-top: 20px;
}

.icon01 {
    width: 60px;
    text-align: center;
}

.responsibilities__txt {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    padding-top: 10px;
}

.responsibilities__txt--size {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    padding-top: 10px;
}

.responsibilities__item {
    text-align: center;
}

/* Responsibilities pc */
@media screen and (min-width:640px) {
    .responsibilities__outer {
        width: 73vw;
        margin: 85px auto;
    }
}

@media screen and (min-width:768px) {
        .responsibilities__outer {
        border: 5px solid #7CEAF6;
        border-radius: 30px;
        margin: 85px auto;
        padding: 70px 0 70px 0;
        width: 73vw;
    }

    .responsibilities__title {
        font-size: 2.6rem;
        font-weight: 700;
        padding-right: 30px;
    }

    .responsibilities__about {
        font-size: 1.8rem;
        padding: 10px 0;
        border-bottom: 5px solid #7CEAF6;
        width: 76%;
        margin: 0 auto;
    }

    .responsibilities__inner {
        padding-top: 50px;
        gap:0 20px;
    }

    .responsibilities__item {
        width: 150px;
    }

    .icon01 {
        width: 100px;
    }

    .responsibilities__txt { 
        font-size: 2.2rem;
        font-weight: 700;
    }
    
    .responsibilities__txt--size {
        font-size: 2.0rem;
        font-weight: 700;
        padding-top: 20px;
    }
    
}

@media screen and (min-width:1250px) {
    .section--responsibilities {
        padding: 80px 11.3%;
    }

    .responsibilities__outer {
        width: 53vw;
    }
    
}

/* features */
.section--features {
    background-image: url(../images/background_gradation01.jpg);
    background-size: cover;
    background-repeat: repeat;
    padding: 40px 0;  
}

.features__title {
    padding: 0 5.4%;
}

.features__itemRight {
    background-color: rgba(255,255,255,0.7);
    width: 70%;
    border:  1px solid rgba(75, 75, 75, 0.35);
    border-right: none;
    text-align: left;
    margin: 20px 0 0 auto;
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
    padding: 10px 30px;
    border-radius: 27px 0 0 27px;

}

.features__itemLeft {
    background-color: rgba(255,255,255,0.7);
    width: 70%;
    border:  1px solid rgba(75, 75, 75, 0.35);
    border-left: none;
    text-align: left;
    margin: 20px auto 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    border-radius: 0 27px 27px 0;
}

.features__label {
    color: #F57AB8;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.6px; 
}

.features__txt {
    text-align: center;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 1.4px;
}

.features__icon {
    width: 50px;
}

.features__bannerBox {
    margin: 30px 5.4% 0 ;
    
}

.features__banner {
    border-radius: 10px;
}

/* features pc */
@media screen and (min-width:640px) {
    .features__itemRight {
        margin: 20px 0 0 auto;
        padding: 20px 30px;
    
    }
    
    .features__itemLeft {
        margin: 20px auto 0 0;
        padding: 20px 30px;
    }

    .features__label {
        font-size: 1.8rem;
    }

    .features__txt {
        font-size: 1.6rem;
    }

    .features__icon {
        width: 70px;
    }
}


@media screen and (min-width:768px) {
    .section--features {
        padding: 40px 5.3%;
    }

    .features__title {
        padding: 0 ;
    }

    .features__itemRight {
        width: 30%;
        margin: 0;
        border:  1px solid rgba(75, 75, 75, 0.35);
        text-align: center;
        display: inline-block;
        padding: 0;
        border-radius: 27px;
    }

    .features__itemLeft {
        width: 30%;
        margin: 0;
        border:  1px solid rgba(75, 75, 75, 0.35);
        text-align: center;
        display: inline-block;
        padding: 0;
        border-radius: 27px;
    }

    .features__list {
        margin-top: 80px;
        display: flex;
        justify-content: space-between;
    }

    .features__icon {
        width: 80px;
        text-align: center;
        padding: 30px 0 30px 0;
    }

    .features__bannerBox {
        margin-top: 60px;
        text-align: center;   
    }
    
    .features__banner {
        border-radius: 30px;
        width: 55.9vw;
    }

    .features__label {
        font-size: 2.3rem;
        letter-spacing: 3.8px;
        padding-top: 30px;
    }

    .features__txt {
        font-size: 1.7rem;
        font-weight: 700;
        letter-spacing: 2.9px;
        padding-top: 30px;
    }
}

@media screen and (min-width:1250px) {
    .section--features {
        padding: 80px 11.3%;
    }


    .features__itemRight {
        max-width: 300px;
    }

    .features__itemLeft {
        max-width: 300px;
    }

    .features__list {
        margin-top: 80px;
        display: flex;
        justify-content: center;
        gap:0 60px;
    }

}

/* whyChooseUs */
.section--whyChooseUs {
    padding: 40px 5.3%;
    background-color:#DEF4F6 ;
    border-radius: 25px 25px 0 0;
}

.whyChooseUs__container {
    background-image: url(../images/background_slashdot.jpg);
    background-size: cover;
    border-radius: 25px;
    padding: 20px 23px 23px;
    margin-top: 20px;
}

.whyChooseUs__item {
    display: flex;
    align-items: center;
    gap:0 10px;
    width: 300px; /*中央寄にするため幅を指定*/
    margin: 0 auto;
}

.whyChooseUs__txt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.6px;  
    margin-top: 15px;
}

.whyChooseUs__icon {
    margin-top: 15px;
}

.whyChooseUsImg {
    margin: 30px 0;
    border-radius: 25px;
}

.photo_04 {
    border-radius: 25px;
}

.photo__item {
    background-size: cover;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin: 0;
    padding: 0;
}

.whyChooseUs__list {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 auto;
}

.whyChooseUs__pickup {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    margin: 20px 0;
    padding: 60px 0 50px;
    border: 1px solid #333333;
}


.eventPhoto {
    border-radius: 20px;
}

.photo__item {
    margin-right: 10px;
}


/* whyChooseUs pc */
@media screen and (min-width:640px) {
    .whyChooseUs__inner {
        display: flex;
        justify-content: center;
        width: 100%;
        gap: 10px;
    }

    .whyChooseUs__item {
        width: 330px;
        margin: 0;
    }

    .whyChooseUs__icon {
        width: 30px;
        flex-shrink: 0;
    }

    .whyChooseUs__list {
        padding-left: 0px;
        padding-right: 0px;
    }

    .whyChooseUs__container {
        border-radius: 30px;
        padding: 30px 6.6% 40px;
        margin-top: 40px;
    }


    .whyChooseUs__txt {
        font-size: 1.5rem;
        letter-spacing: 1px;
        margin-top: 30px;
    }


    .whyChooseUsImg {
        border-radius: 30px;
        width: 100%;
        margin: 40px auto;
    }

    .whyChooseUs__pickup {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 29px;
        letter-spacing: 2.6px;
        margin: 20px auto 10px;
        height: 150px;
        padding: 45px 10px;
    }

    .photo__container {
        width: 100%;
        margin: 20px auto;
    }

    .photo__item {
        margin-right: 20px;
    }
}

@media screen and (min-width:768px) {
    .whyChooseUs__txt {
        font-size: 1.6rem;
        letter-spacing: 2.4px;
    }

    .whyChooseUs__container {
        padding: 60px 8.6% 40px;
    }
}

@media screen and (min-width:1250px) {
    .section--whyChooseUs {
        padding: 80px 11.3%;
    }

    .whyChooseUs__inner {
        display: flex;
        justify-content: center;
        padding-left: 0;
        padding-right: 0%;
        gap: 30px;
    }

    .whyChooseUs__txt {
        font-size: 2.0rem;
        letter-spacing: 2.4px;
    }

    .whyChooseUsImg {
     text-align: center;
    }

    .whyChooseUs__container {
        padding: 60px 3.6% 60px;
    }

}

/* supportContent */
.section--supportContent {
    background-color:#DEF4F6 ;
    padding: 40px 5.3%;
    border-radius: 0 0 25px 25px ;
}

.supportContent__list {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.supportContent__txt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 1.6px;
    margin-top: 6px;
}

.supportContent__txtAdjust02 {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 1.6px;
    margin-top: 10px;
}

.supportContent__item {
    width: 130px;
    height: 130px;
    font-size: 1.6rem;
    border-radius: 150px;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
}

.supportContent__icon {
    margin-top: 15px;
    width: 45px;
    height: auto;
}

.supportContent__iconAdjust01 {
    margin-top: 30px;
    width: 60px;
}

.supportContent__iconAdjust02 {
    margin-top: 30px;
    width: 50px;
}

.supportContent__iconAdjust03 {
    margin-top: 20px;
    width: 50px;
}

.supportContent__txtAdjust01 {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 1.6px;
    margin-top: 3px;
}

/* supportContent pc */
@media screen and (min-width:768px) {
    .section--supportContent {
        padding: 80px 11.3%;
    }

    .supportContent__list {
        gap: 30px 60px;
    }

    .supportContent__item {
        width: 180px;
        height: 180px;
    }

    .supportContent__txt {
        font-size: 1.9rem;
        margin-top: 10px;
    }

    .supportContent__txtAdjust02 {
        font-size: 1.9rem;
        margin-top: 15px;
    }
    
    .supportContent__icon {
        margin-top: 30px;
        width: 58px;
    }
    
    .supportContent__txtAdjust01 {
        font-size: 1.9rem;
        margin-top: 4px;
    }

    .supportContent__iconAdjust01 {
        margin-top: 40px;
        width: 80px;
    }

    .supportContent__iconAdjust02 {
        margin-top: 40px;
        width: 60px;
    }

    .supportContent__iconAdjust03 {
        margin-top: 30px;
        width: 60px;
    }
}

/* partnerAchievements */
.section--partnerAchievements {
    padding: 40px 5.3%;
}

.partner_banner {
    margin-top: 20px;
}

.partnerAchievements__Reward {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 1.8px;
    margin-top: 30px;
}

.Reward__txt {
    color: #F57AB8;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.8px;
    margin-top: 20px;
}

.partnerAchievements__voices {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 1.8px;
    margin-top: 40px;
}

.voices__itembox {
    display: flex;
    justify-content: center;
    align-items: center;
}

.voices__item {
    background-image: url(../images/background_voice.jpg);
    background-size: cover;
    margin-top: 20px;
    padding: 20px 2.5% 20px 2.5%;
    flex: 1;

}

.voices__title {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 27px; /* 168.75% */
    letter-spacing: 1.6px;
    margin-left: 10px;
}

.voices__titleEmphasis {
    color: #C30D23;
}

.voices__icon {
    width: 74px;
}

.voices__txt {
    margin-top: 10px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 35px;
    letter-spacing: 0.84px;
    flex-grow: 1; /* 横並びのカードの高さを揃える */
    
}

.voices__highlight {
    background:#EFE752;
}

/* partnerAchievements pc */
@media screen and (min-width:640px) {
    .partner_banner {
        margin-top: 40px;
    }
}

@media screen and (min-width:768px) {
    .section--partnerAchievements {
        padding: 80px 4.3%;
    }

    .partnerAchievements__Reward {
        font-size: 2.0rem;
        margin-top: 60px;
    }

    .partnerAchievements__voices {
        font-size: 2.0rem;
        margin-top: 60px;
    }

    .voices__list {
        display: flex;
        justify-content: space-between;
        gap: 0 20px;
        max-width: 1280px;
        margin: 0 auto;
    }

    .voices__icon {
        width: 64px;
    }
    
    .voices__itembox {
        height: 130px;
    }
}


@media screen and (min-width:1250px) {
    .section--partnerAchievements {
        padding: 80px 11.3%;
    }

    .partner_banner {
        width: 55.9vw;
        margin: 80px auto;
    }

    .partnerAchievements__Reward {
        font-size: 3.5rem;
        letter-spacing: 4px;
    }


    .Reward__txt {
        font-size: 3.2rem;
        margin-top: 60px;
    }
    
    .Reward__img {
        margin: 0 auto;
        width: 40vw;
    }

    .partnerAchievements__voices {
        margin-top: 90px;
        font-size: 3.5rem;
    }

    .voices__itembox {
        display: flex;
        justify-content: center;
    }
    
    .voices__list {
        margin-top: 30px;
        display: flex;
        gap: 0 15px;
    }

    .voices__itembox {
        height: auto;
    }
}


/* requirements */
.section--requirements {
    background-color:#DEF4F6 ;
    padding: 40px 5.3%;
    border-radius: 25px;
}

.requirements__pickup {
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 1.8px;
    margin-top: 30px;
}

.characte {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.characteImg01 {
    width: 80px;
}

.characteImg02 {
    width: 100px;
}

.requirements__list {
    padding: 0 0 35px 0;
    background-image: url(../images/background_slashdot.jpg);
    background-size: cover;
    border-radius: 20px;
    width: 100%;
}

.requirements__item {
    display: flex;
    align-items: center;
    padding-top: 35px;
    width: 280px;
    margin: 0 auto;
    gap: 0 5px;
}

.requirements__txt {
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: 1.6px;
}

/* requirements pc */
@media screen and (min-width:768px) {
    .requirements__inner {
        display: flex;
        justify-content: center;
        gap: 0px;
    }

    .requirements__item {
        width: 349px;
        gap: 0 5px;
        margin: 0;
        padding-top: 50px;
    }

    .requirements__txt {
        font-size: 1.6rem;
        letter-spacing: 2.6px;
        margin-top: 6px;
        margin-top: 0;
    }

    .requirements__icon {
        width: 30px;
        flex-shrink: 0;
    }

    .requirements__list {
        border-radius: 30px;
        width: 100%;
        margin: 0 auto;
        padding: 20px 2% 55px 2%;
    }

    .requirements__pickup {
        font-size: 2.4rem;
        letter-spacing: 3.4px;
    }    
}

@media screen and (min-width:1250px) {
    .section--requirements {
        padding: 80px 11.3%;
    }

    .requirements__txt {
        font-size: 1.8rem;
        letter-spacing: 2.6px;
        margin-top: 6px;
        margin-top: 0;
    }


    .requirements__list {
        border-radius: 30px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 20px 2% 55px 2%;
    }


    .characte {
        margin-top: 0;
        position: relative;
        top:0;
        left: 300px;
    }

    .requirements__pickup {
        position: relative;
        top: 90px;
        margin-top: 0;
    }

}

/* handlingapp */
.section--handlingapp {
    padding: 40px 5.3%;
}

.handlingapp__list {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.handlingapp__item {
    width: 65px;
}

/* handlingapp pc */
@media screen and (min-width:1250px) {
    .section--handlingapp {
        padding: 80px 11.3%;
    }
}

.handlingapp__list {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

/* comparison */
.section--comparison {
    background-color:#DEF4F6 ;
    padding: 40px 5.3%;
    border-radius: 25px;
}

.comparison__img {
    margin-top: 20px;
}

/* comparison pc */
@media screen and (min-width:1250px) {
    .section--comparison {
        padding: 80px 11.3% 90px;
    }

    .comparison__img {
        margin: 60px auto;
        width: 50vw;
    }
}

/* registrationProcess */
.section--registrationProcess{
    padding: 40px 5.3%;
}

.pc__br {
    display: none;
}



.Registration__item {
    background-image: url(../images/background_gradation03.png);
    background-size: cover;
    display: flex;
    align-items: center;
    vertical-align: middle;
    padding: 20px;
    border-radius: 20px;
    position: relative;
    margin: 25px auto;
}

.Registration__item::after {
    content: url(../images/Polygon.svg);
    display: inline-block;
    width: 2px;
    height: 2px;
    position: absolute;
    bottom: 0;
    right: 50%;
}

.Registration__item:last-child::after {
    content: none;
}

.RegistrationTxt__inner {
    display: flex;
}

.Registration__label {
    color: #FFF;
    background: #333;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 1.4px;
    padding: 1px 5px;
    margin-right: 10px;
}

.Registration__title {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.Registration__txt {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 1.2px;
    margin-top: 6px;
}

.Registration__imgBox {
    width: 60px;
    flex-shrink: 0;
    margin-right: 10px;
}

/* registrationProcess pc */
@media screen and (min-width:640px) {
    .pc__br {
        display: block;
    }

    .Registration__imgBox {
        width: 100px;
        flex-shrink: 0;
        margin-right: 20px;
    }

    .Registration__item {
        padding: 20px 30px 30px 30px;
    }
    
    .Registration__label {
        font-size: 1.6rem;
        font-weight: 700;
        letter-spacing: 1.4px;
        padding: 2px 6px;
        margin-right: 10px;
    }

    .Registration__title {
        font-size: 1.8rem;
    }

    .Registration__txt {
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 20px;
        letter-spacing: 1.2px;
        margin-top: 6px;
    }

    .Registration__list {
        margin-top: 40px;
    }
}

@media screen and (min-width:768px) {
    .Registration__item {
        width: 65vw;
    }
}


@media screen and (min-width:1250px) {
    .section--registrationProcess {
        padding: 80px 11.3%;
    }

    .Registration__item {
        width: 45vw;
        height: 210px;
        padding: 20px 20px 20px 25px;
    }

    .Registration__imgBox {
        width: 130px;
        margin-right: 20px;
    }

    .Registration__label {
        font-size: 2.2rem;
        line-height: 40px;
        letter-spacing: 2.0px;
        padding: 0 10px;
        margin-right: 10px;
    }

    .Registration__title {
        font-size: 2.5rem;
        font-weight: 700;
        letter-spacing: 2.7px;
    }

    .Registration__txt {
        font-size: 1.6rem;
        line-height: 25px;
        margin-top: 6px;
        letter-spacing: 2.5px;
    }

    .Registration__list {
        margin-top: 80px;
    }
}


/* applyOnLINE */
.section--applyOnLINE {
    padding: 40px 5.3%;
    background-image: url(../images/background_slash_pc.jpg);
    background-size: cover;
}

.applyOnLINE__title {
    margin-top: 20px;
    color: #F57AB8;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.applyOnLINE__btnBox {
    margin: 6px auto;
    width:250px;
    line-height:50px;
}

.applyOnLINE__btn {
    display:block;
    background:#06C755;
    text-align:center;
    color:#FFFFFF;
    font-size:1.8rem;
    font-weight: 700;
    border-radius:30px;
    letter-spacing: 2.72px;
    transition: all 0.5s 0.1s ease;
    position: relative;
}

.applyOnLINE__btn::after {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url(../images/btn_arrow01.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 23px;
    top:50%;
    transform: translateY(-50%);
}

.applyOnLINE__btn:hover{
    opacity: 0.6;
}

.applyOnLINE__txt {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    margin-top: 20px;
}

/* applyOnLINE pc */
@media screen and (min-width:640px) {
    .applyOnLINE__btnBox {
        width:350px;
        line-height:60px;
    }

    .applyOnLINE__title {
        font-size: 1.8rem;
        margin-top: 40px;
    }

    .applyOnLINE__txt {
        font-size: 1.6rem;
        margin-top: 30px;
    }
}

@media screen and (min-width:1250px) {
    .section--applyOnLINE {
        padding: 80px 11.3%;
    }

    .applyOnLINE__title {
        font-size: 3.4rem;
        letter-spacing: 3.4px;
        margin-top: 60px;
    }

    .applyOnLINE__btnBox {
        margin: 6px auto;
        min-width: 450px;
        line-height:80px;
    }

    .applyOnLINE__btn {
        font-size: 2.8rem;
        border-radius: 60px;
        letter-spacing: 6.63px;
    }

    .applyOnLINE__btn::after {
        content: '';
        display: inline-block;
        width: 30px;
        height: 30px;
        background-image: url(../images/btn_arrow01.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        right: 40px;
        top:50%;
        transform: translateY(-50%);
    }

    .applyOnLINE__txt {
        font-size: 2.4rem;
        font-weight: 700;
        line-height: 75px;
        letter-spacing: 3.4px;
    }

}

/* QA */
.section--QA {
    padding: 40px 5.3% 20px;
}

.qa__box {
    margin-top: 20px;
    border: 1px solid #7CEAF6;
    border-radius: 15px;
    padding: 2.5%;
}

.qa {
    width: 100%;
    margin-bottom: 5px;
    border-bottom: 1px solid #7CEAF6;
}

.qa:last-child {
    border-bottom:none;
}

.qa summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 15px 25px 15px 35px;
    font-weight: 500;
    font-size: 1.3rem;
    cursor: pointer;
}

.qa summary::before{
    position: absolute;
    left: 15px;
    font-weight: 500;
    font-size: 1.3rem;
}

.qa p::before {
    position: absolute;
    left: 15px;
    top:17px;
    font-weight: 500;
    font-size: 1.3rem;
}

.qa summary::before {
    color: #333333;
    content: "Q";
}

.qa p::before {
    color: #333333;
    line-height: 1.2;
    content: "A";
}

.qa summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 2px solid #333333b3;
    border-right: 2px solid #333333b3;
    content: '';
    transition: transform 0.5s;
}

.qa[open] summary::after {
    transform: rotate(225deg);
}

.qa p {
    position: relative;
    padding: 15px 25px 15px 35px;
    color: #333;
    transition: transform 0.5s ;
    font-size: 1.3rem;
    font-weight: 500;
}

summary {
    display: block;
    list-style: none;
  }
  
  /* 一部ブラウザで消えなかった場合は以下も追記 */
  summary::-webkit-details-marker {
    display:none;
  }

/* QA pc */
@media screen and (min-width:640px) {
    .qa summary {
        font-size: 1.6rem;
        padding: 15px 25px 15px 45px;
    }

    .qa summary::before,
    .qa p::before {
    font-size: 1.6rem;
}

.qa p {
    font-size: 1.6rem;
    padding: 15px 25px 15px 45px;
}
    
}

@media screen and (min-width:1250px) {
    .section--QA {
        padding: 80px 11.3%;
    }

    .qa summary {
        padding: 25px 45px 25px 55px;
        font-weight: 500;
        font-size: 2.2rem;
        letter-spacing: 2.2px;
    }

    .qa p {
        font-weight: 500;
        font-size: 2.2rem;
        letter-spacing: 2.2px;
        padding: 25px 45px 25px 55px;
    }

    .qa summary::before {
    font-weight: 500;
    font-size: 2.2rem;
    }

    .qa p::before {
        position: absolute;
        left: 15px;
        top:28px;
        font-weight: 500;
        font-size: 2.2rem;
    }
    
    .qa summary::after {
    width: 12px;
    height: 12px;
    margin-left: 10px;
    border-bottom: 2px solid #333333b3;
    border-right: 2px solid #333333b3;
    content: '';
    transition: transform 0.5s;
    }
    
}

/* Official */
.section--official {
    padding: 40px;
}

.section__topic--official {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.official__btn img {
    width: 109px;
    display: block;
    margin: 0 auto;
}

.official__btn {
    display: block;
    background-image: url(../images/background_gradation04.png);
    background-size: cover;
    background-repeat: no-repeat;
    text-align:center;
    margin: 18px auto;
    color:#000000;
    font-size:1.8rem;
    font-weight: 700;
    padding: 8px 0;
    width: 250px;
    border-radius:30px;
    letter-spacing: 2.72px;
    transition: all 0.5s 0.1s ease;
    position: relative;
}

.official__btn::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url(../images/btn_arrow02.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    right: 23px;
    top:50%;
    transform: translateY(-50%);
}

a.official__btn:hover{
    opacity: 0.6; /*透過されなかったため「a.」をセレクタ名に設置*/
}

/* official pc */
@media screen and (min-width:640px) {
    .official__btn {
        margin: 18px auto;
        font-size: 1.8rem;
        padding: 10px 0;
        width: 350px;
        border-radius: 60px;
        letter-spacing: 3.72px;
        transition: all 0.5s 0.1s ease;
        position: relative;
    }

    .official__btn img {
        width: 130px;
        display: block;
        margin: 0 auto;
    }

    .official__btn::after {
        content: '';
        display: inline-block;
        width: 12px;
        height: 12px;
        background-image: url(../images/btn_arrow02.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        right: 33px;
        top:50%;
        transform: translateY(-50%);
    }
}

@media screen and (min-width:1250px) {
    .section--official {
        padding: 0 11.3% 80px;
    }

    .section__topic--official {
        font-size: 1.8rem;
        letter-spacing: 1.6px;
    }

    .applyOnLINE__btnBox {
        margin: 6px auto;       
        line-height:80px;
    }

    .official__btn {
        margin: 18px auto;
        font-size: 2.8rem;
        padding: 16px 0;
        min-width: 450px;
        border-radius: 60px;
        letter-spacing: 3.72px;
        transition: all 0.5s 0.1s ease;
        position: relative;
    }

    .official__btn img {
        width: 190px;
        display: block;
        margin: 0 auto;
    }

    .official__btn::after {
        width: 22px;
        height: 22px;
        right: 40px;
        top:50%;
        transform: translateY(-50%);
    }
}

/* footer */
.footer {
    padding: 34px 5.3%;
    background-image: url(../images/background_dot_sp.jpg);
    background-size: cover;
    background-repeat: repeat;
}

.footer__logo {
    width: 180px;
}

.company {
    margin-top: 13px;
}

.company__item {
    flex: 3;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1.2px;
}

.company__data {
    flex: 12;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 1.2px;
}

.company__inner {
    display: flex;
    margin-bottom: 10px;
}

.footerLink__list {
    margin-top: 20px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 32px; /* 228.571% */
    letter-spacing: 1.4px;
}

.footerSns__title {
    margin-top: 20px;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.footerSns__item {
    width: 40px;
    margin-top: 10px;
}

.footerSns__list {
    display: flex;
    gap: 0 20px;
}

/* footer pc */
@media screen and (min-width:640px) {

}

@media screen and (min-width:768px) {
    .footer {
        padding: 74px 3%;
        background-image: url(../images/background_dot_pc.jpg);
        display: flex;
        justify-content: center;
        align-items: flex-start; /*画像の伸び防止（横のテキスト量多いため）*/
        gap: 30px;
    }

    .footer__logo {
        width: 180px;
        flex-shrink: 0;
    }

    .company__item {
        flex: 7;
        font-size: 1.5rem;
        line-height: 2;
        font-weight: 700;
        letter-spacing: 1.2px;
    }

    .company {
        width: 37%;
        margin-top: 0px;
    }
    .company__data {
        flex: 18;
        font-size: 1.5rem;
        line-height: 1.5;
        font-weight: 700;
        letter-spacing: 1.6px;
        line-height: 30px;
    }

    .footerLink__list {
        margin-top: 0px;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 32px; /* 228.571% */
        letter-spacing: 1.8px;
    }

    .footerSns__title {
        margin-top: 185px;
        font-size: 1.5rem;
        font-weight: 700;
        letter-spacing: 1.6px;
    }

    .footerSns__item {
        width: 35px;
        margin-top: 15px;
    }
    
    .footerLink__item {
        margin-top: 0;
        margin-bottom: 10px;
    }

    .footerLink__item:hover{
        opacity: 0.6;
    }

    .footerSns__item:hover{
        opacity: 0.6;
    }
}

@media screen and (min-width:1250px) {
    .footer {
        padding: 74px 8%;
        background-image: url(../images/background_dot_pc.jpg);
        display: flex;
        justify-content: space-between;
        align-items: flex-start; /*画像の伸び防止（横のテキスト量多いため）*/
        gap: 0;
    }

    .footer__logo {
        width: 250px;
        flex-shrink: 0;
    }

    .company__item {
        flex: 4;
        font-size: 1.6rem;
    }

    .company {
        width: 30%;
    }

    .company__data {
        flex: 12;
        font-size: 1.6rem;
        letter-spacing: 1.6px;
        line-height: 30px;
    }

    .footerLink__list {
        font-size: 1.7rem;
    }

    .footerSns__title {
        font-size: 1.6rem;
    }

    .footerSns__item {
        width: 50px;
    }

}

/* fade-in */
.fadeIn {
    transform: translate(0, 50px);
    opacity: 0;
    transition: 0.8s;
}

.fadeIn.animated {
    transform: translate(0, 0);
    opacity: 1;
}




/*エージェント一覧*/

#agent-list .contents{
	text-align: center;
}

.a-list-item{
	max-width: 200px;
	margin-bottom: 15px;
}
.a-list-item a{
	color: #222222;
    text-decoration: none!important;
}
.a-list-item img{
	width: 90%;
	margin-bottom: 10px;
}

.a-name{
	color: #72c7c2;
	font-weight: 600;
	font-size: 17px;
	margin-top: 5px;
}
.a-name span{
	font-size: 11px;
    display: block;
    content: "";
}

.team-detail .icon{
	max-width: 200px;
}

.team-detail .insta img{
	width: 50px!important;
    margin: 20px!important;
}

.comment{
	text-align: left;
    font-weight: normal;
    line-height: 25px;
}


.modal_trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
	margin-top: 30px;
	
}

.modal_trigger li {
    cursor: pointer;
    max-width: 200px;
    text-align: center;
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}


.modal_trigger li:hover::before {
  -webkit-animation: slideRightBg ease .2s forwards;
          animation: slideRightBg ease .2s forwards;
}

.modal_trigger li + li {
  margin-left: 20px;
}

@-webkit-keyframes slideRightBg {
  0% {
    opacity: 0;
    left: -50%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@keyframes slideRightBg {
  0% {
    opacity: 0;
    left: -50%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

.modal_box {
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
}

.modal_bg {
  background-color: rgba(30, 30, 30, 0.9);
  height: 100%;
  width: 100%;
}

.modal_inner {
  background-color: #fff;
  left: 50%;
  padding: 40px 40px 90px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: 500px;
}

.modal_close {
  cursor: pointer;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
	background: #72c7c2;
	border-radius: 10px;
	color: #fff;
	padding: 5px;
	margin: 20px auto;
	width: 40%;
}

.silver-icon{
	max-width: 250px;
	margin-top: 100px;
}

.bronze-icon{
	max-width: 300px;
	margin-top: 100px;
}

.gold-icon{
	max-width: 280px;
	margin-top: 100px;
}

.partner-icon{
	max-width: 180px;
	margin-top: 100px;
}

#agent-list h2:before{
	bottom: -55px;
}

.top-btn {
    max-width: 350px;
    margin: 50px auto;
}

@media screen and (max-width: 480px) {
  .modal_trigger {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-around;
  }
  .modal_trigger li {
    width: 47.5%;
    margin-top: 20px;
    max-width: inherit;
  }
  .modal_trigger li + li {
    margin-left: 0;
  }
  .modal_inner {
    width: 90%;
    padding: 25px;
	padding: 20px 20px 80px;
  }
.team-detail .icon {
    max-width: 150px;
}
	.comment{
		line-height: 20px;
	}

 }


/*プライバシーポリシー*/
#policy{
	max-width: 900px;
    margin: 0 auto;
}

#policy .contents{
	text-align: left;
	padding: 100px 10px;
}

#policy ul,li{
	list-style: none;
}

#policy .policy-txt{
	margin: 30px 0;
	font-size: 14px;
}
#policy .padding-left{
	padding-left:30px;
}
#policy .policy-txt > p{
	margin-bottom: 10px;
	font-size: 14px;
}
#policy .policy-txt > ul > li > ul{
	margin-top: 10px;
}
#policy a{
	color: #3c3c3c;
}
.policy-area{
	margin-top: 50px;	
}

/*エージェントガイドライン*/

.guidelines-area{
	text-align: left;
    max-width: 820px;
    margin: 0 auto;
	font-size: 13px;
}

#guidelines .contents{
	padding: 70px 20px;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

#guidelines p{
	margin-bottom: 30px;
}

#guidelines h2{
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    letter-spacing: 3px;
}