@charset "UTF-8";

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    max-width: 1440px;
    margin: 0 auto;
}

body {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 100%;
    min-width: 320px;
    justify-content: center;
    flex-direction: column;
    font-family: "Zen Old Mincho";
    background: #F5F5F5;
}

p {
    font-family: "Zen Old Mincho";
    font-size: 2rem;
    color: #3D3D3D;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: 3;
    letter-spacing: 4px;
}

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

h2 {
    font-family: Suranna;
    font-size: 5rem;
    color: #FFF;
    text-shadow: 0px 4px 4px rgba(91, 101, 86, 0.15);
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 2.5px;
}

h3 {
    color: #3D3D3D;
    text-shadow: 0px 4px 4px rgba(91, 101, 86, 0.15);
    font-family: "Zen Old Mincho";
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 6px;
    text-align: left;
}


/* TB→SP___共通設定___↓↓ */
@media screen and (max-width: 768px){
    body {
        display: flex;
        text-align: center;
        flex-direction: column;
        align-items: center;
        max-width: 100%;
        min-width: 320px;
        justify-content: center;
        flex-direction: column;
        font-family: "Zen Old Mincho";
        background: #F5F5F5;
    }
    p {
        font-size: 1.6rem;
        line-height: 2;
        letter-spacing: 1.4px;
    }
    
    img {
        max-width: 100%;
        height: auto;
    }
    
    h2 {
        font-size: 2rem;
        letter-spacing: 1px;
    }
    
    h3 {
        font-size: 1.8rem;
        letter-spacing: 3px;
    }  
}
/* SP___共通設定___↑↑ */




.header {
    display: flex;
    max-width: 1440px;
    flex-direction: row;
    padding: 10px 1.73%;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    align-self: stretch;

    position: fixed; /* 上部に固定 */
    top: 0;
    width: 100%;
    background-color: #F5F5F5;/* 初期の背景色 (不透明) */
    color: white;
    text-align: center;
    z-index: 100; /* 他の要素よりも前面に表示 */
    transition: background-color 0.5s ease; /* 背景色の変化にアニメーションを付与 */
    z-index: 1000;
}

.header_txt {
    color: #333;
    text-align: center;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    font-family: "Cinzel Decorative";
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
.pc_instagram_icon {
    width: 50px;
    height: auto;
}
.pc_line_icon {
    width: 40.04px;
    height: auto;
}
.humburger_line_img {
    display: none;
} 
.openbtn {
    display:none;
}

/*==================================================
　5-2-7 3本線が奥行きを持って回転して×に
===================================*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 5px;
}

/*ボタン内側*/

.openbtn .openbtn-area{
    transition: all .4s;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #fff;
  	width: 45%;
  }


.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

.openbtn.active .openbtn-area{
	transform: rotateY(-360deg);
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}
/*==================================================
　5-2-7 3本線が奥行きを持って回転して×に
===================================*/

/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
.openbtn{
	position: relative;/*ボタン内側の基点となるためrelativeを指定*/
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 5px;
}

/*ボタン内側*/

.openbtn .openbtn-area{
    transition: all .4s;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: #333;
  	width: 45%;
  }


.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

.openbtn.active .openbtn-area{
	transform: rotateY(-360deg);
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%;
}


/* LAPTOP */
@media screen and (max-width: 1024px) {
    .header {
        gap: 15px;
    }
    .header_txt {
        display: none;
    }
    .openbtn {
        display: inline;

    }
    .pc_instagram_icon {
        display: none;
    }
    .pc_line_icon {
        display: none;
    }
    .sp_instagram_icon {
        width: 50px;
        height: auto;
    }
    .sp_line_icon {
        width: 40px;
        height: auto;
    }
}


/* TB→SP */
@media screen and (max-width: 768px) {
    .header {
        display: flex;
        padding: 5px;
        justify-content: flex-end;
        align-items: center;
        align-self: stretch;
    }
    .header_txt {
        display: none;
    }
    .pc_instagram_icon {
        display: none;
    }
    .pc_line_icon {
        display: none;
    }
    .sp_instagram_icon {
        width: 50px;
        height: auto;
    }
    .sp_line_icon {
        width: 40px;
        height: auto;
    }
   
}

/* SP */
@media screen and (max-width: 425px) {
    .header {
        padding: 0px;
        width: 100vw;
    }
    .header_txt {
        display: none;
    }
}



/* SP___nav___↓↓ */
.sp_nav {
    display: flex;
    width: 100vw;
    height: 100vh;
    padding-bottom: 45px;
    flex-direction: column;
    align-items: center;
    background: #F5F5F5;
    
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    
    transform: translateX(-1000%);
    transition: transform 0.4s;
}
.sp_nav.active {
    transform: translateX(0);
}

@media screen and (max-width: 768px) {
    .sp_nav.active {
        transform: translateX(0);
    }
}

.sp_nav_inside_box {
    display: flex;
    width: 100vw;
    padding: 70px 10px;
    align-items: flex-start;
    
    background-image: url(../images/images_nav/nav_img.png);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
    flex-direction: column;
}

@media screen and (max-width: 1024px) {
    .sp_nav_inside_box {
        padding: 70px 10px;
    }
}

.sp_nav_txt_box {
    display: flex;
    padding-left: 20px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
}
.sp_nav_txt {
    color: #333;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    font-family: "Cinzel Decorative";
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
.sp_nav_icon_box {
    display: flex;
    padding: 30px 0% 0px 2%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px;
}
.sp_nav_instagram_icon {
    width: 60px;
    height: 60px;
}
.sp_nav_line_icon {
    width: 40.04px;
    height: 40px;
}
/* SP___nav___↑↑ */



.footer1 {
    display: flex;
    padding: 50px 0px;
    justify-content: center;
    align-items: center;
}
.line_box {
    display: flex;
    width: 300px;
    height: 250px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.line_txt_img_box {
    display: flex;
    width: 152px;
    height: 25px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.line_txt {
    color: #06C755;
    font-family: "Helvetica Neue";
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.instagram_box {
    display: flex;
    width: 300px;
    height: 250px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.instagram_txt_img_box {
    display: flex;
    width: 152px;
    height: 25px;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    flex-shrink: 0;
}

.instagram_txt_img {
    width: 168px;
    height: 47px;
    flex-shrink: 0;
}

.instagram_txt {
    color: #343433;
    font-family: "Helvetica Neue";
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.qr_corde_img_line {
    display: flex;
    width: 100px;
    height: 100px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.qr_corde_img_instagram {
    display: flex;
    width: 110px;
    height: 110px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.footer2 {
    display: flex;
    flex-direction: row;
    padding: 25px 25px;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    align-self: stretch;
}
.footer2_txt {
    color: #333;
    text-align: center;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    font-family: "Cinzel Decorative";
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.sp_instagram_icon{
    display: none;
}
.sp_line_icon {
    display: none;
}

.copyright_box {
    display: flex;
    padding: 30px 0px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}
.copyright_txt {
    color: #333;
    text-align: center;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15);
    font-family: Helvetica;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}
.footer_sp {
    display: none;
}

/* LAPTOP */
@media screen and (max-width: 1024px) {
    .footer2 {
        gap: 15px;
    }
    .footer2_txt {
        font-size: 1rem;
    }
    .sp_instagram_icon{
        display: inline;
        width: 60px;
        height: 60px;
    }
    .sp_line_icon {
        display: inline;
        width: 40.04px;
        height: 40px;
    }
}

/* TB→SP */
@media screen and (max-width: 1024px) {
    .footer1 {
        display: none;
    }
    .footer2 {
        display: none;
    }
    .footer2_txt {
        display: none;
    }

    .footer_sp {
        display: inline;
        display: flex;
        padding: 20px 0px;
        justify-content: center;
        align-items: center;
        gap: 50px;
        align-self: stretch;
    }
    .sp_instagram_icon{
        display: inline;
        width: 60px;
        height: 60px;
    }
    .sp_line_icon {
        display: inline;
        width: 40.04px;
        height: 40px;
    }
    .page_top_box {
        display: flex;
        align-items: center;
        flex-direction: column;
    }
    .page_top_arrow_img {
        width: 20%;
        height: auto;
    }
    .page-top {
        font-family: "Zen Old Mincho";
        font-size: 1.3rem;
        line-height: 2;
        letter-spacing: 1.4px;
    }
}
