    .header_wrap {
        padding: 5px 0 6.3px;
        position: relative;
        width: 100%;
        background: #FFF;
    }
    .header_logo_wrap {
        width: 148.56px;
    }
    .header_logo {
        font-size: 0;
    }
    .header_right {
        width: calc(100% - 149px);
        position: relative;
    }
    .nav-ham span {
    	display: block;
    	width: 100%;
    	height: 2px;
    	background-color: #000;
    	position: absolute;
    	transition: transform 0.5s, opacity 0.5s, width 0.3s;
    }
    .pcmenu_nav {
        display: none;
    }
    .nav-ham span:nth-child(1) {
    	top: 0;
    }
    .nav-ham span:nth-child(2) {
    	top: 0;
    	bottom: 0;
    	margin: auto;
    }
    .nav-ham span:nth-child(3) {
    	bottom: 0;
    }
    .sp-nav-layout {
    	position: fixed;
    	top: 0;
    	right: 0;
    	width: 100%;
    	height: 100vh;
    	color: #ffffff;
    	display: flex;
    	justify-content: center;
    	visibility: hidden;
    	opacity: 0;
    	transform: translateX(100%);
    	transition: 0.5s ease-in-out;
    	z-index: 50;
    }
    .sp-nav-layout::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        backdrop-filter: blur(10px);
        background: rgba(255, 255, 255, .5);
    }
    .sp_nav_in {
        position: relative;
        z-index: 5;
    }
    .sp-nav-layout ul {
    	text-align: center;
    	list-style: none;
    	padding: 0;
    	margin: 90px 0 0;
    }
    .sp-nav-layout ul li {
    	position: relative;
    	margin-bottom: 26px;
    }
    .sp-nav-layout ul li a {
    	font-size: 15px;
    	color: #413D3C;
    	letter-spacing: .02em;
    	font-weight: 400;
    }
    /*sp nav*/
    .nav-ham {
    	display: block;
    	position: absolute;
    	top: 50%;
    	right: 20px;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 24px;
    	height: 16px;
    	cursor: pointer;
    	z-index: 100;
    }
    .open .nav-ham {
    	/*position: fixed;*/
    }
    .open .nav-ham span:nth-child(1) {
    	transform: translateY(7px) rotate(30deg);
    }
    .open .nav-ham span:nth-child(2) {
    	top: 0;
    	bottom: 0;
    	margin: auto;
    	width: 0px;
    	opacity: 0;
    }
    .open .nav-ham span:nth-child(3) {
    	transform: translateY(-7px) rotate(-30deg);
    }
    .open .sp-nav-layout {
    	visibility: visible;
    	opacity: 1;
    	transform: translateX(0);
    }
    .open .sp-nav-layout ul li {
    	transform: translateX(0);
    }
    .sp_nav_logo {
        font-size: 0;
        text-align: center;
    }
    .sp_nav_logo img {
        width: 140px;
    }
    .fv_wrap {
        overflow: hidden;
    }
    .fv_swiper .swiper-slide {
        font-size: 0;
    }
    .concept_wrap {
        padding: 57px 0 43px;
    }
    .lv2_wrap {
        text-align: center;
        margin: 0 0 47.8px;
    }
    .lv2_wrap h2 {
        font-family: "Forum", serif;
      font-weight: 400;
      font-style: normal;
      color: #413D3C;
      font-size: 15px;
    }
    .concept_left {
        padding: 0 18.1px;
        position: relative;
        z-index: 5;
    }
    .concept_logo {
        font-size: 0;
        margin-bottom: 26.6px;
    }
    .concept_logo img {
        width: 91.57px;
    }
    .concept_h {
        font-size: 22px;
        line-height: 39px;
        font-weight: 500;
        margin-bottom: 31.4px;
    }
    .concept_txt1 {
        font-weight: 500;
        line-height: 40px;
    }
    .concept_img1 {
        font-size: 0;
        padding: 0 0 0 11.73%;
    }
    .concept_right {
        position: relative;
        z-index: 1;
        margin: -105px 0 0;
    }
    .concept_flex {
        margin-bottom: 22px;
    }
    .point_wrap {
        position: relative;
    }
    .point_in {
        position: relative;
    }
    .point_img1 {
        font-size: 0;
        position: absolute;
        z-index: 1;
        width: 86.666%;
        left: 0;
        top: 0;
    }
    .point_img2 {
        font-size: 0;
        position: absolute;
        z-index: 1;
        width: 15.466%;
        right: 7.2%;
        bottom: 0;
    }
    .point_content {
        position: relative;
        z-index: 5;
        padding: 94.8px 27.5px 67.2px;
    }
    .point_block_num {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 53px;
        height: 53px;
        border-radius: 50%;
        background: #F6F0EF;
        font-size: 17px;
    }
    .point_block_h {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 18px;
        line-height: 22px;
        margin-bottom: 19px;
    }
    .point_block_h > .txt {
        display: inline-block;
        width: calc(100% - 63px);
    }
    .point_block_txt {
        line-height: 30px;
    }
    .point_block {
        margin-top: 59.2px;
    }
    .lineup_wrap {
        position: relative;
        overflow: hidden;
        margin-bottom: 82.6px;
    }
    .lineup_wrap::before {
        content: "";
        position: absolute;
        z-index: 1;
        width: 143.2%;
        height: 100%;
        top: 0;
        left: 50%;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    	background: #F8F8F8;
    	border-radius: 999999px;
    }
    .lineup_in {
        position: relative;
        z-index: 5;
        padding: 60.6px 15px 150px;
    }
    .lineup_in .lv2_wrap {
        margin-bottom: 68.9px;
    }
    .productcard {
        text-align: center;
        cursor: pointer;
    }
    .productcard_img {
        font-size: 0;
        margin-bottom: 30.5px;
    }
    .productcard_img img {
        width: 196px;
    }
    .productcard_tag {
        margin-bottom: 11px;
    }
    .productcard_tag > span {
        display: inline-block;
        border-radius: 999px;
        background: #FFF;
        font-weight: 600;
        font-size: 13px;
        border: 1px solid #413D3C;
        line-height: 1.2;
        padding: 2px 8px;
        letter-spacing: .04em;
    }
    .productcard_txt1 {
        font-family: "Forum", serif;
        font-size: 20px;
        line-height: 1.2;
    }
    .productcard_txt2 {
        font-size: 14px;
        letter-spacing: .04em;
    }
    .sp_lineup_swiper .swiper-button-prev {
        width: 6px;
        padding: 0;
        margin: 0;
        top: 38%;
        left: 30px;
    }
    .sp_lineup_swiper .swiper-button-prev::after {
        display: none;
    }
    .sp_lineup_swiper .swiper-button-next {
        width: 6px;
        padding: 0;
        margin: 0;
        top: 38%;
        right: 30px;
    }
    .sp_lineup_swiper .swiper-button-next::after {
        display: none;
    }
    .sp_lineup_swiper {
        position: relative;
    }
    .sp_lineup_swiper .swiper-pagination {
        bottom: -45px;
    }
    .sp_lineup_swiper .swiper-pagination .swiper-pagination-bullet {
        width: 5px;
        height: 5px;
        opacity: 1;
        background: #CCC;
    }
    .sp_lineup_swiper .swiper-pagination .swiper-pagination-bullet-active {
        background: #999;
    }
    .about_wrap {
        padding: 0 17.6px 107.7px;
    }
    .about_wrap .lv2_wrap {
        margin-bottom: 26px;
    }
    .about_left {
        text-align: center;
    }
    .about_img {
        font-size: 0;
        margin-bottom: 20px;
    }
    .about_img img {
        width: 169px;
    }
    .about_name .ja {
        display: inline-block;
        font-size: 16px;
        margin: 0 19.5px 0 0;
    }
    .about_name .en {
        display: inline-block;
        font-size: 14px;
        letter-spacing: .04em;
    }
    .about_name {
        margin-bottom: 5px;
    }
    .about_name_title {
        font-size: 13px;
    }
    .about_name_wrap {
        margin-bottom: 19.2px;
    }
    .about_snsbtn_wrap {
        margin: 0 auto;
        max-width: 200px;
    }
    .about_snsbtn {
        width: 100%;
        max-width: 200px;
        margin-bottom: 10px;
    }
    .about_snsbtn a {
        display: inline-block;
        width: 100%;
        background: #F6F0EF;
        border: 1px solid #413D3C;
        border-radius: 9999px;
        text-align: center;
        font-size: 12px;
        letter-spacing: .04em;
        padding: 10px 10px;
    }
    .about_left {
        margin: 0 0 28.8px;
    }
    .about_txt1 {
        line-height: 2;
        margin-bottom: 41px;
    }
    .about_book_wrap {
        text-align: center;
    }
    .about_book_h {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .about_book_img {
        font-size: 0;
        margin-bottom: 31px;
    }
    .about_book_txt {
        text-align: right;
        font-size: 13px;
        letter-spacing: .04em;
    }
    .footer_wrap {
        text-align: center;
        padding: 0 15px 97px;
    }
    .footermenu {
        padding: 0;
        list-style: none;
    }
    .footermenu li {
        font-size: 15px;
        margin: 0 0 30px;
    }
    .footer_logo img {
        width: 140px;
    }
    
    .modalcard {
        position: fixed;
        top: 50%;
    	left: 50%;
    	transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);
    	-ms-transform: translate(-50%, -50%);
    	z-index: 50;
    	width: calc(100% - 7.5px);
    	display: none;
    	max-width: 1000px;
    }
    .modalcard.active {
        display: block;
    }
    .modalcard::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(10px);
        background: rgba(255, 255, 255, .7);
        border-radius: 30px;
        z-index: 1;
    }
    .modalcard_in {
        position: relative;
        z-index: 5;
        padding: 31px 11px 43px 18px;
    }
    .modalcard_close {
        font-size: 0;
        width: 38px;
        position: absolute;
        z-index: 5;
        top: 12px;
        right: 12px;
        cursor: pointer;
    }
    .modalcard_left {
        width: 39%;
        margin-bottom: 45px;
    }
    .modalcard_right {
        width: 56%;
        padding: 10px 0 0;
        margin-bottom: 45px;
    }
    .modalcard_tag {
        margin-bottom: 12px;
    }
    .modalcard_tag > span {
        display: inline-block;
        border-radius: 999px;
        background: #FFF;
        font-weight: 600;
        font-size: 11px;
        border: 1px solid #413D3C;
        line-height: 1.2;
        padding: 2px 8px;
        letter-spacing: .04em;
    }
    .modalcard_name1 {
        font-family: "Forum", serif;
        line-height: 1.2;
    }
    .modalcard_name2 {
        font-size: 12px;
    }
    .modalcard_price {
        font-family: "Forum", serif;
        font-size: 14px;
        margin-bottom: 14px;
    }
    .modalcard_btn a {
        display: inline-block;
        width: 100%;
        border-radius: 999px;
        background: #F6F0EF;
        text-align: center;
        border: 1px solid #413D3C;
        font-weight: 600;
        font-size: 13px;
        max-width: 171px;
        line-height: 1.2;
        padding: 5px 5px;
    }
    .modalcard_spcontent {
        width: 100%;
    }
    .modalcard_txt1 {
        line-height: 2;
        margin-bottom: 55px;
    }
    .modalcard_txt2 {
        font-size: 10px;
        letter-spacing: .04em;
    }
    
    
    
    @media screen and (min-width: 768px) {
        .nav-ham, .sp-nav-layout {
            display: none;
        }
        .pcmenu_nav {
            display: block;
        }
        .header_wrap {
            padding: 32px 20px;
        }
        .header_flex {
            margin: 0 auto;
            max-width: 1664px;
            align-items: center;
        }
        .header_logo_wrap {
            width: 270px;
        }
        .header_right {
            width: calc(100% - 270px);
            text-align: right;
        }
        .pcmenu {
            padding: 0;
            list-style: none;
        }
        .pcmenu li {
            display: inline-block;
            font-size: 29px;
            margin: 0 0 0 57px;
        }
        .concept_wrap {
            padding: 143.4px 0 150px;
        }
        .lv2_wrap {
            margin-bottom: 101.3px;
        }
        .lv2_wrap h2 {
            font-size: 30px;
        }
        .concept_left {
            width: 47%;
            padding: 0 0 0 15px;
            text-align: right;
            margin: 0;
        }
        .concept_left_in {
            width: 100%;
            max-width: 422px;
            display: inline-block;
            text-align: left;
        }
        .concept_logo img {
            width: 135.33px;
        }
        .concept_logo {
            margin-bottom: 48.6px;
        }
        .concept_h {
            margin-bottom: 46.1px;
            font-weight: 600;
        }
        .concept_txt1 {
            line-height: 2;
        }
        .concept_right {
            width: 53%;
            padding: 40px 0 0;
            margin: 0;
        }
        .concept_img1 {
            padding: 0;
            width: calc(100% + 50px);
            max-width: calc(100% + 50px);
            margin-left: -50px;
        }
        .concept_flex {
            margin-bottom: 105px;
        }
        .point_wrap {
            padding: 0 15px;
        }
        .point_in {
            margin: 0 auto;
            max-width: 1529px;
        }
        .point_content {
            padding: 0 0 270px;
        }
        .point_img1 {
            left: 0;
            top: 15px;
            width: 47%;
        }
        .point_img2 {
            right: 0;
            bottom: 63px;
            width: 13%;
        }
        .point_block_num {
            width: 93.52px;
            height: 93.52px;
            font-size: 30px;
        }
        .point_block_h {
            font-size: 22px;
            margin: 0;
        }
        .point_block_h > .txt {
            width: calc(100% - 123px);
        }
        .point_block_txt {
            padding: 0 0 0 123px;
            margin: -10px 0 0;
        }
        .point_block {
            margin: 164px 0 0;
            max-width: 728px;
        }
        .point_block1 {
            margin-top: 0;
            margin-left: 37%;
        }
        .point_block2 {
            margin-left: 41%;
        }
        .point_block3 {
            margin-left: 36%;
        }
        .lineup_wrap::before {
            display: none;
        }
        .lineup_wrap {
            background: #F8F8F8;
            border-radius: 9999999px;
        }
        .lineup_in {
            padding: 143.6px 15px 165px;
        }
        .lineup_in .lv2_wrap {
            margin-bottom: 127.4px;
        }
        .pc_lineup_flex {
            margin: 0 auto;
            max-width: 928.8px;
        }
        .productcard {
            width: 355px;
            margin: 0 0 140px;
        }
        .productcard:nth-child(2n) {
            transform: translateY(388px);
        	-webkit-transform: translateY(388px);
        	-ms-transform: translateY(388px);
        }
        .productcard_img img {
            width: 100%;
        }
        .productcard_img {
            margin-bottom: 61px;
        }
        .productcard_tag {
            margin-bottom: 11px;
        }
        .productcard_tag > span {
            font-size: 14px;
            padding: 6px 2.4em;
        }
        .productcard_txt1 {
            margin-bottom: 10px;
            font-size: 22px;
        }
        .productcard_txt2 {
            font-size: 14px;
        }
        .about_wrap {
            padding: 0 15px 152px;
        }
        .about_wrap .lv2_wrap {
            margin-bottom: 62.4px;
        }
        .about_flex {
            margin: 0 auto;
            max-width: 1002px;
        }
        .about_left {
            width: 38%;
            margin: 0;
            padding: 0;
        }
        .about_right {
            width: 56%;
            margin: 0;
            padding: 40px 0 0;
        }
        .about_img img {
            width: 100%;
        }
        .about_img {
            margin-bottom: 27px;
        }
        .about_snsbtn_wrap {
            width: 100%;
            max-width: 210px;
        }
        .about_snsbtn {
            width: 100%;
            max-width: 100%;
            margin: 0 0 30.3px;
        }
        .about_snsbtn a {
            font-size: 16px;
        }
        .about_name .ja {
            font-size: 20px;
            margin-right: 37.4px;
        }
        .about_name .en {
            font-size: 18px;
        }
        .about_name {
            margin-bottom: 19px;
        }
        .about_name_title {
            font-size: 18px;
            margin-bottom: 38px;
        }
        .about_txt1 {
            line-height: 30px;
            margin-bottom: 117px;
        }
        .about_book_h {
            text-align: left;
            font-size: 19px;
            margin-bottom: 30px;
        }
        .about_book_img {
            margin-bottom: 80px;
        }
        .about_book_txt {
            font-size: 18px;
        }
        .footer_wrap {
            padding: 20px 20px;
        }
        .footer_flex {
            margin: 0 auto;
            max-width: 1653px;
            flex-direction: row-reverse;
            align-items: center;
        }
        .footer_logo_wrap {
            width: 270px;
        }
        .footer_logo img {
            width: 100%;
        }
        .footer_right {
            text-align: right;
            width: calc(100% - 270px);
        }
        .footermenu li {
            display: inline-block;
            font-size: 24px;
            margin: 0 0 0 68px;
        }
        
        .modalcard_in {
            padding: 60px 70px;
        }
        .modalcard_close {
            top: 22px;
            right: 22px;
            width: 38px;
        }
        .modalcard_left {
            width: 42.6%;
            padding: 0;
            margin: 0;
        }
        .modalcard_right {
            width: 52.5%;
            padding: 20px 0 0;
            margin: 0;
        }
        .modalcard_tag {
            margin-bottom: 10px;
        }
        .modalcard_tag > span {
            font-size: 13px;
            padding: 5px 20px 4px;
        }
        .modalcard_name1 {
            font-size: 25px;
        }
        .modalcard_name2 {
            font-size: 16px;
        }
        .modalcard_price {
            font-size: 25px;
        }
        .modalcard_name_wrap {
            margin-bottom: 27.2px;
        }
        .modalcard_txt1 {
            font-size: 14px;
            line-height: 24.5px;
            margin-bottom: 80px;
        }
        .modalcard_txt2 {
            font-size: 13px;
            margin-bottom: 10px;
        }
        .modalcard_btn {
            text-align: right;
        }
        .modalcard_btn a {
            font-size: 16px;
            width: 190px;
            max-width: 190px;
        }
        
    }
    
    
    .visually-hidden {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
      }
      
    
    
    @media screen and (min-width: 1080px) {
    }
    
    
    
    
