    @charset "UTF-8";
    /* Scss Document */
    
    * {
        font-family: 'Noto Sans JP', sans-serif;
        margin: 0;
        padding: 0;
        font-weight: 400;
        text-decoration: none;
        list-style: none;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        color: #4c3d36;
        font-size: 16px;
        line-height: 26px;
        letter-spacing: 0.5px;
    }
    /* font-family: 'Noto Serif JP', serif; */
    
     ::selection {
        background-color: #393a34 !important;
        color: #ffffff !important;
    }
    
    a,
    input[type="submit"] {
        display: block;
        cursor: pointer;
        text-decoration: none;
        outline: none;
    }
    
    a:before,
    a:after,
    .hovercon:before,
    .hovercon:after,
    input[type="submit"]:before,
    input[type="submit"]:after {
        position: absolute;
        z-index: -1;
        display: block;
        content: '';
    }
    
    a,
    a:before,
    a:after,
    .hovercon,
    .hovercon:before,
    .hovercon:after,
    input[type="submit"],
    input[type="submit"]:before,
    input[type="submit"]:after {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-transition: all .3s;
        transition: all .3s;
    }
    
    .display-pc {
        display: block;
    }
    
    .display-sp,
    .display-sp2 {
        display: none !important;
    }
    
    .width1080 {
        width: 1080px;
        margin: 0 auto;
    }
    .width1080 small {
       color: #fff;
       font: 13px;
    }
    
    .fixed {
        position: fixed;
        left: 0;
        top: 0;
    }



    /*アニメーション要素のスタイル*/
    
    .animation {
        opacity: 0;
        visibility: hidden;
        transition: 1s;
        transform: translateY(30px);
    }
    
    .active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    
    .animation2 {
        animation-name: fadein;
        animation-duration: 2s;
    }
    
    @keyframes fadein {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    /* svgここから */
    
    #mask .st0 {
        fill: none;
        stroke: #FFFFFF;
        stroke-width: 40;
        /*線の太さを指定する*/
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-miterlimit: 10;
        stroke-dasharray: 1500;
        /* 線の間隔を指定する */
        stroke-dashoffset: 1500;
        /* 線の位置を指定する */
    }
    /* svgここまで */
    /*header {
	position: -webkit-sticky;
    position: sticky;
	top: 0;
	z-index: 1;
} */
    
    header .top-main {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        height: 90px;
        background-color: #ffffff;
        z-index: 99;
    }
    
    header .top-main .top-main01 {
        display: inline-block;
    }
    
    header .top-main .top-main01 .mian_logo img {
        display: block;
        width: 200px;
        height: auto;
        margin: 20px;
    }
    
    header .top-main .top-main02 {
        height: 90px;
        float: right;
    }
    
    header .top-main .top-main02 .top-main02-1 {
        display: inline-block;
        vertical-align: top;
        padding: 15px;
    }
    
    header .top-main .top-main02 .top-main02-2 {
        display: inline-block;
        vertical-align: top;
    }
    
    header .top-main .top-main02 .top-main02-2 a {
        width: 360px;
        height: 90px;
        background-color: #ca757b;
        padding: 23px;
        text-align: center;
    }
    
    header .top-main .top-main02 .top-main02-2 img {
        display: inline-block;
        width: 45px;
        height: auto;
        margin: 0 10px;
    }
    
    header .top-main .top-main02 .top-main02-2 p {
        display: inline-block;
        font-size: 22px;
        font-weight: 600;
        color: #ffffff;
        vertical-align: top;
        line-height: 50px;
    }
    
    header .top-text {
        width: 100%;
        /*height: 90vh;*/
        height: 600px;
        margin-top: 90px;
        background-image: url("../img/top_main01_2.jpg");
        background-size: cover;
        /*background-position: 25% 50%;*/
        background-position: center center;
    }
    @media (min-width:768px){
        header .top-text {
            margin-top: 60px;


        }
    }
    @media (min-width:996px){
        header .top-text {
            margin-top: 90px;


        }
    }
    
    header .top-text h2 {
        position: absolute;
        top: 40px;
        left: 0;
        right: 0;
        bottom: auto;
        margin: auto;
        color: #4c3d36;
        font-size: 32px;
        font-family: 'Noto Serif JP', serif;
        font-weight: 600;
        text-align: center;
        line-height: 40px;
        letter-spacing: 2px;
    }
    /*header .top-text:before {
    content: "";
	position: fixed;
    display: block;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-image: url(../img/top_main01.jpg);
	background-size: cover;
	background-position: 25% 50%;
}*/
    
    .iPhone-svg {
        display: none;
        width: 80vw;
        height: auto;
        position: absolute;
        top: 20px;
        left: 20px;
    }
    
    .iPhone,
    .iPad {
        -webkit-background-size: contain;
        background-size: contain;
    }
    
    .iPhone svg,
    .iPad svg {
        display: none;
    }
    
    .iPhone .iPhone-svg,
    .iPad .iPhone-svg {
        display: block;
    }
    
    header .top-text .width1080 {
        position: relative;
        height: 100%;
    }
    
    header .top-text .width1080 svg {
        position: absolute;
        top: 50px;
        left: 0;
        width: 675px;
        height: auto;
    }
    
    header .top-text .top-text-sub {
        position: absolute;
        right: 0;
        bottom: 50px;
    }
    
    header .top-text .top-text-sub p {
        font-size: 25px;
        color: #ffffff;
        line-height: 55px;
    }
    
    header .top-text .top-text-sub img,
    header .top-text .top-text-logo img {
        width: 350px;
        height: auto;
    }
    
    header .top-text .top-text-logo img {
        display: block;
        margin: 0 auto;
    }
    
    header .top-text .top-text-logo {
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        bottom: 40px;
    }
    
    .gift-button {
        position: fixed;
        top: 150px;
        right: 0;
        z-index: 10;
    }
    .gift-button a {
        background-color: #ad1826;
        width: 45px;
        height: 195px;
        padding: 20px 15px;
        color: #ffffff;
        line-height: 18px;
        writing-mode: vertical-rl;
        font-size: 16px;
        font-weight: 600;
        letter-spacing: 1px;
        text-align: center;
    }
    
    .contacttel .telp01 {
        font-size: 10px;
        line-height: 20px;
        display: block;
        text-align: center;
    }
    
    .contacttel .telp02 {
        display: inline-block;
        font-size: 35px;
        font-family: 'Roboto', sans-serif;
        font-weight: 500;
        /*font-style: italic;*/
    }
    
    .contacttel img {
        display: inline-block;
        width: 30px;
        height: 30px;
        vertical-align: bottom;
        margin: 5px 2px 5px auto;
    }
    
    .contacttel.contacttel02 {
        border: solid 1px #ffffff;
        margin: 25px auto;
        padding: 30px 15px;
    }
    
    .contacttel.contacttel02 p {
        color: #ffffff;
    }
    
    .h2-1,
    .h2-2,
    .h2-2025 {
        display: block;
        font-size: 34px;
        /*width: 95%;*/
        width: 100%;
        /*height: 80px;*/
        height: 100px;
        background-size: contain;
        text-align: center;
        margin: 0 auto;
        line-height: 100px;
        background-position: center;
        font-weight: 600;
    }
    .h2-2025{
        color: #fff;
    }
    
    .h2-1 {
        color: #ffffff;
        background-image: url("../img/title01.png");
    }
    
    .h2-2 {
        background-image: url("../img/title02.png");
    }
    .h2-2025 {
        background-image: url("../img/md_pink.png");
    }
    
    .title03,
    .title04 {
        font-size: 28px;
        font-family: 'Noto Serif JP', serif;
        font-weight: 600;
        text-align: center;
        margin: 20px auto;
        line-height: 40px;
    }
    
    .title03 {
        color: #ffffff;
    }
    
    .p-center {
        text-align: center;
    }
    
    article {
        background-image: url("../img/backimg01.png");
        background-size: 200%;
        background-repeat: repeat;
    }
    
    .section1 {
        background-color: rgba(0, 0, 0, 0.75);
        background-blend-mode: multiply;
        z-index: 3;
    }
    
    .section1,
    .section2 {
        position: relative;
        padding: 50px 0;
    }
    
    .section2 {
        z-index: 2;
    }
    
    .section1 h3,
    .section1 p,
    .section1 td,
    .section1 a {
        color: #ffffff;
    }
    
    .section4 {
        position: relative;
        z-index: 2;
        background-color: #4c3d36;
        padding: 80px 0;
    }
    
    .div-content01,
    .div-content02 {
        display: flex;
        align-items: center;
    }
    
    .section1 .mv {
        margin: 40px auto 0 auto;
    }
    
    .section1 .mv p {
        text-align: center;
        margin: 24px auto 0 auto;
    }
    
    .flex {
        display: flex;
    }
    
    .section1 .flex,
    .section2 .flex {
        justify-content: space-between;
        align-items: center;
        margin: 40px auto;
    }
    
    .flex .left,
    .flex .right {
        width: 48%;
        color: #fff;
    }
    
    .flex .left img,
    .flex .right img {
        width: 100%;
        height: auto;
    }
    
    .flex .left h3,
    .flex .right h3 {
        font-size: 20px;
        font-weight: bold;
        display: block;
        padding: 24px 0;
    }
    
   /* .flex .left p,
    .flex .right p {
        text-indent: 1rem;
    }*/
    
    .flex .left p.normal,
    .flex .right p.normal {
        text-indent: 0rem;
    }
    
    .div-content01 .div-content01-left {
        margin-right: 30px;
    }
    
    .img01 {
        display: block;
        margin: auto;
    }
    
    .div-content01 .div-content01-left,
    .div-content01 .div-content01-right {
        width: 48%;
        margin: 50px auto;
    }
    
    .div-content01 .div-content01-left>p,
    .div-content01 .div-content01-right>p,
    .div-content02 .div-content02-text p {
        line-height: 30px;
    }
    
    .div-content02 .div-content02-img,
    .div-content02 .div-content02-text {
        margin: 30px;
    }
    
    .div-content02 .div-content02-img {
        width: 340px;
    }
    
    .div-content02 .div-content02-text {
        width: 630px;
    }
    
    .div-content02 .div-content02-text2 {
        margin: 130px auto;
    }
    
    .div-content01 .div-content01-left .img00 {
        width: 450px;
        height: 450px;
    }
    
    .div-content01 .div-content01-left .img01,
    .div-content01 .div-content01-right .img01 {
        width: 480px;
        height: 340px;
    }
    
    .div-content02 .div-content02-img .img01 {
        width: 340px;
        height: 340px;
        /*margin-bottom: 15px;*/
    }
    
    .div-content01 h3,
    .div-content02 h3 {
        margin-bottom: 10px;
        font-size: 26px;
        line-height: 45px;
        font-weight: 600;
    }
    
   /* .section2 .div-content01 .div-content01-left h3,
    .section2 .div-content01 .div-content01-right h3 {
        margin-top: 30px;
    }*/
    
    .div-content02-img p {
        font-weight: 600;
    }
    
    .div-content02-img p:first-of-type,.gift-text5 {
        font-size: 26px;
        line-height: 39px !important;
		font-weight: 600;
    }
    
    .div-content02-img p:last-of-type,.gift-text6 {
        font-size: 16px;
        line-height: 28px !important;
		font-weight: 600;
    }
    .gift-text6 {
        display: block;
        padding: 20px 0 0 0;
       line-height: 28px !important;
    }
    

    
    .p03 {
        display: flex;
        margin: 60px auto 30px auto;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        color: #ffffff;
        font-weight: 600;
        letter-spacing: 1.5px;
    }
    
    .p03:before,
    .p03:after {
        border-top: 1px solid #ffffff;
        content: "";
        width: 100px;
    }
    
    .p03:before {
        margin-right: 20px;
    }
    
    .p03:after {
        margin-left: 20px;
    }
    
    .div-content03 .div-content03-inner {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 30px;
        justify-content: center;
    }
    
    .div-content03-button {
        width: 320px;
        margin: 0 10px;
    }
    
    .div-content03-button a {
        width: 320px;
        height: 80px;
        border-radius: 40px;
    }
    
    .div-content03-button img {
        display: inline-block;
        width: 22px;
        height: 22px;
        margin: 30px 20px;
    }
    
    .div-content03-button p {
        display: inline-block;
        font-size: 21px;
        line-height: 80px;
        font-weight: 600;
        color: #ffffff;
        vertical-align: top;
    }
    
    .div-content03-button.div-content03-button1 a {
        background-color: #bd9f66;
    }
    
    .div-content03-button.div-content03-button2 a {
        background-color: #cb9b0c;
    }
    
    .div-content03-button.div-content03-button3 a {
        background-color: #ad1826;
    }
    
    .table01 {
        margin-bottom: 10px;
    }
    .table01 tr th,
    .table01 tr td{
        color: #fff;
        font-weight: normal;
    }
    .table01 tr th{
        text-align:justify;
        text-align-last:justify;
    }
    
    .table01 tr td {
        padding: 0 5px;
        line-height: 30px;
    }
    
    .section3 {
        position: relative;
        top: 0;
        z-index: 2;
        width: 100%;
        height: 400px;
        padding: 50px 0 0 0;
        background-image: url("../img/sub_mv.jpg");
        background-position: center;
        background-size: 100% auto;
    }
    
    .section3 h2.normal {
        color: #fff;
        font-size: 28px;
        font-family: 'Noto Serif JP', serif;
        font-weight: 600;
        line-height: 40px;
    }
    
    @media screen and (min-width:1800px) {
        .section3 {
            height: 600px;
        }
    }
    /*.section3:before {
    content: "";
    display: block;
	position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
	background-image: url("../img/top_main02.jpg");
	background-position: center;
	background-size: cover;
}*/
    
    .section3 .width1080 {
        position: relative;
        height: 100%;
    }
    
    .section3 img,
    .section3 p {
        position: absolute;
        display: block;
    }
    
    .section3 img {
        width: 400px;
        height: auto;
        top: 0;
        left: 0;
    }
    
    .section3 p {
        color: #ffffff;
    }
    /* .section3 p:first-of-type {
	font-size: 30px;
	line-height: 44px;
	font-weight: 600;
	top: 150px;
	left: 0;
} */
    
    p.p-02 {
        font-size: 10px;
        line-height: 15px;
        bottom: 50px;
        right: 0;
    }
    
    p.p-03 {
        margin: 0 25px;
    }
    
    .font12px {
        font-size: 12px;
        line-height: 18px !important;
    }
    
    .span01,
    .span02 {
        display: block;
        height: 28px;
        margin-bottom: 10px;
        font-size: 12px;
        line-height: 28px;
        text-align: center;
        font-weight: 600;
        border-radius: 5px;
    }
    
    .span01 {
        width: 80px;
        background-color: #ffffff;
        color: #ad1826;
    }
    
    .span02 {
        width: 120px;
        background-color: #ad1826;
        color: #ffffff;
    }
    
    .g-ul,
    .gift-text2 {
        margin: 20px auto;
    }
    
    .g-ul li {
        padding: 10px;
        border-bottom: solid 1px #ffffff;
    }
    
    .g-ul li:first-child {
        border-top: solid 1px #ffffff;
    }
    
    .gift-text2 {
        padding: 10px;
        border-bottom: solid 1px #4c3d36;
    }
    
    .gift-text2 {
        border-top: solid 1px #4c3d36;
    }
    
    .g-ul li p,
    .g-ul li a {
        display: inline-block;
    }
    
    .g-ul p:first-child {
        width: 190px;
        font-size: 16px;
    }
    
    .g-ul p:nth-of-type(2) {
        width: 120px;
        font-size: 18px;
        font-weight: 600;
        margin-right: 10px;
    }
    
    .g-ul a, .gift-text .gift-text2 a {
        display: inline-block;
        width: 170px;
        height: 30px;
        color: #ffffff;
        border-radius: 15px;
        font-size: 15px;
        text-align: center;
        line-height: 28px;
        background-color: #ca757b;
    }

    .set_color{
        background-color: #ca757b !important;
    }
    
    .gift-flex {
        display: flex;
        flex-wrap: wrap;
    }
    
    .gift-flex .gift-con {
        width: 31%;
        margin: 1%;
        
    }

    
    
    
    .gift-flex .gift-con .gift-link img {
        width: 320px;
        height: 320px;
    }
    
    .gift-flex .gift-con .gift-text {
        margin: 20px auto;
    }
    
    .gift-text .gift-text1,
    .gift-text .gift-text2 {
        font-weight: 600;
    }
    
    .gift-text .gift-text1 {
        font-size: 16px;
    }
    
    .gift-text .gift-text2 {
        font-size: 18px;
    }
    
    .gift-text .gift-text2 a {
        margin-left: 20px;
    }
    
    .gift-text .gift-text3,
    .gift-text ul li {
        font-size: 12px;
        line-height: 18px;
    }
    .gift-text ul{
        padding-left: 16px;
    }
    .gift-text ul li {
        list-style-type: disc;
    }
    
    footer {
        position: relative;
        z-index: 5;
        background-color: #393a34;
    }
    
    footer small {
        display: block;
        color: #ffffff;
        padding-bottom: 20px;
        font-size: 12px;
        text-align: center;
    }
    
    footer .width1080 {
        display: flex;
        flex-wrap: wrap;
        text-align: center;
        padding: 70px;
    }
    
    .foot1 {
        width: 36%;
    }
    
    .foot2 {
        width: 25%;
    }
    
    .foot3 {
        width: 36%;
    }
    
    .foot2 img {
        width: 175px;
        height: auto;
    }
    
    .foot3 a {
        width: 340px;
        height: 65px;
        margin-bottom: 20px;
        text-align: center;
    }
    
    .foot3 a p {
        display: inline-block;
        color: #ffffff;
        font-size: 16px;
        font-weight: 600;
        line-height: 65px;
        vertical-align: top;
    }
    
    .foot3 .foot-button01 {
        background-color: #878788;
    }
    
    .foot3 .foot-button01 p {
        display: inline-block;
        height: auto;
    }
    
    .foot3 .foot-button02 {
        background-color: #cb9b0c;
    }
    
    .foot3 .foot-button02 img {
        display: inline-block;
        width: 32px;
        height: auto;
        margin: 15px;
    }
    
    footer #pageTop {
        position: fixed;
        right: 0;
        bottom: 80px;
        z-index: 100;
        vertical-align: bottom;
        width: 70px;
        height: 70px;
    }
    
    footer #pageTop img {
        width: 100%;
        height: 100%;
    }

/* 221024↓ */
.grecaptcha-badge {
    z-index: 1000;
}
.fadeup-mini {
  animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
    filter: blur(5px);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}
.huwaa {
  filter: blur(10px);
  animation-name: blur;
  animation-duration: 3s;
	animation-fill-mode: forwards;
}
.huwaa2 {
  filter: blur(10px);
  animation-name: blur;
  animation-duration: 1.5s;
	animation-fill-mode: forwards;
}
@keyframes blur {
  0% {
    filter: blur(10px);
  }
  100% {
    filter: blur(0);
  }
}

	/* ペルー アマティスタ_通常ギフト用↓ */
		header .top-text_peru01 {
			background-image: url("../img/top_main03.jpg");
		}
		@media (max-width:480px) {
			header .top-text.top-text_peru01 {
				background-image: url("../img/SP_top_main03_2.jpg") !important;
				}
			}
	/* ペルー アマティスタ_通常ギフト用↑ */
		header .top-text .top-main-link {
			display: block;
			height: 100%;
		}
		header .top-text .top-main-link:hover {
			background-color: rgba(255,255,255,0.1);
		}
	/* ペルー アマティスタ_2022冬用↓ */
	header .top-text.top-text_24winter {
        background-image: url("../img/24_winter/mv.jpg");
	}
		@media (max-width:600px) {
			header .top-text.top-text_24winter {
				background-image: url("../img/24_winter/mv_sp.jpg") !important;
				}
			}
	/* ペルー アマティスタ_2022冬用↑ */

    /* 2025冬用↓ */
	header .top-text.top-text_25winter {
        background-image: url("../img/mv/mv_202511_pc.jpg");
	}
		@media (max-width:600px) {
			header .top-text.top-text_25winter {
				background-image: url("../img/mv/mv_202511_sp.jpg") !important;
				}
			}
	/* 2025冬用↑ */


	.title_top_main {
		position: absolute;
		top: 0;
		right: 70px;
		display: block;
		width: 140px;
		height: 710px;
        background-image: url("../img/22_winter/huyu22_bg_001.png");
		background-size: contain;
	}
	.title_top_main img {
		display: block;
		width: 60%;
		height: auto;
		margin: 50px auto;
		text-align: center;
	}
	.title_top_main2 {
		display: none;
}

.title_top_main_202311{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
  justify-content: center;
  align-items: center;

}
.title_top_main_202311 img{
    width: 80%;
    max-width: 432px;

}
@media (min-width: 768px){
    .title_top_main_202311 img{
        width: 40%;
        
    
    }
}



@media (max-width: 1350px) , (max-height: 850px) {
		.title_top_main {
			width: 120px;
	}
}
@media (max-width: 450px) and (max-height: 630px) {
		.title_top_main {
			width: 70px !important;
			height: 350px !important;
	}
}
@media (max-width: 600px) {
	.title_top_main2 {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 10px;
		display: block;
		width: 80%;
		height: auto;
		margin: auto;
	}
		.title_top_main {
			right: 50px;
			width: 90px;
			height: 500px;
	}
	.title_top_main img {
		margin: 30px auto;
	}
}
	.gift-button2 a {
		background-color: #ca757b !important;
	}
	.gift-button3 {
        top: 355px;
    }
.gift-text4 {
	display: block;
	width: 95%;
	margin: 20px auto 0 auto;
}
.gift-text7 {
	margin-bottom: 20px;
	}
.gift-text8 {
	display: block;
    width: 90%;
    font-size: 34px;
	line-height: 50px;
	text-align: center;
    font-family: 'Noto Serif JP', serif;
	font-weight: 600;
}
.gift-text8-b {
    font-size: 28px;
	line-height: 50px;
	margin: 15px auto;
}
@media (max-width: 600px) {
	.gift-text4 {
		width: 85%;
		margin: 10px auto 0 auto;
	}
	.gift-text7 {
		margin-bottom: 10px;
	}
	.gift-text8 {
    	font-size: 20px;
		line-height: 30px;
    	margin-bottom: 10px;
	}
}

/* 221024↑ */





    @media (max-width: 1080px) {
        * {
            font-size: 14px;
            line-height: 23px;
        }
        body {
            width: 100%;
            overflow-y: hidden;
        }
        .display-pc {
            display: none !important;
        }
        .display-sp {
            display: block !important;
        }
        .display-sp2 {
            display: inline-block !important;
        }
        header .top-main {
            height: 60px;
        }
        /*
header .top-text:before {
	background-image: url("../img/top_main01_sp.jpg");	 
	 }*/
        header .top-text h2 {
            font-size: 22px;
            line-height: 40px;
            letter-spacing: 2px;
        }
        header .top-main .top-main01 .mian_logo img {
            width: 45px;
            height: 45px;
            margin: 7.5px;
        }
        header .top-main .top-main02 {
            display: flex;
            height: 60px;
        }
        header .top-main .top-main02 .top-main02-1 {
            width: 60px;
            height: 60px;
            padding: 17.5px;
            background-color: #eeeeee;
        }
        header .top-main .top-main02 .top-main02-2 a {
            width: 180px;
            height: 60px;
            padding: 10px;
        }
        header .top-main .top-main02 .top-main02-2 img {
            width: 20px;
            margin: 10px 3px 10px 0;
        }
        header .top-main .top-main02 .top-main02-2 p {
            font-size: 12px;
            line-height: 42px;
        }
        header .top-text .width1080 svg {
            top: 30px;
            left: 30px;
            width: 80vw;
        }
        header .top-text .top-text-sub {
            right: 30px;
            bottom: 30px;
        }
        header .top-text .top-text-sub p {
            font-size: 18px;
            line-height: 45px;
        }
        header .top-text .top-text-sub img {
            width: 250px;
        }
        .section1 {
            margin-top: -1px;
        }
        .gift-button {
            /*top: 90px;*/
            top: 160px;
        }
		.gift-button3 {
        	top: 300px;
    	}
        .gift-button a {
            padding: 0 7px;
            width: 26px;
            height: 130px;
            line-height: 14px;
            font-size: 12px;
            letter-spacing: 0.5px;
        }
        .width1080 {
            width: 90%;
            margin: 0 auto;
        }
        .h2-1 {
            background-image: url(../img/title01-sp.png);
        }
        .h2-2 {
            background-image: url(../img/title02-sp.png);
        }
        .h2-2025 {
            background-image: url(../img/md_pink_sp.png); 
        }
        .h2-1,
        .h2-2,
        .h2-2025 {
            font-size: 16px;
            width: 95%;
            height: 80px;
            line-height: 80px;
        }
        .div-content01 .div-content01-left,
        .div-content01 .div-content01-right {
            width: 85%;
            margin: 30px auto;
        }
        .div-content01 .div-content01-left .img01,
        .div-content01 .div-content01-right .img01 {
            width: 100%;
            height: auto;
        }
        .div-content01 .div-content01-left>p,
        .div-content01 .div-content01-right>p,
        .div-content02 .div-content02-text p {
            line-height: 26px;
        }
        .div-content01 h3,
        .div-content02 h3 {
            font-size: 20px;
            line-height: 28px;
        }
        .table01 tr {
            display: block;
            margin: 5px 0;
        }
        .table01 tr td {
            padding: 0;
            line-height: 20px;
            vertical-align: top;
        }
        .table01 tr th {
            width: 80px;
        }
        .g-ul li {
            text-align: center;
        }
        .g-ul li p {
            font-size: 14px !important;
            width: auto !important;
            margin-right: 10px;
        }
        .g-ul li p:nth-of-type(2) {
            font-size: 16px !important;
        }
        .g-ul li a {
            display: block;
            margin: auto;
        }
        .g-ul li a,
        .g-ul a,
        .gift-flex .gift-con .gift-text .gift-text2 a {
            margin-top: 5px;
        }
        .div-content01,
        .div-content02 {
            display: block;
            margin-bottom: 30px;
        }
        .div-content02 {
            display: block;
            width: 85%;
            margin: 20px auto 30px auto;
            padding: 0;
            text-align: center;
        }
        .div-content01 .div-content01-left,
        .div-content01 .div-content01-right {
            margin: 10px auto;
        }
        .div-content02 .div-content02-img,
        .div-content02 .div-content02-text {
            display: inline-block;
            margin: 10px;
            vertical-align: top;
        }
        .div-content02 .div-content02-img {
            width: 100%;
            margin: 0 auto 15px auto;
        }
        .div-content02 .div-content02-img .img01 {
            width: 60%;
            height: auto;
        }
        .div-content01 .img00 {
            display: block;
            width: 85% !important;
            height: auto !important;
            margin: 20px auto;
        }
        .div-content02 .div-content02-text {
            width: 100%;
            margin: auto;
            text-align: left;
			margin-bottom: 10px;
        }
        .div-content02-img p:first-of-type,.gift-text5 {
            font-size: 18px;
            line-height: 24px !important;
            margin-bottom: 10px;
        }
        .div-content02-img p:last-of-type,.gift-text6 {
            font-size: 14px;
            line-height: 18px !important;
        }
        header .top-text .top-text-sub img,
        header .top-text .top-text-logo img {
            width: 70%;
            height: auto;
        }
        .section3 {
            /*position: -webkit-sticky;
    position: sticky;*/
            position: relative;
            height: 230px;
            padding: 0;
            /*background-image: url(../img/sub_mv_sp.jpg);*/
            background-image: url(../img/SP_top_main02.jpg);
            background-attachment: scroll;
        }
        .section3 img {
            width: 220px;
            height: auto;
            top: 20px;
            left: 7.5%;
        }
        .section3 h2.normal {
            width: 85%;
            display: block;
            padding: 24px 0 0 0;
            margin: 0 auto;
            font-size: 20px;
        }
        .section1 .mv p {
            width: 85%;
            display: block;
            text-align: left;
            margin: 24px auto 0 auto;
        }

        .section1 .flex,
    .section2 .flex {

        margin: 20px auto;
    }

        .flex {
            flex-direction: column;
        }
        .flex .left {
            order: 1;
        }
        .flex .right {
            order: 2;
        }



        .ord1{
            order: 1 !important;
        }

        .ord2{
            order: 2 !important;

        }



        .flex .left,
        .flex .right {
            width: 85%;
            margin: 10px auto;
        }
        /*.section3 p:first-of-type {
    font-size: 20px;
    line-height: 30px;
    top: 100px;
    left: 7.5%;
}*/
        p.p-02 {
            bottom: 20px;
            width: 85%;
            margin: auto;
            left: 0;
        }
        .section4 {
            padding: 50px 0;
        }
        .gift-flex {
            width: 100%;
            margin: auto;
        }
        .gift-flex .gift-con {
            width: 46%;
            margin: 2%;
        }
        .gift-flex .gift-con .gift-text {
            margin: 0 auto 10px auto;
        }
        .gift-flex .gift-con .gift-text .gift-text2 a {
            margin-left: 0;
        }
        .gift-flex .gift-con .gift-link img {
            width: 100%;
            height: auto;
        }
        .h2-2-b {
            line-height: 18px;
            font-size: 14px;
            padding: 15px 20px;
        }
        .title03,
        .title04 {
            font-size: 20px;
            line-height: 32px;
            margin: 30px 7.5%;
        }
        .gift-flex .gift-con .gift-text .gift-text3 {
            font-size: 11px;
            line-height: 16px;
        }
        .g-ul,
        .gift-text2 {
            text-align: center;
            margin: 10px auto;
        }
        .g-ul a,
        .gift-flex .gift-con .gift-text .gift-text2 a {
            width: 130px;
            letter-spacing: -0.5px;
            height: 26px;
            border-radius: 13px;
            font-size: 14px;
            line-height: 22px;
        }
        p.p-03 {
            margin: 0;
        }
        .div-content03-button {
            margin: 10px auto;
        }
        .div-content03-button a {
            width: 320px;
            height: 50px;
            border-radius: 25px;
        }
        .div-content03-button p {
            font-size: 18px;
            line-height: 50px;
        }
        .div-content03-button img {
            width: 18px;
            height: 18px;
            margin: 16px;
        }
        .div-content03 .div-content03-inner {
            margin-bottom: 0px;
        }
        .p03 {
            margin: 45px auto 15px auto;
            font-size: 18px;
        }
        .p03:before,
        .p03:after {
            width: 70px;
        }
        .span01,
        .span02 {
            margin-bottom: 5px;
        }
        footer {
            width: 100%;
        }
        footer .width1080 {
            padding: 7.5%;
        }
        .foots {
            width: 100%;
        }
        .foot2 {
            margin: 10px auto 25px auto;
        }
        .foot2 img {
            width: 130px;
            height: auto;
        }
        .foot3 a {
            width: auto;
            max-width: 400px;
            height: 50px;
            margin: auto;
            margin-bottom: 10px;
        }
        .foot3 a p {
            font-size: 14px;
            line-height: 50px;
        }
        .foot3 .foot-button02 img {
            width: 20px;
            margin: 15px 5px;
        }
        .contacttel .telp01 {
            line-height: 14px;
        }
        .contacttel.contacttel02 {
            padding: 10px;
        }
        .contacttel img {
            width: 25px;
            height: 25px;
            margin: 0;
            vertical-align: text-bottom;
        }
        .contacttel .telp02 {
            font-size: 25px;
            vertical-align: top;
            line-height: 30px;
        }
        footer #pageTop {
            width: 50px;
            height: 50px;
        }
    }

@media screen and (min-width:1081px) {
    .width1080 {
            width: 100%;
            max-width: 1080px;
            margin: 0 auto;
        }
    }
    
    @media screen and (max-width:480px) {
        header .top-text {
            height: 75vh;
            margin-top: 60px;
            background-position: 100%;
            background-image: url("../img/SP_top_main01_2.jpg");
            background-attachment: scroll;
        }
    }
    
    @media screen and (min-width:1366px) and (max-width:2099px) {
        header .top-text {
            height: 800px;
        }
    }
    
    @media screen and (min-width:2100px) {
        header .top-text {
            height: 1000px;
        }
    }


    .bunner{
        width: 90%;
        display: block;
        margin: 50px auto;
    }
    .bunner img{
        width: 100%;
        height: auto;

    }

    @media screen and (min-width:810px) {
        .bunner{
            width: 50%;
            max-width: 550px;
            margin: 100px auto 50px auto;
        }
        .flex{
            width: 100%;
            flex-direction: row;
        }
        .flex .left, .flex .right{
            width: 48%;
        }

    }
    @media screen and (min-width:992px) {
.flex{
            width: 100%;

        }
    }
    .gift-con .img {
        position: relative;
        
    }
.coming{
    background-color: #ad1826;
    border-radius: 5px;
    padding: 6px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 70px;
    height: auto;
    position: absolute;
    left: 0;
    bottom: 5px;
    z-index: 10;

}
.coming p,
.coming span,
.coming i{
    color: #fff;
    font-style: normal;
    text-align: center;
}
.coming p{
    font-size: 13px;
    /*letter-spacing: 4px;*/

}
.coming span{
    font-size: 15px;
    letter-spacing: 0;

}
.coming i{
    font-size: 11px;
    letter-spacing: 0;

}
@media screen and (min-width:810px) {
    .coming{
        width: 88px;
        padding: 10px;
    }
    .coming p{
        font-size: 16px;
        letter-spacing: 0;
        /*letter-spacing: 6px;*/
    
    }
    .coming span{
        font-size: 18px;
        letter-spacing: 0;
    
    }
    .coming i{
        font-size: 13px;
        letter-spacing: 0;
    
    }
}
.din{
font-family: "urw-din", sans-serif;
font-weight: 500;
font-style: normal;
}

.min-font{
    font-family: 'Noto Serif JP', serif;
}
.min-font.border{
    padding: 10px;
    font-size: 34px;
    line-height: 44px;
    margin: 50px auto 30px auto;
    position: relative;
}

@media (max-width:767px) {
.min-font.border{
 font-size: 22px;
    line-height: 34px;
}


}
.min-font.border:after{
    content: '';
    width: 60%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #4c3d36;
}

span,.min-font{
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding: 0 0 16px 0;
}

@media (min-width:768px) {
span,.min-font{
    font-size: 24px;
}
}



    .flex.comitem_wrap{
        flex-direction: column;
    }
    .flex.comitem_wrap .left,
.flex.comitem_wrap .right{
    width: 85%;
}


@media screen and (min-width:810px) {
    .flex.comitem_wrap{
        width: 100%;
        flex-direction: row;

    }
.flex.comitem_wrap .left{
    width: 45%;
    
}
.flex.comitem_wrap .right{
    width: 52%;
    
}

}

@media screen and (min-width:992px) {
.flex.comitem_wrap{
    width: 100%;

}

}



.flex.comitem_wrap .g-ul li{
    border-bottom: solid 1px #4c3d36;
    display: flex;
  align-items: center;
  justify-content: space-between;
}
.flex.comitem_wrap .g-ul li:first-child{
    border-top: solid 1px #4c3d36;
}
.flex.comitem_wrap .g-ul li p{
font-weight: bold;
}

@media (max-width:767px) {
    .gift-text8{
        display: block;
        margin: 30px auto;
    }
    .section1 .gift-text8{
        margin: 0 auto 30px auto;
    }
.flex.comitem_wrap .g-ul li{
    flex-direction: column;

}
.flex.comitem_wrap .g-ul li:first-child a{
    display: none;
}

}

.flex.img{
    justify-content: space-between;
    flex-direction: row;
}
@media (min-width:810px) {
.flex.img{
    width: 90%;
    align-items: flex-start;
}
}
@media (min-width:992px) {
.flex.img{
    width: 100%;
    
}
}
.flex.img .items{
    width: 31.5%;
}
.flex.img .items strong{
    display: block;
    padding: 10px;
    text-align: center;
}

@media (max-width:767px) {
.flex.img{
    flex-direction: column;
}
.flex.img .items{
    width: 80%;
    margin: 0 auto 30px auto;
}

}



@media (min-width:1081px) {
.flex.comitem{
   flex-direction: row;
   justify-content: space-between;
}
}


.flex.comitem img{
    width: 40%;
}

.flex.comitem table{
    width: 55%;
    color: #4c3d36;
}
.flex.comitem table caption{
    text-align: left;
}

@media (max-width:767px) {
.flex.comitem table{
    width: 100%;
    margin: 30px auto 0 auto;
}
.flex.comitem table caption{
    text-align: center;
}
}

@media (min-width:768px) {
.flex.comitem {
    flex-direction: column;
}
.flex.comitem img{
    width: 40%;
}
.flex.comitem table{
    width: 100%;

}

}
@media (min-width:992px) {
    .flex.comitem {
        flex-direction: row;

    }
    .flex.comitem img{
        width: 35%;
    }
.flex.comitem table{
width: 55%;
margin: 30px auto;
}
}
.flex.comitem .table01 tr th,
.flex.comitem .table01 tr td{
    color: #4c3d36;
}











.flex.spc{
    justify-content: space-between;
    align-items: center;
    margin: 60px auto 40px auto;
}
@media (min-width:810px) {
.flex.spc{
    width: 100%;
    flex-direction: row;
}
}
@media (min-width:992px) {
.flex.spc{
    width: 100%;
    align-items: stretch;

}
}


.flex.spc .img{
    width: 30%;
}
.flex.spc .txt{
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.flex.spc .txt div{
    width: 100%;
}
.flex.spc .flex{
margin: 0px auto;
}




@media (max-width:767px) {
.flex.spc{
 flex-direction: column;
 width: 80%;
 margin: 0 auto 80px auto;
}

.flex.spc .img{
    width: 100%;
    display: block;
    margin: 0 auto 30px auto;
}
.flex.spc .txt{
    width: 100%;
}

.flex.spc .txt .gift-text5,
.flex.spc .txt .gift-text6{
    text-align: right;
}


}

.flex.kantei span,
.flex.kantei strong
{
    display: block;
    text-align: left;
    color: #fff;

}
.flex.kantei span{
    font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: 28px;
  padding: 10px 0;
}
.flex.kantei strong{
    font-size: 24px;
    padding: 20px 0;
}
.flex.kanteigift .left .gift-text8{
    text-align: left;
    font-size: 24px;
    line-height: 40px;

}

@media (max-width:767px) {
    
.flex.kanteigift .left .gift-text8{

    font-size: 16px;
    line-height: 34px;
    width: 100%;
    text-align: center;

}


}

.flex.kanteigift .left.min{
    
    position: relative;
}
.flex.kanteigift .left .point{
    position: absolute;
    top: -60px;
    right: 0;
    width: 120px;
    height: auto;
}
.flex.kanteigift .left.min .inner{
    width: 70%;
    margin:  0 auto;
}
@media (max-width:767px) {
.flex.kanteigift .left .point{
width: 80px;
top: -30px;
right: 20px;
}
.flex.kanteigift .left.min .inner{
    width: 90%;

}
.g-ul a, .gift-text .gift-text2 a{
    margin: 10px auto 0 auto;
}

}

@media (min-width:810px) {
.flex.kanteigift{
    flex-direction: row;

}
}


.span02{
font-family: "Quattrocento Sans", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
font-size: 14px !important;
line-height: 30px !important;
text-align: center !important;
padding: 0 !important;
}


@media (min-width:922px) {
    .pcnone{
        display: none;
    }
    
}

h2.Specialist{
    display: block;
    margin: 60px auto 0 auto;
}

@media (min-width:922px) {
    h2.Specialist{
        display: block;
        margin: 120px auto 0 auto;
    }
}


.gift-button2 a:hover,
.gift-button a:hover{
    color: #fff;
    opacity: 0.8;
}

ul.nm_wht {
    padding-left: 10px;
}
ul.nm_wht li{
    color: #fff;
    list-style-type: disc;
}