@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP:wght@400;600;700&family=Quattrocento:wght@400;700&display=swap');

/*
Theme Name: koyomegane_tm
Theme URI: 
Description: This is our original theme.
Author: 
Author URI: 
Version: 1.1
*/

*{
    box-sizing: border-box;
}

html {
    font-size: 10px;
    font-size: 62.5%;
}

body{
    line-height: 1.8;
    color: #000;
    background: #fff;
    -webkit-text-size-adjust: 100%;
    position: relative;
    font-family: 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}

.body_wrap{
    min-width: 1100px;
    overflow-x: hidden;
}

.f-en{
    /*font-family: 'Roboto Condensed', sans-serif;*/
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    letter-spacing: 2px;
    font-weight: 700;
    
}

/*single markup style*/

.single_news_content {
	overflow: hidden;
	margin-bottom: 30px;
}

.single_news_content p {
	margin-bottom: 40px;
	line-height: 1.75;
	font-size: 14px;
}

.single_news_content em {
	font-style: italic;
}

.single_news_content img {
	max-width: 100%;
	height: auto;
}

.single_news_content img.alignright {
	float: right;
	margin: 0 0 15px 15px;
	display: block;
}

.single_news_content img.alignleft {
	float: left;
	margin: 0 15px 15px 0;
	display: block;
}

.single_news_content img.aligncenter {
	display: block;
	margin: 0 auto 15px;
}

.single_news_content h1,
.single_news_content h2 {
	font-size: 22px;
	padding: 9px 16px;
	margin: 0 0 30px;
	background: #F5F5F5;
	line-height: 1.5;
	letter-spacing: 1.8px;
}

.single_news_content h3 {
	font-size: 20px;
	border-bottom: 1px solid #C9C9C9;
	margin: 0 0 30px;
	padding-bottom: 5px;
	line-height: 1.8;
	letter-spacing: 1.8px;
}

.single_news_content h4 {
	font-weight: bold;
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 1.8px;
	margin: 0 0 25px;
}

.single_news_content h5,
.single_news_content h6 {
	font-size: 16px;
	margin: 0 0 30px;
	color: #205288;
	line-height: 1.8;
	letter-spacing: 1.8px;
}

.single_news_content td {
	padding: 10px;
	border: 1px solid;
}

.single_news_content table {
	margin-bottom: 25px;
}

.single_news_content ul,
.single_news_content ol {
	padding-left: 1.3em;
	margin-bottom: 25px;
}

.single_news_content li {
	list-style-type: inherit;
}

.single_news_content ul li {
	list-style: square;
	margin-bottom: 10px;
	line-height: 1.4;
}

.single_news_content ol li {
	margin-bottom: 10px;
	line-height: 1.4;
}

.single_news_contentt a {
	text-decoration: underline;
	color: #000000;
}

.single_news_content a[href$='.pdf'] {
	padding-right: 25px;
	background: url(../img/news/icon_pdf.svg) no-repeat right top;
	background-size: 20px;
}

.single_news_content a[href$='.xls'] {
	padding-right: 25px;
	background: url(../img/news/icon_xlsx.svg) no-repeat right top;
	background-size: 20px;
}

.single_news_contenta[href$='.doc'] {
	padding-right: 25px;
	background: url(../img/news/icon_doc.svg) no-repeat right top;
	background-size: 20px;
}

.flex{
    display: flex;
    flex-wrap: wrap;
}

.flex.reverse{
    flex-direction: row-reverse;
}

.ps_re{
    position: relative;
    z-index: 0;
}

.ps_ab{
    position: absolute;
}

br.s_up{
    display: none;
}
@media screen and (max-width: 750px){
    br.s_up{
        display: block !important;
    }
}

.wrap{
    max-width: 1000px;
    margin: 0 auto;
}

.text{
    font-size: 1.4rem;
}

.o_fit img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;";
}

a{
    color: #222;
    transition: .2s;
}
a.tel_link{
    pointer-events: none;
}
@media screen and (max-width: 750px){
    a.tel_link{
        pointer-events: initial;
    }
}
.more_btn{
    display: inline-block;
    position: relative;
    pointer-events: none;
}
.more_btn::after{
    content: "";
    background: url(img/cmn/btn_arrrow.png) no-repeat center center / contain;
    width: 44px;
    height: 7px;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 19px;
    transition: .2s;
    pointer-events: none;
}
.more_btn:hover::after{
    right: 10px;
}
.more a{
    position: relative;
    display: block;
    width: 350px;
    padding: 15px 0;
    margin: 0 auto;
    border: 1px solid #000;
    -webkit-transition: .5s;
    transition: .5s;
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    pointer-events: auto;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.more a:hover{
    opacity: 1;
}
.more a::before {
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
    bottom: -7px;
    height: 1px;
    right: -6px;
    width: calc(100% + 2px);
    pointer-events: none;
}
.more a::after{
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
    top: 4px;
    right: -7px;
    height: calc(100% + 3px);
    width: 1px;
    pointer-events: none;
}
.more a:hover::before {
    width: 0;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.more a:hover::after {
    height: 0;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}
img.ajax_loading{
    position: absolute;
    transform: translate(-50%,100%);
    bottom: -20px;
    left: 50%;
}

.quatt{
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.title{
    text-align: center;
    margin-bottom: 36px;
}
.title_text{
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.o_fit img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}


/* フェードイン */
.fadein {
    opacity: 0;
    transform: translateY(45px);
    transition: opacity 1s ease-in-out, transform 0.5s ease-in-out;
}
.fadein.active {
    opacity: 1;
    transform: translateY(0);
}

/* HEADER */
#header{
    position: relative;
    padding: 30px 34px 27px;
}
#header .logo{
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    top: 15px;
}
#header .logo img{
    width: 125px;
}
#header .en_sp{
    display: none;
}
#header .header_top{
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin-bottom: 98px;
}
#header .header_top .sns_menu .more_btn::after{
    display: none;
}
#header .header_top .sns_menu .more a{
    width: 90px;
    line-height: 1;
    padding: 6px 0;
    font-size: 1.4rem;
    letter-spacing: 0;
}
#header .header_top .sns_menu .more a::before{
    bottom: -5px;
    right: -5px;
}
#header .header_top .sns_menu .more a::after{
    top: 2px;
    right: -5px;
}
#header .header_top .sns_menu{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#header .header_top .sns_menu .ul{
    display: flex;
    flex-wrap: wrap;
    margin-right: 14px;
    position: relative;
    bottom: -2px;
}
#header .header_top .sns_menu .ul .li:not(:last-child){
    margin-right: 10px;
}
#header .header_top .sns_menu .ul .li a img{
    width: 26px;
}
#header .header_menu .ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#header .header_menu a{
    font-size: 1.6rem;
    position: relative;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif !important;
}
#header .header_menu a:hover{
    opacity: 1;
}
#header .header_menu a::after{
    content: "";
    background-color: #000;
    height: 1px;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    bottom: -10px;
    width: 0;
    transition: .2s;
}
#header .header_menu a:hover::after{
    width: 40px;
}
.nav_toggle{
    display: none;
}


/* FOOTER */
#footer{
    padding-top: 115px;
}
#footer .title{
    margin-bottom: 40px;
}
#footer .footer_top{
    position: relative;
    z-index: 0;
    padding-bottom: 100px;
}
#footer .footer_top::before{
    content: "";
    background-color: #F6F6F6;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 75%;
    z-index: -1;
    position: absolute;
}
#footer .footer_top .flex{
    justify-content: space-between;
}
#footer .footer_top .flex>div{
    width: 48%;
}
#footer .footer_top .map iframe{
    width: 100%;
    height: 410px;
    vertical-align: bottom;
}
#footer .footer_top .info .address img{
    width: 16px;
    position: absolute;
    top: 1px;
    left: 0;
}
#footer .footer_top .info .address{
    position: relative;
    padding-left: 29px;
    font-size: 1.2rem;
    margin-top: 18px;
    line-height: 1.78;
}
#footer .footer_top .info .address span{
    font-size: 1.4rem;
}
#footer .footer_top .info .text{
    line-height: 2.3;
    margin-top: 5px;
}
#footer .footer_top .calendar{
    margin-top: 23px;
    padding: 0 0;
}
#footer .footer_bottom{
    background-color: #333;
    padding-bottom: 50px;
}
#footer .footer_menu{
    padding: 25px 0 23px;
    border-bottom: 1px solid #666;
}
#footer .footer_menu .ul{
    display: flex;
    flex-wrap: wrap;
    max-width: 852px;
    margin: 0 auto;
    justify-content: space-between;
}
#footer .footer_menu .ul .li a{
    color: #fff;
    font-size: 1.4rem;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
#footer .footer_bottom .footer_logo img{
    width: 74px;
}
#footer .footer_bottom .footer_logo{
    margin: 30px 0 17px;
    text-align: center;
}
#footer .footer_bottom .footer_sns{
    margin: 0 0 17px;
    text-align: center;
}
#footer .footer_bottom .footer_sns a{
  display: inline-block;
  width:26px;
  margin:0 5px;
}

#footer .footer_bottom .text{
    text-align: center;
    font-size: 1.2rem;
    color: #fff;
}
#footer .footer_bottom .copyright{
    text-align: center;
    font-size: 1rem;
    margin-top: 22px;
    color: #fff;
}
#pagetop{
    position: fixed;
    bottom: 25px;
    right: 30px;
    z-index: 999;
}
#pagetop a{
    position: relative;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}
#pagetop a:hover{
    opacity: 1;
}
#pagetop img{
    width: 7px;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translate(-50%,-100%);
    pointer-events: none;
    transition: .2s;
}
#pagetop:hover img{
    transform: translate(-50%,-115%);
}


/* TOP */
.mv{
    position: relative;
    padding-bottom: 44px;
    z-index: 0;
}
.mv::before{
    content: "";
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 88%;
    background-color: #F6F6F6;
    z-index: -1;
}
.mv_thumb_slider{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
}
.mv_thumb_slider .mv_thumb_slider_item{
    cursor: pointer;
    overflow: hidden;
    transition: .2s;
}
.mv_thumb_slider .mv_thumb_slider_item:hover{
    transform: scale(0.95);
}
.mv_thumb_slider .mv_thumb_slider_item:hover img{
    transform: scale(1.1);
}
.mv_thumb_slider .mv_thumb_slider_item img{
    transition: .2s;
}
.mv_thumb_slider .mv_thumb_slider_item:not(:last-child){
    margin-right: 24px;
}
.mv_thumb_slider_item img{
    width: 160px;
}

.home_sec01 .more{
    margin-top: 40px;
}
.home_sec01{
    text-align: center;
    padding: 110px 0 120px;
}
.home_sec01 img.ps_ab.n1{
    width: 517px;
    left: 0;
    transform: translateX(-264px);
    top: -30px;
}
.home_sec01 img.ps_ab.n2{
    width: 608px;
    right: 0;
    transform: translateX(365px);
    top: -7px;
}
.home_sec01 .text{
    text-align: center;
}
.home_sec01 .text.top{
    font-size: 2rem;
    position: relative;
    margin-bottom: 10px;
    display: inline-block;
    z-index: 0;
}
.home_sec01 .text.top::before,
.home_sec01 .text.top::after{
    content: "";
    width: 25px;
    height: 18px;
    position: absolute;
    top: 0;
    z-index: -1;
}
.home_sec01 .text.top::before{
    background: url(img/frontpage/quote_left.png) no-repeat center center / contain;
    left: -40px;
}
.home_sec01 .text.top::after{
    background: url(img/frontpage/quote_right.png) no-repeat center center / contain;
    right: -25px;
}
.home_sec01 .text:not(.top){
    line-height: 2.86;
}
.home_sec01 .sp_img{
    display: none;
}
.home_sec02{
    padding-top: 110px;
}
.home_sec02 .title{
    margin-bottom: 95px;
}
.home_sec02 .snap_slider .snap_slider_item img{
    transition: 1s;
}
.home_sec02 .snap_slider .slick-list{
    overflow: initial;
}
.home_sec02 .snap_slider .slick-slide{
    margin: 0 25px;
    width: 268px;
    transition: .2s;
    transform-origin: bottom;
}
.home_sec02 .snap_slider .slick-current{
    transform: scale(1.14179);
}
.home_sec02 .snap_slider .slick-slide>div{
    height: 100%;
}
.home_sec02 .snap_slider .snap_slider_item{
    margin: 0;
    overflow: hidden;
    transition: .2s;
    height: 100%;
}
.home_sec02 .snap_slider .snap_slider_item:hover{
    transform: scale(0.95);
}
.home_sec02 .snap_slider .snap_slider_item a{
    display: inline-block;
}
.home_sec02 .snap_slider .snap_slider_item a:hover{
    opacity: 1;
    transform: scale(1.1);
}
.home_sec02 .snap_slider .snap_slider_item img{
    display: inline-block;
}
.home_sec02 .snap_slider .slide_arrow{
    position: absolute;
    bottom: -106px;
    z-index: 2;
    cursor: pointer;
    transition: .2s;
    width: 70px;
}
.home_sec02 .snap_slider .slide_arrow:hover{
    transform: scale(1.1);
}
.home_sec02 .snap_slider .slide_arrow.prev_arrow{
    left: calc((100% - 1000px)/2);
}
.home_sec02 .snap_slider .slide_arrow.next_arrow{
    right: calc((100% - 1000px)/2);
}
.home_sec02 .more{
    margin-top: 38px;
    text-align: center;
}
.home_sec03{
    padding-top: 108px;
}
.home_sec03 .box,
.home_sec04 .box{
    position: relative;
}
.home_sec03 .text_box,
.home_sec04 .text_box{
    width: 50%;
}
.home_sec03 .text_box .text:not(.top),
.home_sec04 .text_box .text:not(.top){
    line-height: 2.3;
}
.home_sec03 .text_box .text.top,
.home_sec04 .text_box .text.top{
    font-size: 2.2rem;
    margin-bottom: 21px;
}
.home_sec03 .text_box .more,
.home_sec04 .text_box  .more{
    margin-top: 27px;
}
.home_sec03 .text_box{
    padding-left: 33px;
    padding-top: 25px;
    margin-left: auto;
}
.home_sec04 .text_box{
    padding-right: 25px;
    padding-top: 25px;
}
.home_sec03 .img{
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-200px);
}
.home_sec04{
    padding-top: 105px;
}
.home_sec04 .img{
    position: absolute;
    right: 0;
    top: 0;
    transform: translateX(200px);
}
.home_sec03 .img img,
.home_sec04 .img img{
    width: 670px;
}
.home_sec05 .title{
    margin-bottom: 30px;
}
.home_sec05 .flex .box{
    width: 290px;
    margin-right: 60px;
}
.home_sec05 .flex .box:last-child{
    margin-right: 0;
}
.home_sec05 .flex .box .text_box{
    padding-left: 10px;
    padding-bottom: 14px;
}
.home_sec05 .flex .box a{
    display: block;
    position: relative;
}
.home_sec05 .flex .box a:hover{
    opacity: 1;
}
.home_sec05 .flex .box a:hover .thumb img{
    transform: scale(1.4);
}
.home_sec05 .flex .box .thumb{
    height: 210px;
    margin-bottom: 19px;
    overflow: hidden;
}
.home_sec05 .more{
    text-align: center;
    margin-top: 70px;
}
.home_sec05 .flex .box .thumb img{
    transition: .6s;
}
.home_sec05 .flex .box .date{
    font-size: 1.2rem;
}
.home_sec05 .flex .box .news_title{
    font-size: 1.4rem;
    margin: 13px 0 19px;
}
.home_sec05 .flex .box .news_cat{
    display: flex;
    flex-wrap: wrap;
}
.home_sec05 .flex .box .news_cat .cat{
    font-size: 1.2rem;
    background-color: #F6F6F6;
    padding: 10px;
    line-height: 1;
    padding: 4px 9px;
    margin-right: 10px;
}
.home_sec05 .flex .box .read_more{
    font-size: 1.4rem;
    text-align: right;
    margin-top: 18px;
    padding-right: 12px;
}
.home_sec05 .flex .box .read_more img{
    width: 42px;
    vertical-align: baseline;
    margin-left: 7px;
    position: relative;
    top: -2px;
}
.home_sec05 .flex .box a::before {
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
    bottom: -6px;
    height: 1px;
    right: -10px;
    width: 100%;
    pointer-events: none;
}
.home_sec05 .flex .box a::after{
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
    top: 9px;
    right: -10px;
    height: 99%;
    width: 1px;
    pointer-events: none;
}
.home_sec05 .flex .box a:hover::before {
    width: 0;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.home_sec05 .flex .box a:hover::after {
    height: 0;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}


/* PAGE */
.page_mv{
    height: 130px;
    background-color: #F3F3F3;
    margin-top: 3px;
}
.page_mv .flex{
    align-items: center;
    justify-content: center;
    height: 100%;
}
.page_title{
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.breadcrumbs_wrap{
    margin: 10px 0 48px;
}
.breadcrumbs .ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.breadcrumbs li.pan_arrow{
    padding: 0 3px;
}
.breadcrumbs li,
.breadcrumbs span,
.breadcrumbs a{
    font-size: 1.2rem;
}


/* CONCEPT */
.concept_sec01{
    text-align: center;
    position: relative;
    z-index: 0;
    padding-bottom: 80px;
}
.concept_sec01::before{
    content: "";
    background-color: #F6F6F6;
    width: 100%;
    height: 90%;
    left: 0;
    bottom: 0;
    position: absolute;
    z-index: -1;
}
.concept_sec01 .text{
    text-align: center;
    font-size: 1.8rem;
}
.concept_sec01 .text.top{
    font-size: 2.8rem;
    position: relative;
    margin-bottom: 23px;
    display: inline-block;
    z-index: 0;
}
.concept_sec01 .text.top::before,
.concept_sec01 .text.top::after{
    content: "";
    width: 25px;
    height: 18px;
    position: absolute;
    top: 0;
    z-index: -1;
}
.concept_sec01 .text.top::before{
    background: url(img/frontpage/quote_left.png) no-repeat center center / contain;
    left: -40px;
}
.concept_sec01 .text.top::after{
    background: url(img/frontpage/quote_right.png) no-repeat center center / contain;
    right: -25px;
}
.concept_sec01 .text:not(.top){
    line-height: 2.23;
}
.concept_sec01 .img{
    text-align: center;
    margin-bottom: 69px;
}
.concept_sec02 .concept_content .text_box{
    width: 50%;
}
.concept_sec02 .concept_content .flex:nth-of-type(odd) .text_box{
    padding-left: 33px;
    margin-left: auto;
}
.concept_sec02 .concept_content .flex:nth-of-type(odd) .img img{
    /*transform: translateX(-200px);*/
}
.concept_sec02 .concept_content .flex:nth-of-type(even){
    flex-direction: row-reverse;
}
.concept_sec02 .concept_content .flex:nth-of-type(even) .text_box{
    padding-right: 30px;
}
.concept_sec02 .concept_content .flex.n3{
    align-items: center;
}
.concept_sec02 .concept_content .flex.n3 .img{
    width: 69%;
}
.concept_sec02 .concept_content .flex.n3 .text_box{
    width: 31%;
}
.concept_sec02 .concept_content .text.top{
    font-size: 2.2rem;
    line-height: 1.3;
    position: relative;
    padding-bottom: 21px;
    margin-bottom: 16px;
}
.concept_sec02 .concept_content .text.top::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 1px;
    background-color: #707070;
}
.concept_sec02 .concept_content .text.top span{
    font-size: 2.6rem;
    letter-spacing: 0.05em;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    display: block;
}
.concept_sec02 .concept_content .text:not(.top){
    line-height: 2.3;
}
.concept_sec02 .concept_content  .more{
    margin-top: 24px;
}
.concept_sec02 .concept_content .img{
    width: 47%;
}
.concept_sec02 .concept_content .img img{
    /*max-width: 670px;*/
}
.youtube{
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
.concept_sec02 .concept_content .flex{
    justify-content: space-between;
}
.concept_sec02 .concept_content .flex:not(.n1){
    padding-top: 84px;
}
.concept_sec02 {
    padding-top: 77px;
}

/* SCENE */
.instagram{
    padding-top: 80px;
}
.insta_info .box{
    max-width: 754px;
    margin: 0 auto;
    border-bottom: 1px solid #000;
    padding-bottom: 28px;
}
.insta_info .icon_img{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.insta_info .icon_img img{
    width: 24px;
}
.insta_info .icon_img::before,
.insta_info .icon_img::after{
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #000;
}
.insta_info .icon_img::before{
    margin-right: 33px;
}
.insta_info .icon_img::after{
    margin-left: 33px;
}
.insta_info .icon img{
    width: 134px;
}
.insta_info .flex{
    align-items: center;
    max-width: 547px;
    margin: 0 auto;
    justify-content: space-between;
}
.insta_info .icon{
    margin-right: 16px;
}
.insta_info .item{
    display: flex;
    flex-wrap: wrap;
}
.insta_info .text_box .text.top{
    font-size: 2rem;
    font-weight: 600;
    margin: -3px 0 14px;
}
.insta_info .text_box .text{
    font-size: 1.6rem;
}
.insta_info .img{
    width: 223px;
}
.instagram .gallery{
    display: flex;
    flex-wrap: wrap;
}
.instagram .gallery .gallery-item{
    width: 240px;
    height: 240px;
    margin-right: 13px;
    margin-bottom: 12px;
}
.instagram .gallery .gallery-item:nth-of-type(4n){
    margin-right: 0;
}

/* SNAP */
.snap_sec01 .ul{
    display: flex;
    flex-wrap: wrap;
}
.snap_sec01 .ul .li{
    width: 19%;
    margin-right: 1%;
    margin-bottom: 13px;
}
.snap_sec01 .ul .li:nth-of-type(5n){
    margin-right: 0;
}
.snap_sec01 .ul .li>a{
    display: block;
    position: relative;
}
.snap_sec01 .ul .li>a:hover{
    opacity: 1;
}
.snap_sec01 .ul .li>a{
    overflow: hidden;
}
.snap_sec01 .ul .li>a::before{
    content: "";
    background-color: rgba(0,0,0,.5);
    opacity: 0;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: .2s;
    z-index: 1;
    pointer-events: none;
}
.snap_sec01 .ul .li>a img{
    transition: .2s;
}
.snap_sec01 .ul .li>a:hover{
    transform: scale(0.95);
}
.snap_sec01 .ul .li>a:hover::before{
    opacity: 1;
}
.snap_sec01 .ul .li>a:hover .text{
    opacity: 1;
}
.snap_sec01 .ul .li>a:hover img{
    transform: scale(1.15);
}
.snap_sec01 .ul .li>a .text{
    position: absolute;
    width: 100%;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    color: #fff;
    font-size: 1.3rem;
    padding: 15px;
    z-index: 2;
    transition: .2s;
    opacity: 0;
}
.snap_sec01 .more{
    text-align: center;
    margin-top: 35px;
}
.snap_sec01 .more_btn::after{
    background: url(img/snap/arrow.png) no-repeat center center / contain;
    width: 11px;
    height: 13px;
    right: 22px;
}


/* ACCESS */
.access_sec01 .img{
    text-align: center;
    margin-bottom: 45px;
}
.access_sec01 .flex{
    justify-content: space-between;
}
.access_sec01 .flex>div.map{
    width: 48%;
}
.access_sec01 .flex>div.text_box{
    width: 48.3%;
}
.access_sec01 .flex>div.map iframe{
    width: 100%;
    height: 410px;
    vertical-align: bottom;
}
.access_sec01 .flex>div.text_box .table{
    width: 100%;
    margin-top: -4px;
}
.access_sec01 .flex>div.text_box .table .tr:last-child .th,
.access_sec01 .flex>div.text_box .table .tr:last-child .td{
    padding-bottom: 0;
}
.access_sec01 .flex>div.text_box .table .th,
.access_sec01 .flex>div.text_box .table .td{
    font-size: 1.4rem;
    font-weight: normal;
    padding-bottom: 24px;
}
.access_sec01 .flex>div.text_box .table .th{
    border-right: 1px solid #000;
    min-width: 105px;
    width: 105px;
}
.access_sec01 .flex>div.text_box .table .td{
    width: calc(100% - 105px);
    padding-left: 38px;
    line-height: 2;
}
.access_sec01 .flex>div.text_box .more{
    margin-top: 23px;
}

/* CONTACT */
.contact_sec01{
    padding-top: 38px;
}
.contact_sec01 .form_wrap{
    padding-left: 35px;
}
.form_wrap .table{
    width: 100%;
}
.form_wrap .table .th,
.form_wrap .table .td{
    font-size: 1.6rem;
    vertical-align: top;
    padding-bottom: 30px;
    vertical-align: middle;
}
.form_wrap .table .th{
    border-right: 1px solid #000;
    width: 213px;
    min-width: 213px;
    padding-right: 49px;
}
.form_wrap .table .td{
    width: calc(100% - 213px);
    padding-left: 51px;
}
.form_wrap .table .th .must{
    float: right;
    font-size: 1.2rem;
    color: #EB0000;
}
.form_wrap .table .tr:last-child .th{
    vertical-align: top;
}
.form_wrap .table .tr:last-child .th,
.form_wrap .table .tr:last-child .td{
    padding-bottom: 0;
}
.form_wrap input[type="text"],
.form_wrap input[type="tel"],
.form_wrap input[type="number"],
.form_wrap input[type="email"],
.form_wrap input[type="url"]{
    height: 50px;
}
.form_wrap input[type="text"],
.form_wrap input[type="tel"],
.form_wrap input[type="number"],
.form_wrap input[type="email"],
.form_wrap input[type="url"],
.form_wrap textarea{
    -webkit-appearance: none;
    box-shadow: none;
    border: 1px solid #0F0F0F;
    background-color: #fff;
    width: 100%;
    font-size: 1.6rem;
    padding: 0 20px;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
}
.form_wrap textarea{
    resize: none;
    height: 200px;
    padding: 10px 20px;
}
.form_wrap .table .td{
    font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.form_wrap input[type="radio"]{
    -webkit-appearance: none;
    display: none;
}
.form_wrap label{
    padding-left: 25px;
    position: relative;
    cursor: pointer;
    margin-right: 46px;
}
.form_wrap label::before{
    content: "";
    width: 14px;
    height: 14px;
    border: 1px solid #707070;
    border-radius: 50%;
    position: absolute;
    top: 4px;
    left: 0;
}
.form_wrap label::after{
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    position: absolute;
    top: 8px;
    left: 4px;
    background-color: #707070;
    opacity: 0;
    transition: .2s;
}
.form_wrap input.input_tel{
    width: 230px;
}
.form_wrap label.active::after{
    opacity: 1;
}
.form_wrap input.input_zipcode{
    width: 190px;
}
.form_wrap .zipcode_mark{
    margin-right: 12px;
}
.form_wrap .submit_btns{
    margin-top: 50px;
    text-align: center;
}
.form_wrap .submit_btn{
    display: inline-block;
    position: relative;
}
.form_wrap .submit_btn::after{
    content: "";
    background: url(img/cmn/btn_arrrow.png) no-repeat center center / contain;
    width: 44px;
    height: 7px;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 37px;
    transition: .2s;
    pointer-events: none;
}
.form_wrap .submit_btn input[type="submit"]{
    width: 350px;
    display: inline-block;
    transition: .2s;
    border: 1px solid #000;
    font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    -webkit-appearance: none;
    background-color: #fff;
    padding: 17px 0;
    cursor: pointer;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
}
.form_wrap .submit_btn input[type="submit"]:hover{
    background-color: #000;
    color: #fff;
}
.thanks_message{
    text-align: center;
}
.thanks_message .more{
    margin-top: 50px;
}


/* NEWS ARCHIVE */
.archive_news{
    margin-top: -7px;
}
.archive_news .news_box{
    display: flex;
    justify-content: space-between;
}
.archive_news .news_box .thumb{
    margin-right: 29px;
}
.archive_news .news_box .thumb img{
    width: 245px;
    min-width: 245px;
}
.news_meta{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 2px;
}
.news_meta .date{
    font-size: 1.2rem;
    margin-right: 12px;
}
.news_meta .cat{
    font-size: 1.2rem;
}
.archive_news .news_box .text_box .text{
    line-height: 2.28;
}
.archive_news .news_box .text_box .news_title{
    font-size: 1.8rem;
    margin-bottom: 9px;
    word-break: break-all;
}
.archive_news .wrap>.flex{
    justify-content: space-between;
}
.archive_news .wrap>.flex>.news_main_content{
    width: 69.3%;
}
.archive_news .wrap>.flex>.sidebar{
    width: 26%;
}
.archive_news .title{
    text-align: left;
    margin-bottom: 16px;
}
.archive_news .news_main_content .li:not(:last-child){
    margin-bottom: 47px;
}
.archive_news .news_main_content .li>a{
    display: block;
    position: relative;
    padding-right: 10px;
    padding-bottom: 20px;
}
.archive_news .news_main_content .li>a:hover{
    opacity: 1;
}
.archive_news .news_main_content .li>a::before {
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
    bottom: -7px;
    height: 1px;
    right: -6px;
    width: calc(100% + 2px);
    pointer-events: none;
}
.archive_news .news_main_content .li>a::after{
    background-color: #000;
    content: '';
    display: block;
    position: absolute;
    z-index: 10;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
    top: 4px;
    right: -7px;
    height: calc(100% + 3px);
    width: 1px;
    pointer-events: none;
}
.archive_news .news_main_content .li>a:hover::before {
    width: 0;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.archive_news .news_main_content .li>a:hover::after {
    height: 0;
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}


/* NEWS SINGLE */
.archive_news.single_news .wrap>.flex>.news_main_content{
    width: 70%;
}
.single_news .news_main_content .news_title{
    font-size: 2.4rem;
    letter-spacing: 0.05em;
    padding-bottom: 17px;
    margin-bottom: 30px;
    border-bottom: 1px solid #0F0F0F;
}
.single_news .single_news_content{
    line-height: 2.3;
    font-size: 1.4rem;
}
.single_news .single_news_content p{
    margin-bottom: 37px;
}
.single_link{
    position: relative;
    text-align: center;
    padding-top: 37px;
}
.single_link .prev_link{
    position: absolute;
    top: 37px;
    left: 0;
}
.single_link .next_link{
    position: absolute;
    top: 37px;
    right: 0;
}
.single_link .more_btn::after{
    display: none;
}
.single_link .more a{
    width: 150px;
    font-size: 1.4rem;
    letter-spacing: 0;
    padding: 6px 0;
}
.single_news .news_meta{
    margin: 6px 0 2px;
}
.single_news .news_meta .date,
.single_news .news_meta .cat{
    font-size: 1.6rem;
}
.single_news .news_meta .date{
    margin-right: 16px;
}


/* ナビゲーション */
.wp-pagenavi {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 68px;
}
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #BFBFBF;
    padding: 0;
    margin: 0 5px 5px;
    font-size: 1.6rem;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #0F0F0F;
    transition: .2s;
}
.brand_pagenavi .wp-pagenavi span:hover,
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    color: #fff;
    background-color: #222;
    opacity: 1;
    border: 1px solid #0F0F0F !important;
}
.brand_pagenavi .wp-pagenavi span.current{
    pointer-events: none;
}

/* サイドバー */
.sidebar_content .title{
    margin-bottom: 0;
}
.sidebar_content .title_text{
    padding-bottom: 10px;
    margin-bottom: 25px;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    font-weight: bold;
    padding-bottom: 5px;
    border-bottom: 1px solid #0F0F0F;
}
.sidebar_content .sidebar_newtopics_box{
    display: flex;
    align-items: center;
}
.sidebar_content .sidebar_newtopics_box .thumb img{
    width: 102px;
    min-width: 102px;
}
.sidebar_content .sidebar_newtopics_box .thumb{
    height: 68px;
    margin-right: 15px;
}
.sidebar_content .sidebar_newtopics_box .news_meta{
    margin-bottom: 0;
}
.sidebar_content .sidebar_newtopics_box .news_meta .date{
    margin-right: 4px;
}
.sidebar_content .sidebar_newtopics_box .news_meta .date,
.sidebar_content .sidebar_newtopics_box .news_meta span,
.sidebar_content .sidebar_newtopics_box .news_meta .cat{
    font-size: 9px;
    transform: translateX(-3px) scale(0.9);
    line-height: 1.4;
}
.sidebar_content .sidebar_newtopics_box .news_title{
    font-size: 1.2rem;
    word-break: break-all;
}
.cat_type{
    display: flex;
    flex-wrap: wrap;
}
.cat_type .cat::after{
    content: "・";
}
.cat_type .cat:last-child::after{
    display: none;
}
.sidebar_newtopics .li:first-child{
    padding-top: 0;
}
.sidebar_newtopics .li{
    padding: 15px 0;
    border-bottom: 1px solid #ccc;
}
.sidebar_newtopics .li>a{
    display: block;
}
.sidebar_newtopics{
    margin-bottom: 53px;
}
.sidebar_category .title_text{
    margin-bottom: 8px;
}
.sidebar_category .li a{
    font-size: 1.6rem;
}
.sidebar_category .li{
    padding-left: 23px;
    position: relative;
    line-height: 2.45;
}
.sidebar_category .li::before{
    content: "";
    background-color: #ccc;
    height: 1px;
    width: 12px;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    left: 0;
}


/* BRAND */
.brand_search{
    margin-top: -8px;
}
.brand_search .title{
    margin-bottom: 0;
    text-align: left;
    position: relative;
    cursor: pointer;
}
.brand_search .search_list_wrap{
    margin-top: 30px;
}
.brand_search .title_text{
    font-size: 2.4rem;
    border-bottom: 1px solid #0F0F0F;
    padding-bottom: 10px;
}
.brand_search .title .acodion{
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
    right: 15px;
    width: 11px;
    height: 11px;
}
.brand_search .title .acodion span{
    width: 100%;
    height: 1px;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 50%;
    background-color: #0F0F0F;
    transition: .2s;
}
.brand_search .title .acodion span:nth-of-type(1){
    transform: translate(-50%,-50%) rotate(-90deg);
}
.brand_search .title .acodion.active span:nth-of-type(1){
    transform: translate(-50%,-50%) rotate(0deg);
}
.brand_search input[type="checkbox"]{
    -webkit-appearance: none;
    display: none;
}
.brand_search label{
    font-size: 1.4rem;
    position: relative;
    padding-left: 30px;
    cursor: pointer;
}
.brand_search input[type="checkbox"]:checked + label::after{
    opacity: 1;
}
.brand_search label::before{
    content: "";
    border: 1px solid #0F0F0F;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 0;
    left: 0;
}
.brand_search label::after{
    content: "";
    width: 10px;
    height: 10px;
    background-color: #0F0F0F;
    position: absolute;
    top: 4px;
    left: 4px;
    transition: .2s;
    opacity: 0;
}
.brand_search .search_list_wrap{
    display: none;
}
.brand_search .search_list{
    display: flex;
    flex-wrap: wrap;
}
.brand_search .title.adjust{
    margin-top: 33px;
}
.brand_search .search_list.style_list .search_name{
    margin-right: 40px;
}
.brand_search .search_name{
    margin-right: 30px;
    margin-bottom: 15px;
}
.brand_result .ul{
    display: flex;
    flex-wrap: wrap;
}
.brand_result .li{
    border-top: 1px solid #0F0F0F;
    padding: 30px 0 36px;
    width: 24%;
    margin-right: 13px;
}
.brand_result .li:nth-of-type(4n){
    margin-right: 0;
}
.brand_result .li>a{
    display: block;
}
.brand_result .li>a .thumb{
    overflow: hidden;
    transition: .2s;
}
.brand_result .li>a .thumb img{
    transition: .2s;
}
.brand_result .li>a:hover{
    opacity: 1;
}
.brand_result .li>a:hover .thumb{
    transform: scale(0.95);
}
.brand_result .li>a:hover .thumb img{
    transform: scale(1.1);
}
.brand_result{
    padding-top: 90px;
}
.brand_result .li>a .glasses_title{
    font-size: 1.8rem;
    margin: 20px 0 1px;
}
.brand_result .li>a .price{
    text-align: right;
    font-size: 1.4rem;
}
.brand_pagenavi .wp-pagenavi{
    margin-top: 41px;
}
.brand_pagenavi .wp-pagenavi span{
    cursor: pointer;
}


/* SINGLE BRAND */
.single_brand .glasses_thumb_slider{
    display: flex;
    flex-wrap: wrap;
    margin-top: 14px;
}
.single_brand .glasses_thumb_slider_item{
    width: 170px;
    margin-right: 15px;
    margin-bottom: 15px;
    transition: .2s;
    border: 1px solid transparent;
    cursor: pointer;
}
.single_brand .glasses_thumb_slider_item:nth-of-type(3n){
    margin-right: 0;
}
.single_brand .flex .single_brand_img{
    width: 54%;
}
.single_brand .flex{
    justify-content: space-between;
    margin-bottom: 50px;
}
.single_brand .flex .text_box{
    width: 41.1%;
}
.glasses_thumb_slider_item.thumbnail-current{
    border: 1px solid #222;
}
.single_brand .flex .text_box .item_name{
    font-size: 2.2rem;
    position: relative;
    padding-bottom: 28px;
    margin: -4px 0 25px;
}
.single_brand .flex .text_box .item_name::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 1px;
    background-color: #0F0F0F;
}
.single_brand .flex .text_box .dl{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 14px;
}
.single_brand .flex .text_box .dl .dt,
.single_brand .flex .text_box .dl .dd{
    font-size: 1.6rem;
}
.single_brand .flex .text_box .dl .dt{
    width: 98px;
    min-width: 98px;
    font-weight: bold;
    font-family: 'Quattrocento', 'Noto Serif JP' , 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,MS明朝,serif;
    letter-spacing: 0.1em;
}
.single_brand .flex .text_box .dl .dd{
    width: calc(100% - 98px);
}
.single_brand .flex .text_box .dl.details{
    display: block;
}
.single_brand .flex .text_box .dl.details .dt{
    width: 100%;
}
.single_brand .flex .text_box .dl.details .dd{
    width: 100%;
    font-size: 1.4rem;
    line-height: 2.3;
    margin-top: 5px;
}
.single_brand .flex .text_box .more{
    margin-top: 21px;
}
.single_brand .single_link{
    padding-top: 30px;
}
.single_brand .single_link .next_link,
.single_brand .single_link .prev_link{
    top: 30px;
}

#header .sp_sns{
    display: none;
}
.error_page{
    text-align: center;
}
#footer .footer_top.no-info{
    padding-top: 80px;
}
#footer .footer_top.no-info .text{
    font-size: 20px;
    text-align: center;
    margin-bottom: 34px;
}
#footer .footer_top.no-info::before{
    height: 100%;
}

@media screen and (max-width: 750px){
    .body_wrap{
        min-width: 320px;
    }
    .wrap{
        padding: 0 15px;
    }
    body{
        padding-top: 85px;
    }
    .more a{
        width: 302px;
        padding: 11px 0;
    }
    .more_btn::after{
        right: 9px;
    }
    .title{
        margin-bottom: 23px;
    }

    /* HEADER */
    #header{
        padding: 20px 15px 25px;
        position: fixed;
        z-index: 999;
        width: 100%;
        top: 0;
        left: 0;
        background-color: #fff;
    }
    #header .logo img{
        width: 62px;
    }
    .nav_toggle{
        display: block;
        position: relative;
        width: 40px;
        height: 12px;
    }
    .nav_toggle span{
        position: absolute;
        left: 0;
        background-color: #000;
        height: 2px;
        width: 100%;
        transition: .2s;
    }
    .nav_toggle span:nth-of-type(1){
        top: 0;
    }
    .nav_toggle span:nth-of-type(2){
        top: 10px;
    }
    .open .nav_toggle span:nth-of-type(1){
        transform: translateY(5px) rotate(30deg);
    }
    .open .nav_toggle span:nth-of-type(2){
        transform: translateY(-5px) rotate(-30deg);
    }
    #header .header_top .sns_menu{
        display: none;
    }
    #header .en_sp{
        display: block;
    }
    #header .en_sp .more a{
        width: 40px;
        font-size: 1.4rem;
        padding: 7px 0 6px;
    }
    #header .header_top{
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0;
    }
    #header .wrap{
        display: none;
        position: fixed;
        top: 85px;
        left: 0;
        width: 100%;
        height: calc(100% - 85px);
        background-color: #fff;
        overflow-y: scroll;
    }
    #header .header_menu{
        padding-top: 14px;
    }
    #header .header_menu>.ul{
        display: block;
        text-align: center;
    }
    #header .header_menu>.ul>.li{
        margin-bottom: 24px;
    }
    #header .header_menu .sp_sns{
        display: block;
        max-width: 305px;
        margin: 0 auto;
    }
    #header .header_menu .sp_sns .li a img{
        width: 26px;
    }
    #header .logo{
        top: 12px;
    }

    /* FOOTER */
    #footer{
        padding-top: 90px;
    }
    #footer .footer_top::before{
        height: 100%;
    }
    #footer .footer_top{
        padding: 40px 0 160px;
    }
    #footer .title{
        margin-bottom: 15px;
    }
    #footer .footer_top .flex>div{
        width: 100%;
    }
    #footer .footer_top .flex>div.map{
        margin-bottom: 20px;
    }
    #footer .footer_top .map iframe{
        height: 250px;
    }
    #footer .footer_top .calendar{
        display: block;
        padding-top: 100px;
        margin-top: -77px;
    }
    #footer .footer_top .calendar .calendar_img:nth-of-type(2){
        margin-top: 20px;
    }
    #pagetop a{
        font-size: 1.1rem;
    }
    #pagetop img{
        width: 4px;
    }
    #pagetop{
        right: 15px;
        z-index: 998;
    }
    #footer .footer_menu .ul{
        display: block;
        text-align: center;
    }
    #footer .footer_menu .ul .li:not(:last-child){
        margin-bottom: 10px;
    }


    /* TOP */
    .mv{
        padding-bottom: 30px;
    }
    .mv_main_slider{
        width: 100vw;
        margin: 0 -15px;
    }
    .mv_thumb_slider .mv_thumb_slider_item:not(:last-child){
        margin-right: 8px;
    }
    .mv_thumb_slider_item img{
        width: 80px;
    }
    .home_sec01{
        padding: 67px 0 0;
    }
    .home_sec01 img.ps_ab{
        display: none;
    }
    .home_sec01 .sp_img{
        display: block;
        margin: 60px -15px 0;
        width: 100vw;
    }
    .mv_thumb_slider{
        margin-top: 17px;
    }
    .home_sec02 .more{
        margin-top: 109px;
    }
    .home_sec02 .snap_slider .slide_arrow.prev_arrow {
        left: 48%;
        transform: translateX(-100%);
    }
    .home_sec02 .snap_slider .slide_arrow.next_arrow {
        right: 48%;
        transform: translateX(100%);
    }
    .home_sec02 .snap_slider .slide_arrow{
        width: 50px;
        bottom: -80px;
    }
    .home_sec02 .snap_slider .slick-slide{
        width: 184px;
        margin: 0 18px;
    }
    .home_sec01 .text.top{
        margin-bottom: 15px;
    }
    .home_sec01 .text.top::before, .home_sec01 .text.top::after{
        width: 20px;
        height: 14px;
    }
    .home_sec01 .text.top::before{
        left: -30px;
    }
    .home_sec01 .text.top::after{
        right: -20px;
    }
    .home_sec02 .title{
        margin-bottom: 70px;
    }
    .home_sec03 .text_box, .home_sec04 .text_box{
        width: 100%;
    }
    .home_sec03 .text_box{
        padding-left: 0;
    }
    .home_sec04 .img,
    .home_sec03 .img{
        position: initial;
        transform: translateY(45px);
    }
    .home_sec04 .img.active,
    .home_sec03 .img.active{
        transform: translateY(0);
    }
    .home_sec03 .text_box .text.top, .home_sec04 .text_box .text.top{
        font-size: 1.8rem;
    }
    .home_sec03 .text_box .more, .home_sec04 .text_box .more{
        text-align: center;
    }
    .home_sec04,
    .home_sec05{
        padding-top: 80px;
    }
    .home_sec05 .flex .box{
        width: calc(100% - 15px);
        margin-right: 0;
        margin-bottom: 30px;
    }
    

    /* PAGE */
    .page_title{
        font-size: 2.4rem;
    }
    .page_mv{
        height: 80px;
        margin-top: 0;
    }

    /* BRAND ARCHIVE */
    .brand_search .title_text{
        font-size: 2rem;
    }
    .brand_search label::before{
        width: 14px;
        height: 14px;
        top: 2px;
    }
    .brand_search label::after{
        top: 5px;
        left: 3px;
    }
    .brand_search label{
        padding-left: 25px;
    }
    .brand_search .title{
        margin-bottom: 15px;
    }
    .brand_result .li{
        width: 100%;
        margin-right: 0;
    }

    /* ページネーション */
    .wp-pagenavi a, .wp-pagenavi span{
        font-size: 1.4rem;
    }
    .wp-pagenavi a, .wp-pagenavi span{
        width: 30px;
        height: 30px;
    }

    /* BRAND SINGLE */
    .single_brand .flex .single_brand_img{
        width: 100%;
        margin-bottom: 20px;
    }
    .single_brand .glasses_thumb_slider_item{
        width: 108px;
        margin-right: 10px;
        margin-bottom: 10px;
    }
    .single_brand .glasses_thumb_slider{
        margin-top: 5px;
    }
    .single_brand .flex .text_box{
        width: 100%;
    }
    .single_brand .flex .text_box .item_name{
        font-size: 1.8rem;
    }
    .single_brand .flex .text_box .more{
        text-align: center;
    }
    .single_link .next_link,
    .single_link .prev_link{
        position: initial;
    }
    .single_link .back_link{
        margin: 20px 0;
    }

    /* SIDEBAR */
    .archive_news .wrap>.flex>.sidebar{
        width: 100%;
        margin-top: 50px;
    }
    .sidebar_newtopics {
        margin-bottom: 30px;
    }
    .sidebar_category .li a{
        font-size: 1.4rem;
    }

    /* NEWS ARCHIVE */
    .archive_news .wrap>.flex>.news_main_content{
        width: calc(100% - 15px);
    }
    .archive_news .news_box{
        display: block;
    }
    .archive_news .news_box .thumb{
        margin-right: 0;
        margin-bottom: 20px;
    }
    .archive_news .news_box .thumb img{
        width: 100%;
        min-width: 100%;
    }
    .archive_news .news_main_content .li>a{
        padding-bottom: 10px;
    }


    /* NEWS SINGLE */
    .archive_news.single_news .wrap>.flex>.news_main_content{
        width: 100%;
    }
    .single_news .news_meta .date, .single_news .news_meta .cat{
        font-size: 1.3rem;
    }
    .single_news .news_main_content .news_title{
        font-size: 2rem;
    }
    .single_news .single_news_content p{
        margin-bottom: 25px;
    }


    /* ACCESS */
    .access_sec01 .flex{
        display: block;
    }
    .access_sec01 .flex>div.map{
        width: 100%;
        margin-bottom: 20px;
    }
    .access_sec01 .flex>div.map iframe{
        height: 250px;
    }
    .access_sec01 .flex>div.text_box .table .th{
        width: 70px;
        min-width: 70px;
    }
    .access_sec01 .flex>div.text_box .table .td{
        width: calc(100% - 70px);
        padding-left: 20px;
    }
    .access_sec01 .flex>div.text_box .table .td br{
        display: none;
    }
    .access_sec01 .flex>div.text_box{
        width: 100%;
    }
    .access_sec01 .flex>div.text_box .table .th, .access_sec01 .flex>div.text_box .table .td{
        padding-bottom: 15px;
    }
    .access_sec01 .flex>div.text_box .more{
        text-align: center;
    }


    /* CONCEPT */
    .concept_sec01 .text.top{
        font-size: 2rem;
    }
    .concept_sec01 .text.top::before,
    .concept_sec01 .text.top::after{
        width: 20px;
        height: 14px;
    }
    .concept_sec01 .text.top::before{
        left: -30px;
    }
    .concept_sec01 .text.top::after{
        right: -20px;
    }
    .concept_sec01 .text{
        font-size: 1.6rem;
    }
    .concept_sec01{
        padding-bottom: 30px;
    }
    .concept_sec01 .img{
        width: 100vw;
        margin: 0 -15px 40px;
    }
    .concept_sec02 .concept_content .img{
        width: 100%;
        margin-bottom: 20px;
    }
    .concept_sec02 .concept_content .flex .img img{
        transform: initial !important;
        max-width: 100% !important;
    }
    .concept_sec02 .concept_content .text_box{
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
    }
    .concept_sec02{
        padding-top: 20px;
    }
    .concept_sec02 .concept_content .text.top{
        font-size: 1.8rem;
    }
    .concept_sec02 .concept_content .more{
        text-align: center;
    }
    .concept_sec02 .concept_content .flex.n3 .text_box,
    .concept_sec02 .concept_content .flex.n3 .img{
        width: 100%;
    }


    /* CONTACT */
    .form_wrap .table .tr:first-child .th{
        padding-top: 0;
    }
    .form_wrap .table .th,
    .form_wrap .table .td{
        width: 100%;
        display: block;
    }
    .contact_sec01 .form_wrap{
        padding: 0;
    }
    .form_wrap .table .th{
        padding-top: 25px;
        padding-right: 0;
        border-right: none;
        padding-bottom: 5px;
    }
    .form_wrap .table .td{
        padding-left: 0;
        border-bottom: 1px solid #ccc;
    }
    .form_wrap label{
        font-size: 1.4rem;
    }
    .form_wrap input[type="text"], .form_wrap input[type="tel"], .form_wrap input[type="number"], .form_wrap input[type="email"], .form_wrap input[type="url"], .form_wrap textarea{
        font-size: 1.4rem;
    }
    .form_wrap input[type="text"], .form_wrap input[type="tel"], .form_wrap input[type="number"], .form_wrap input[type="email"], .form_wrap input[type="url"]{
        height: 45px;
    }
    .form_wrap .table .tr:last-child .th{
        padding-bottom: 5px;
    }
    .form_wrap .table .tr:last-child .td{
        padding-bottom: 30px;
    }
    .form_wrap .submit_btn input[type="submit"]{
        width: 100%;
    }
    .form_wrap .submit_btn{
        display: block;
    }
    .form_wrap .submit_btn::after{
        width: 34px;
        height: 8px;
        right: 20px;
    }
    .contact_sec01{
        padding-top: 0;
    }

    /* SCENE */
    .insta_info{
        padding-top: 40px;
    }
    .insta_info .icon img{
        width: 100px;
    }
    .insta_info .text_box .text.top{
        font-size: 1.8rem;
        margin: 0;
    }
    .insta_info .text_box .text{
        font-size: 1.4rem;
    }
    .insta_info .item{
        justify-content: center;
        margin-bottom: 25px;
    }
    .insta_info .flex{
        display: block;
        max-width: 100%;
    }
    .insta_info .img{
        margin: 0 auto;
    }

    /* SNAP ARCHIVE */
    .snap_sec01 .ul .li{
        width: 48%;
        margin:0 1% 12px;
        text-align: center;
    }
    .snap_sec01 .ul .li:nth-of-type(5n){
        margin-right: 1%;
    }
    .brand_pagenavi .wp-pagenavi span:hover, .wp-pagenavi a:hover{
        border: 1px solid #BFBFBF !important;
        background-color: #fff;
        color: #000;
    }
    .brand_result {
        padding-top: 60px;
    }
    .instagram .gallery .gallery-item{
        width: 49%;
        margin-right: 2%;
    }
    .instagram .gallery .gallery-item:nth-of-type(2n){
        margin-right: 0;
    }
    .more a:hover::before{
        width: calc(100% + 2px);
    }
    .more a:hover::after{
        height: calc(100% + 3px);
    }
}