@charset "UTF-8";
 /* ======================== 
common
======================== */
:root {
    --primary-white: #FFF;
    --primary-black: #252525;
    --primary-beige: #FFEBD9;
    --primary-pink: #FFE4EB;
    --primary-navy: #223A70;
    --content-padding: 0 7.7%;
}

html {
    font-size: 62.5% ; 
}

body {
    font-family:  "Inter",
                "Noto Sans JP",
                sans-serif;
    font-style: normal;
    color: var(--primary-black, #252525) ;
    background-color: var(--primary-white, #FFF) ;
    line-height: 1;
}

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

.section__topic {
    color: var(--primary-black, #252525) ;
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.btn {
    border: 1px solid var(--primary-black, #252525);
    width: 122px;
    height: 23px;
    display: block;
    background: var(--primary-white, #FFF);
    padding: 6px 34px;
    color: var(--primary-black, #252525);
    text-align: center;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1; 
    position: relative;
    position: absolute;
    right: 7.7%;
    margin-top: 30px;
}

.btn:after {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    background-image: url(../images/Icon_arrow.svg);
    background-size: contain;  /* 16×16の箱の中に見切れずに入れる */
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-30%);  /* 要素(矢印)の半分だけ上に戻す */

}

/* common pc */
@media screen and (min-width: 769px) {
.section__topic {
    /* font-size: 7rem; */
    font-size: 5.6rem;
}

.btn {
    border: 2px solid var(--primary-black, #252525);
    width: 450.87px;
    height: 85px;
    padding: 32px 172px;
    font-size: 2rem;
    position: absolute;
    right: 8.3%;
    margin-top: 100px;
}

.btn:after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 11px;
    position: absolute;
    top: 50%;
    right: 55px;
    transition: all 0.2s;
}

.btn:hover:after {
  right: 40px;
}

}

/* ======================== 
header
======================== */
.header {
    padding:  65px 7.7% 17px ; 
    display: flex;
    align-items: center; 
    justify-content: space-between;
}

.logoPc {
    display: none;
}

.logoSp,
.nav__topic {
    width: 139.3px;
    height: 19.816px;
}

/* .nav初期表示 */
.nav {
    background: var(--primary-pink, #FFE4EB);  
    width: 100%;
    height: 100vh;
    position: fixed; 
    top: 0; 
    left: 0; 
    z-index: 100; 
    transform: translateX(-100%);
    transition: transform 0.4s;
}

.nav__header {
    padding: 65px 7.7% 17px  ;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav__btn {
    width: 23px;
    height: 13px;
}

.nav__list {
    padding-top: 50px  ;
    padding-left: 7.7%;
}

.nav__item {
    color: var(--primary-black, #252525);
    font-size: 2.5rem;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-top: 40px;
}

/* .nav.active表示 */
.nav.active {
    transform: translateX(0);
}

.header__btn {
    display: block;
    width: 23px;
    height: 13px;
    transform: translateY(-20%); /*  真ん中と少しずれ、微調整 */
}

/* header pc */
@media screen and (min-width: 769px) {
.header {
    padding:  46px 3.6% 24px ; 
}

.logoPc {
    display: block;
    width: 397px;
    height: 57px;
}

.logoSp {
    display: none;
}

/* nav.初期表示 */
.nav {
    background: transparent;
    width: auto;
    height: auto;
    padding: 0;
    position: static;
    transform: translate(0);
}

.nav__header {
    display: none;
}

.nav__list {
    padding: 0;
    display: flex;
    justify-content: flex-end;
    gap: 40px;
}

.nav__item {
    /* font-size: 1.8rem; */
    font-size: 1.5rem;
    margin-top: 0;
    transition: 0.3s;
}

.nav__item:hover {
    opacity: 0.4; 
}

.nav__item:first-of-type {
    display: none;
}

/* .nav.active表示 */
.header__btn {
    display: none;
}
}

/* ======================== 
Article header
======================== */
.article__header {
    padding:35px 7.7% 40px;
}

.mainImg__pc {
    display: none;
}

.mainTopics {
    padding: 0 6.2%;
    margin-top: 3px;
    font-size: 1.3rem;
    font-weight: 600; 
    line-height: 1.2; 
}

.pcBr {
    display: none;
}

/* article header */
@media screen and (min-width: 769px) {
.article__header {
    padding:114px 8.1% 38px 8.1%;
    display: flex;
    justify-content:center;
    align-items: center; 
    gap: 1.94%;
}

.mainImg__pc {
    display: block;
    
}

.mainVisual {
    /* width: 100%; */
    max-width: 73%;
    height: auto;
}

.mainImg__sp {
    display: none;
}

.mainTopics {
    padding: 0 ;
    margin-top: 0;
    font-size: 2.4rem;
    /* font-size: 2.2rem; */  
    line-height: 1.75; 
    /* width: 22.9%; */
}

.pcBr {
    display: block;
}

.spBr {
    display: none;
}
}

/* ======================== 
works
======================== */
.section--Works {
    padding:20px 0 103px ;
}

.section--Works .section__topic {
    text-align: left;
    margin-bottom: 30px;
    margin-left: 30px;  /*TOPのWORKSスライドは余白なしのため*/
}

.section--Works .section__topic::after {
    background: var(--primary-black, #252525);
    content: '';
    height: 1px;
    width: 143px;
    display: block; 
    margin-top: 7px;
}

.scroll-infinity {
    padding: 0;
}

@keyframes infinity-scroll-right {
from {
    transform: translateX(-100%);
}
    to {
    transform: translateX(0%);
}
}


.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}

.scroll-infinity__list {
    display: flex;
    gap: 20px;
    list-style: none;
    padding: 0;
}

.scroll-infinity__list--right {
    animation: infinity-scroll-right 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
    width: 155px;
    height: 155px;
}

.scroll-infinity__item:first-of-type {
    margin-left: 20px;
}

.scroll-infinity__item img {
    transition: 4s;
}

/* .scroll-infinity__item>img {
    width: 100%;
} */

/* works */
@media screen and (min-width: 769px) {
.section--Works {
    padding: 144px 0 285px; /* btnがsectionに入れないからbtn分の長さも含む */
}

.section--Works .section__topic {
    text-align: left;
    margin-bottom: 0;
    margin-bottom: 129px;
    margin-left: 120px;  /*TOPのWORKSスライドは余白なしのため*/
}

.section--Works .section__topic::after {
    height: 2px;
    /* width: 357px; */
    width: 285px;
    margin-top: 13px;
}

.scroll-infinity {
    padding: 0;
}

.scroll-infinity__list {
    display: flex;
    gap: 60px;
    list-style: none;
    padding: 0;
}

.scroll-infinity__item {
    width: 420px;
    height: 420px;
}

.scroll-infinity__item:first-of-type {
    margin-left: 60px;
}
}

/* ======================== 
gallery
======================== */
.section--Gallery {
    padding: 20px 7.7% 103px;
}

.section--Gallery .section__topic {
    text-align: left;
}

.section--Gallery .section__topic::after {
    background: var(--primary-black, #252525);
    content: '';
    height: 1px;
    width: 171px;
    display: block; 
    margin-top: 7px;
}

.gallery__content {
    margin-top: 30px;
}

.gallery__group1 {
    display: flex;
    justify-content: space-between;
}

.gallery__group2 {
    display: flex;
    justify-content: space-between;
}

.gallery__group3 {
    display: flex;
    justify-content: space-between;
}

.galleryImg {
    width: 30%;
    height: auto;
    margin-top: 3.84%;
} 

.gallery__group3 img {
    margin-bottom: 0;
}

/* gallery */
@media screen and (min-width: 769px) {
.section--Gallery {
    padding: 144px 8.3% 285px;  /* btnがsectionに入れないからbtn分の長さも含む */
}

.section--Gallery .section__topic::after {
    height: 2px;
    /* width: 420px; */
    width: 335px;
    margin-top: 13px;
}

.gallery__content {
    margin-top: 129px;
}

.galleryImg {
    width: 30%;
    height: auto;
    margin-top: 3.84%;
}

.gallery__group3 img {
    margin-bottom: 0;
}
}

/* ======================== 
contact
======================== */
.section--Contact {
    padding: 20px 7.7% 30px;
    background-color:var( --primary-beige,#FFEBD9) ;
}

.section--Contact .section__topic {
    text-align: left;
}

.section--Contact .section__topic::after {
    background: var(--primary-black, #252525);
    content: '';
    height: 1px;
    width: 179px;
    display: block; 
    margin-top: 7px;
}

.contact__content {
    margin-top: 30px;
}

.contact__word {
    font-size: 1.5rem;
    line-height: 150%;
}

.icon__list {
    margin-top: 9px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 14.5px;
}

.icon__item1 {
    width: 32px;
    height: 25px;
}

.icon__item2 {
    width: 29px;
    height: 29px;
}

.icon__item3 {
    width: 29px;
    height: 26px;
}

/* contact */
@media screen and (min-width: 769px) {
.section--Contact {
    padding: 100px 8.3%;
}

.section--Contact .section__topic::after { 
    height: 2px;
    width: 358px;
    margin-top: 13px;
}

.contact__content {
    margin-top: 104px;
}

.contact__word {
    font-size: 3.8rem;
}

.icon__list {
    margin-top: 13px;
    gap: 25px;
}

.icon__item1 {
    width: 46px;        /* 0.75の大きさ */
    height: 36px;
}

.icon__item2 {
    width: 40px;
    height: 40px;
}

.icon__item3 {
    width: 43.01px;
    height: 38.4px;
}

}

/* ======================== 
footer
======================== */
.footer {
    padding: 20px 7.7%;
    background-color:var( --primary-beige,#FFEBD9) ;
}

.footer__content {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.copy {
    font-size: 1rem;
    font-weight: 400;
}

.topBtn {
    font-size: 1rem;
    font-weight: 400;
}


/* footer */
@media screen and (min-width: 769px) {
.footer {
    padding: 29px 8.3% 110px;
}

.copy {
    font-size: 1.5rem;
}

.topBtn {
    font-size: 1.5rem;
}
}