@charset "utf-8";
/* CSS Document */


/* kv
   ================================================================== */
.kv{
	margin: 0 0 0;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    background: #000;
}

.kv .inner{
	position: relative;
    z-index: 2;
    height: 100%;
    box-sizing: border-box;
	display: flex;
    justify-content: center;
    align-items: center;
}

.kv .inner::before{
    content: "";
    background: rgba(0,0,0,.30);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.kv video{
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 120%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.kv .inbox{
    padding: 0 0 0;
    position: relative;
    z-index: 1;
}

.kv .volume{
    margin: 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.kv .volume .icon{
    width: 6vw;
    line-height: 0;
}

.kv .volume .cntl{
    padding: 0 6vw;
    font-size: 4vw;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: 'Noto Sans JP';
    color: #8F8F8F;
}

.kv .volume .active{
    color: #fff;
}

.kv .volume .off{
    position: relative;
}

.kv .volume .off::before{
    content: "";
    margin: auto;
    background: #8F8F8F;
    width: 1px;
    height: 70%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
}


/* logo_text
   ================================================================== */
.logo_text{
    stroke: #484242;
    fill: rgba(0,0,0,0);
    stroke-dasharray:  4000;
    stroke-dashoffset: 4000;
    animation: DASH_sp 7s ease-in-out alternate 0s forwards;
}

.logo01{
    animation-delay: 0s;
}

.logo02{
    animation-delay: .6s;
}

@keyframes DASH_sp {
    0% {
        stroke-dashoffset: 4000;
        fill: rgba(72,66,66,0);
        stroke-width: 1;
        }
    20% {
        fill: rgba(72,66,66,0);
        stroke-width: 1;
        }
    30% {
        fill: rgba(72,66,66,1);
        stroke-width: 0;
        }
    100% {
        stroke-dashoffset: 0;
        fill: rgba(72,66,66,1);
        stroke-width: 0;
        }
}

@keyframes DASH {
    0% {
        stroke-dashoffset: 4000;
        fill: rgba(72,66,66,0);
        stroke-width: 0.5;
        }
    20% {
        fill: rgba(72,66,66,0);
        stroke-width: 0.5;
        }
    30% {
        fill: rgba(72,66,66,1);
        stroke-width: 0;
        }
    100% {
        stroke-dashoffset: 0;
        fill: rgba(72,66,66,1);
        stroke-width: 0;
        }
}


/* company_info_wrap
   ================================================================== */
.company_info_wrap{
	margin: 10vw 0 0;
    padding: 10vw 0;
    background: #FDFBFA;
}

.company_info_wrap .posi_relative{
    margin: 3vw 0 0;
    position: relative;
}

.company_info_wrap .company_info_list{
	margin: 0 0 0;
}

.company_info_wrap .company_info_list > li{
	padding: 4vw 3vw;
    position: relative;
}

.company_info_wrap .company_info_list > li::before{
    content: "";
    border-bottom: 1px solid #E8E8E8;
    width: 100vw;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.company_info_wrap .company_info_list > li:last-child::before{
    display: none;
}

.company_info_wrap h1 > span{
	display: block;
    line-height: 150%;
    letter-spacing: 0.1em;
}

.company_info_wrap h1 .name{
	font-size: 4.5vw;
    font-weight: 700;
}

.company_info_wrap h1 .subject{
    margin: 2vw 0 0;
	font-size: 3.3vw;
    font-weight: 500;
}

.company_info_wrap .map{
    margin: 5vw -3vw 0;
	line-height: 0;
}

.company_info_wrap .map iframe{
    width: 100%;
    height: 80vw;
}

.company_info_wrap .company_info_photo{
    margin: 5vw -3vw 0;
    height: 72vw;
	line-height: 0;
}

.company_info_wrap .company_info_photo img{
 	width: 100%;
    height: 100%;
 	object-fit: cover;
}


/* company_info_add
   ================================================================== */
.company_info_add .googlemaps_btn{
    margin: 3vw 0 0;
}

.company_info_add .note{
    margin: 5vw 0 0;
    font-size: 3.3vw;
}


/* tel_form_cv_block
   ================================================================== */
.tel_form_cv_block .btn{
    margin: 5vw 0 0;
    text-align: left;
}


/* tel_sns_box
   ================================================================== */
.tel_sns_box{
    display: flex;
}

.tel_style a{
    display: block;
}

.tel_style .num_txt{
    display: flex;
    align-items: baseline;
}

.tel_style .num_txt > span{
    display: block;
    line-height: 150%;
    letter-spacing: 0.05em;
    font-family: "Jost";
    font-weight: 400;
}

.tel_style .num_txt .ttl{
    font-size: 5vw;
}

.tel_style .num_txt .num{
    margin: 0 0 0 2vw;
    font-size: 7vw;
    letter-spacing: 0;
}

.tel_style .bottom_txt{
    margin: -1vw 3vw 0 0;
    display: block;
    text-align: right;
}

.tel_style .bottom_txt span{
    font-size: 3.4vw;
    display: block;
    line-height: 150%;
    letter-spacing: 0.05em;
    font-weight: 400;
}

.tel_sns_box .sns_btn{
    margin: 1vw 0 0 5vw;
}


/* categories_list
   ================================================================== */
.categories_list{
    position: relative;
    font-size: 0;
}

.categories_list > li{
    margin: 3vw 0 0;
    font-size: 0;
}

.categories_list .list_ttl{
    font-size: 3.5vw;
    font-weight: 500;
}

.categories_list .list_ttl + .categories_link{
    margin: 0 0 0;
}


/* categories_link
   ================================================================== */
.categories_link{
    position: relative;
    font-size: 0;
}

.categories_link > li{
    margin: 3vw 2% 0 0;
    width: 49%;
    display: inline-block;
    vertical-align: top;
}

.categories_link > li:nth-child(2n+2){
    margin-right: 0;
}

.categories_link > li > ul{
    display: none;
}

.categories_link > li > ul > li{
    margin: 2vw 0 0;
}

.categories_link .link_box{
    position: relative;
}

.categories_link a{
    padding: .5vw 3vw;
    font-size: 3.2vw;
    line-height: 150%;
    min-height: 13vw;
    width: 100%;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border-radius: 10px;
    background: #F6F6F6;
}

.categories_link .link_box.in_oc_btn a{
    padding-right: 7vw;
}

.categories_link .link_box > a{
    height: 13vw;
}

.categories_link .link_box + ul a{
    color: #fff;
    background: #C5BCB7;
    justify-content: flex-start;
}

.index_menu_block .categories_link a{
    background: #fff;
}

.categories_link .oc_btn{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 7vw;
    height: 100%;
    background-image: url("../images/common/categories_icon_plus.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 32%;
    border-radius: 0 10px 10px 0;
    cursor: pointer;
}

.categories_link .oc_btn.open{
    background-image: url("../images/common/categories_icon_minus.svg");
}

/* menu_index_block */
.menu_index_block .categories_link > li{
    margin: 3vw 0 0;
    width: 100%;
    display: block;
}

.menu_index_block .categories_link .oc_btn{
    width: 10vw;
    background-size: 25%;
}

.menu_index_block .categories_link a{
    height: auto !important;
    background: #F6F6F6;
}

.menu_index_block .categories_link .link_box.in_oc_btn a{
    padding-right: 10vw;
}

.menu_index_block .categories_link .link_box + ul a{
    color: #484242;
    background: #fff;
    border: 1px solid #E8E8E8;
    justify-content: flex-start;
    text-align: left;
    position: relative;
}

.menu_index_block .categories_link .link_box + ul a::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 10vw;
    height: 100%;
    background-image: url("../images/common/categories_icon_arrow_right.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 15%;
    border-radius: 0 10px 10px 0;
    cursor: pointer;
}


/* pv_block
   ================================================================== */
.pv_block{
    text-align: center;
    line-height: 0;
}

.pv_block video{
    width: 100%;
}


/* index_campaign
   ================================================================== */
.index_campaign{
    padding: 15vw 0;
}

.index_campaign .slider_wrap{
    margin: 8vw 0 0;
}

.campaign_slider.swiper-container{
    margin: 0;
    width: 60vw;
    overflow: visible;
}

.campaign_slider a{
    display: block;
}

.campaign_slider span{
    display: block;
}

.campaign_slider .thum{
    line-height: 0;
    overflow: hidden;
}

.campaign_slider .thum img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1 / 1;
}

.campaign_slider .text_box{
    padding: 2vw 0 0;
    display: block;
}

.campaign_slider .text_box .ttl{
    font-size: 3.5vw;
    line-height: 150%;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.index_campaign .btn{
    margin: 8vw 0 0;
    text-align: left;
}


/* index_menu_block
   ================================================================== */
.index_menu_block{
    padding: 15vw 0;
    position: relative;
    z-index: 2;
    background: #F6F6F6;
}

.index_menu_block .block_title + p{
    margin: 6vw 0 0
}

.index_menu_block .categories_list{
    margin: 8vw 0 0
}

.index_menu_block .categories_list .list_thm_ttl{
    width: 49%;
    position: relative;
}

.index_menu_block .categories_list .list_thm_ttl span{
    display: block;
}

.index_menu_block .categories_list .list_thm_ttl .thm{
    line-height: 0;
}

.index_menu_block .categories_list .list_thm_ttl .text_box{
    position: absolute;
    top: 35%;
    left: 90%;
}

.index_menu_block .categories_list .list_thm_ttl .text_box span{
    font-weight: 400;
    letter-spacing: 0.09em;
    line-height: 100%;
}

.index_menu_block .categories_list .list_thm_ttl .eng{
    font-size: 12vw;
    font-family: "Cormorant";
}

.index_menu_block .categories_list .list_thm_ttl .jpn{
    margin: 2vw 0 0;
    font-size: 3.0vw;
    text-align: center;
}


/* number_ol
   ================================================================== */
.number_ol{
    margin: 3vw auto 0;
}

.number_ol > li{
    margin: 6vw 0 0;
    padding: 3vw 2vw 3vw 10vw;
    position: relative;
    border-bottom: 1px dashed #89CAD4;
}

.number_ol > li:first-child{
    margin-top: 0;
}

.number_ol .number{
    font-size: 3.5vw;
    top: 0;
    left: 2vw;
    font-weight: 500;
    line-height: 1;
    color: #89CAD4;
    position: absolute;
}

.number_ol h4{
    font-size: 3.7vw;
    font-weight: 500;
    line-height: 150%;
    color: #89CAD4;
}

.number_ol h4 + p{
    margin: 2vw 0 0;
}


/* index_thought
   ================================================================== */
.index_thought{
    padding: 15vw 0 0;
}

.index_thought .top_box{
    padding: 46vw 0 0;
    position: relative;
}

.index_thought .animation_photo_position{
    width: 80vw;
    left: 5vw;
    transform: rotate(-10deg);
}

.index_thought .thought_message{
    margin: 0 0 0 auto;
    padding: 6vw 2vw 6vw 6vw;
    width: 65vw;
}

.index_thought .thought_message .ttl::after{
    width: 10vw;
}

.index_thought.thought_block .note{
    margin: 6vw 0 0;
    padding: 4vw 4vw 4vw 0;
    border-radius: 0 10px 10px 0;
    position: relative;
}

.index_thought.thought_block .note::before{
    content: "";
    background: #F9F5F5;
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
}


/* thought_block
   ================================================================== */
.thought_message{
    padding: 6vw 6vw 6vw 10vw;
    background: #fff;
    border: 1px dashed #D8A1A1;
    border-radius: 20px;
    position: relative;
    z-index: 5;
    box-sizing: border-box;
}

.thought_message .ttl{
    font-size: 4.3vw;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
    color: #D8A1A1;
    position: relative;
}

.thought_message .ttl::before,
.thought_message .ttl::after{
    content: "";
    margin: auto;
    background: #C5BCB7;
    position: absolute;
    top: 0;
    bottom: 0;
    right: calc(100% + 2vw);
}

.thought_message .ttl::before{
    width: 1.5vw;
    height: 1.5vw;
    border-radius: 100%;
}

.thought_message .ttl::after{
    width: 100vw;
    height: 1px;
}

.thought_message .txt{
    margin: 4vw 0 0;
    font-size: 3.5vw;
    font-family: "Zen Maru Gothic";
    font-weight: 500;
}

.thought_block .note{
    margin: 6vw 0 0;
    padding: 4vw;
    color: #C78181;
    background: #F9F5F5;
    border-radius: 10px;
    position: relative;
}


/* promise_block
   ================================================================== */
.promise_block{
    padding: 15vw 0 0;
}

.promise_block .box{
    padding: 8vw 6vw;
    border: 1px dashed #89CAD4;
}

.promise_block .box h3{
    font-size: 5vw;
    font-weight: 700;
    color: #258386;
    font-family: "Noto Serif JP";
    text-align: center;
}

.promise_block .note{
    margin: 6vw 0 0;
    padding: 4vw;
    color: #258386;
    background: #F6FAFA;
    position: relative;
    text-align: center;
}


/* hash_categories
   ================================================================== */
.hash_categories{
    display: block;
    font-size: 0;
}

.hash_categories > a,
.hash_categories > span{
    margin: 1vw 1vw 0 0;
    display: inline-block;
    font-size: 3.4vw;
    color: #D8A1A1;
    letter-spacing: 0.09em;
    line-height: 150%;
}

.hash_categories > a::before,
.hash_categories > span::before{
    content: "♯";
}


/* index_case
   ================================================================== */
.index_case{
    padding: 15vw 0;
}

.index_case .cases_list{
    margin: 8vw 0 0;
}

.index_case .btn{
    margin: 8vw 0 0;
    text-align: left;
}


/* cases_list
   ================================================================== */
.cases_list{
    font-size: 0;
}

.cases_list > li{
    margin: 5vw 4% 0 0;
    width: 48%;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

.cases_list > li:nth-child(2n+2){
    margin-right: 0;
}

.cases_list li a{
    display: block;
}

.cases_list li .photo{
    display: block;
    line-height: 0;
}

.cases_list li .photo img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1 / 1;
}


/* index_news
   ================================================================== */
.index_news{
    padding: 15vw 0;
    background: #F6F6F6;
}

.index_news .btn{
    margin: 8vw 0 0;
    text-align: left;
}


/* index_news_list
   ================================================================== */
.index_news_list{
    margin: 6vw 0 0;
    position: relative;
}

.index_news_list::before{
    content: "";
    background: #fff;
    width: 200vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100vw;
    border-top: 1px solid #ddd;
}

.index_news_list > li{
    position: relative;
    z-index: 1;
}

.index_news_list > li::before{
    content: "";
    width: 200vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100vw;
    border-bottom: 1px solid #ddd;
}

.index_news_list a{
    padding: 6vw 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    z-index: 1;
}

.index_news_list > li a::after{
    content: "";
    width: 200vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100vw;
}

.index_news_list a span{
    display: block;
    line-height: 150%;
}

.tag{
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 13vw;
    height: 7vw;
    font-size: 3.3vw;
    font-weight: 500;
    background: #222;
    color: #fff;
}

.index_news_list a .date{
    padding: 0 0 0;
    font-size: 3.3vw;
    font-weight: 500;
    box-sizing: border-box;
}

.index_news_list a .title{
    width: 100%;
    padding-top: 2vw;
    font-size: 3.6vw;
    font-weight: 500;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}


/* news_list_block
   ================================================================== */
.news_list_block{
    
}

.news_list_block .inner{
    padding-top: 12vw;
    padding-bottom: 12vw;
}

.news_list > li{
	margin: -60px 0 0;
    padding: 60px 0 0;
    border-bottom: 1px solid #ddd;
    transition: all cubic-bezier(0.77, 0, 0.175, 1) 0.3s;
    opacity: 1;
    visibility: visible;
}

.news_list > li.is-hidden{
    opacity: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border-bottom: none;
    visibility: hidden;
}

.news_list > li .btn_box{
    padding: 4vw 8vw 4vw 3vw;
	display: block;
    position: relative;
    box-sizing: border-box;
    cursor: pointer;
}

.news_list > li .btn_box::after{
    content: "";
    background: url("../images/common/arrow_right.svg") no-repeat center center;
    background-size: 100%;
    width: 2vw;
    height: 6vw;
    position: absolute;
    margin: auto;
    top: 7vw;
    bottom: 0;
    right: 3vw;
    transition: .3s;
}

.news_list > li .btn_box.active::after{
    transform: rotate(0);
    transform-origin: center center;
}

.news_list > li .date{
    margin: 0 0 0;
	font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    color: #D8A1A1;
}

.news_list > li .title{
    margin: 2vw 0 0;
	font-size: 15px;
    font-weight: 700;
    color: #222;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}


/* pagination
   ================================================================== */
.pagination{
	text-align: center;
	padding: 10vw 0 5px;
	font-size: 0;
}

.pagination li{
	display: inline-block;
    vertical-align: top;
	margin: 6px 3px 0;
}

.pagination li.disabled{
	display: none;
}

.pagination a,
.pagination .active span{
	text-decoration: none;
	background: #ddd;
	color: #FFF;
	padding: 2px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	width: 34px;
	height: 34px;
    box-sizing: border-box;
    letter-spacing: 0;
    transition: all ease-out 0.3s;
    font-family: "メイリオ","ms pgothic", sans-serif;
}

.pagination .active span{
	background: #484242;
}


/* news_show
   ================================================================== */
.news_show .inner{
    padding-top: 12vw;
    padding-bottom: 12vw;
}


/* sns_area
   ================================================================== */
.sns_area{
	margin: 4vw 0 0;
	line-height: 1;
    overflow: hidden;
}

.sns_area div{
	margin-bottom: 5px;
	margin-right: 5px;
	float: left;
	display: inline-block;
	font-size: 0;
	line-height: 1;
}

.linebutton img{
	width: 21px;
}


/* detail_page
   ================================================================== */
.detail_page{
	margin: 0 0 0;
	font-size: 16px;
	word-break: break-all;
}

.detail_page .detail_box h1{
	border-bottom: 1px solid #484242;
	font-size: 18px;
	font-weight: bold;
	margin: 0 0 10px;
	padding: 0 10px 10px;
	word-break: break-all;
	line-height: 150%;
}

.detail_page .flex{
	margin: 4vw 0 0;
    display: flex;
}

.detail_page .date{
    width: 30vw;
    font-size: 3.5vw;
    font-weight: 400;
    display: inline-block;
    vertical-align: middle;
}

.detail_page .date.color_red{
    color: #D8A1A1;
}

.detail_page .hash_categories{
    width: calc(100% - 30vw);
}

.detail_page .hash_categories{
	margin: -1vw 0 0;
}

.detail_page .photo{
	margin: 4vw 0 0;
	line-height: 0;
}
	
.detail_page .photo img{
	max-height: 500px;
}
	
.detail_page .detail_body{
	margin: 4vw 0 0;
    clear: both;
}


/* detail_btn_area
   ================================================================== */
.detail_btn_area{
	margin: 5vw 0 0;
    padding: 10px;
	font-size: 0;
    text-align: center;
    background: #F9F9F9;
}

.detail_btn_area .btn{
	margin: 0;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 40%;
    max-width: 310px;
}
	
.detail_btn_area .btn.prev,
.detail_btn_area .btn.next{
	width: 28%;
}

.detail_btn_area .btn.back{
	margin: 0 2%;
}

.detail_btn_area .btn a,
.detail_btn_area .btn button{
	display: block;
	margin: auto;
	padding: 10px 0;
    box-sizing: border-box;
	width: 100%;
    height: 50px;
	background: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
	color: #333;
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.10em;
	font-family: "Noto Sans JP","メイリオ","ms pgothic", sans-serif;
}


/* system_section
   ================================================================== */
.system_section{
    position: relative;
}

.system_section .inner{
    padding-top: 19vw;
    padding-bottom: 25vw;
    position: relative;
}


/* select_category
   ================================================================== */
.select_category{
    position: absolute;
    top: 5vw;
    right: 0;
    display: flex;
}

.select_category .select_category_inbox{
    position: relative;
}

.select_category .select_btn{
    padding: 2vw 10vw 2vw 5vw;
    font-size: 3.4vw;
    font-weight: 500;
    position: relative;
    cursor: pointer;
}

.select_category .select_btn::before{
    content: "";
    margin: auto;
    background-image: url("../images/common/icon_down_arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 3vw;
    height: 3vw;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3vw;
    transition: .3s;
}

.select_category .on .select_btn::before{
    transform: rotate(180deg);
}

.select_category ul{
	position: absolute;
	min-width: 45vw;
	top: 100%;
	right: 0;
	z-index: 10;
    display: none;
}

.select_category ul > li{
    margin: 0 0 0;
}

.select_category ul > li a{
	padding: 0 8vw 0 4vw;
	display: flex;
	white-space: nowrap;
	height: 15vw;
	align-items: center;
	font-size: 3.4vw;
    letter-spacing: 0.1em;
	font-weight: 400;
	color: #fff;
	background-color: rgba(0,0,0,.9);
    background-image: url("../images/common/icon_nav_arrow.svg");
    background-position: 93% center;
    background-repeat: no-repeat;
    background-size: auto;
	transition: .3s;
    position: relative;
    border-bottom: 1px solid #fff;
}


/* campaigns_page
   ================================================================== */
.campaigns_list{
    font-size: 0;
}

.campaigns_list > li{
    margin: 5vw 4% 0 0;
    width: 48%;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

.campaigns_list > li:first-child{
    margin: 0 0 8vw;
    padding: 0 0 10vw;
    width: 100%;
    border-bottom: 1px dashed #ddd;
}

.campaigns_list > li:nth-child(2n+1){
    margin-right: 0;
}

.campaigns_list a{
    display: block;
}

.campaigns_list span{
    display: block;
}

.campaigns_list .thum{
    line-height: 0;
    overflow: hidden;
}

.campaigns_list .thum img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1 / 1;
}

.campaigns_list .text_box{
    padding: 3vw 0 0;
    display: block;
}

.campaigns_list .text_box .ttl{
    font-size: 3.6vw;
    line-height: 150%;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.campaigns_list > li:first-child .text_box .ttl{
    font-size: 4.0vw;
}


/* campaigns_show
   ================================================================== */
.campaigns_show{
    margin: 0 0 15vw;
}

.campaigns_show .thum{
    line-height: 0;
    overflow: hidden;
    background-image: url("../images/webp/noimage.webp");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100%;
    min-height: 94vw;
}

.campaigns_show .thum img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1 / 1;
}

.campaigns_show .thum img + img{
 	margin-top: 3vw;
}

.campaigns_show .text_box{
    padding: 3vw 0 0;
    display: block;
}

.campaigns_show .text_box .ttl{
    font-size: 4.0vw;
    line-height: 150%;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.campaigns_show .text_box .detail_body{
    margin: 3vw 0 0;
}


/* cases_show
   ================================================================== */
.cases_show{
    margin: 0 0 15vw;
}

.cases_show .thum{
    line-height: 0;
    overflow: hidden;
    background-image: url("../images/webp/noimage.webp");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100%;
    min-height: 94vw;
}

.cases_show .thum img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1 / 1;
}

.cases_show .thum img + img{
 	margin-top: 3vw;
}

.cases_show .text_box{
    padding: 3vw 0 0;
    display: block;
}

.cases_show .text_box .ttl{
    font-size: 4.0vw;
    line-height: 150%;
    letter-spacing: 0.1em;
    font-weight: 700;
}

.cases_show .text_box .detail_body{
    margin: 3vw 0 0;
}


/* columns_list
   ================================================================== */
.columns_list{
    margin: 0 0 0;
}

.columns_list > li{
    margin: 3vw 0 0;
}

.columns_list .box{
    padding: 2vw;
    border: 1px solid #F4F1EF;
    display: flex;
    align-items: center;
}

.columns_list .thum{
    width: 30vw;
    line-height: 0;
    overflow: hidden;
    display: block;
}

.columns_list .thum img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 1 / 1;
}

.columns_list .text_box{
    padding: 0 0 0 3vw;
    width: calc(100% - 30vw);
    box-sizing: border-box;
    display: block;
}

.columns_list .text_box .ttl{
    font-size: 3.6vw;
    line-height: 150%;
    letter-spacing: 0.1em;
    font-weight: 700;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}


/* anchor_links_block
   ================================================================== */
.anchor_links_block{
    margin: 8vw 0 0;
}

.anchor_links_block .list{
    margin: 0 0 0;
    font-size: 0;
}

.anchor_links_block .list > li{
    margin: 5vw 4% 0 0;
    width: 48%;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

.anchor_links_block .list > li:nth-child(2n+2){
    margin-right: 0;
}

.anchor_links_block .list li a{
    padding: 3vw 0 6vw;
    font-size: 3.6vw;
    font-weight: 500;
    border-top: 1px solid #E8E8E8;
    position: relative;
    display: block;
}

.anchor_links_block .list li a::before{
    content: "";
    background: #D8A1A1;
    width: 10vw;
    height: 2px;
    position: absolute;
    top: -1px;
    left: 0;
}

.anchor_links_block .list li a::after{
    content: "";
    background-image: url("../images/common/icon_down_arrow.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 2.5vw;
    height: 2vw;
    position: absolute;
    bottom: 0;
    left: 3vw;
}


/* reservation_flow
   ================================================================== */
.reservation_flow{
    padding: 15vw 0 0;
}

.reservation_flow .list{
    margin: 10vw 0 0;
}

.reservation_flow .list > li{
    margin: 4vw 0 0;
}

.reservation_flow .list .top_box{
    display: flex;
    align-items: center;
}

.reservation_flow .list .number{
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
    color: #C5BCB7;
    letter-spacing: 0.05em;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #E8E8E8;
    border-radius: 100%;
    position: relative;
}

.reservation_flow .list .ttl{
    padding: 0 0 0 5vw;
    width: calc(100% - 10vw);
    font-size: 3.8vw;
    font-weight: 500;
    box-sizing: border-box;
}

.reservation_flow .list .bottom_box{
    margin: 3vw 0 0;
    padding: 0 0 10vw 15vw;
    box-sizing: border-box;
    position: relative;
}

.reservation_flow .list .bottom_box::before{
    content: "";
    background: #E8E8E8;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 5vw;
}

.reservation_flow .list > li:last-child .bottom_box::before{
    display: none;
}

.reservation_flow .list .photo{
    border-radius: 25px;
    overflow: hidden;
}

.reservation_flow .list .photo img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 400 / 220;
}

.reservation_flow .list .text_box{
 	padding: 4vw 0 0;
}

.reservation_flow .list .text_box p + p{
 	margin: 3vw 0 0;
}

.reservation_flow .list .text_box .siz_s{
 	font-size: 3.2vw;
}


/* payment
   ================================================================== */
.payment{
    padding: 15vw 0 0;
}

.payment .border_box{
    margin: 8vw 0 0;
    padding: 5vw 3vw;
    border: 1px dashed #ddd;
}

.payment .border_box h4{
    font-size: 3.4vw;
    font-weight: 400;
}

.payment .border_box ul li{
    margin: 5vw 0 0;
}

.payment .border_box ul .credit{
    margin: 5vw 0 0;
    width: 80vw;
}

.payment .border_box ul p{
    margin: 2vw 0 0 7vw;
}


/* under18
   ================================================================== */
.under18{
    padding: 15vw 0 0;
}


/* nationals
   ================================================================== */
.nationals{
    padding: 15vw 0 15vw;
}


/* bg_box_first
   ================================================================== */
.bg_box_first{
    margin: 8vw 0 0;
    padding: 5vw 3vw;
    background: #F6F6F6;
}


/* clinic_thought_block
   ================================================================== */
.clinic_thought_block{
    padding: 12vw 0 0;
}


/* tab_nav_block
   ================================================================== */
.tab_nav_block{
    padding: 12vw 0 0;
}

.tab_nav{
    display: flex;
    justify-content: space-between;
}

.tab_nav > li{
    padding: 0 0 3vw;
	width: 32%;
    box-sizing: border-box;
    transition: .3s;
    border-bottom: 3px solid #F6F6F6;
}

.tab_nav > li span{
	display: block;
    line-height: 150%;
    letter-spacing: 0.1em;
    text-align: center;
}

.tab_nav > li .eng{
	font-size: 3.3vw;
    color: #D8A1A1;
}

.tab_nav > li .jpn{
    margin: 1vw 0 0;
	font-size: 3.6vw;
    font-weight: 700;
}

.tab_nav > li.select{
	border-color: #D8A1A1 !important;
}

.tab_content_box{
	display: none;
	height: 0;
	visibility: hidden;
}

.tab_content_box.select{
	display: block;
	height: auto;
	visibility: visible;
}


/* price_note_block
   ================================================================== */
.price_note_block{
    padding: 8vw 0 0;
}

.price_note_block .border_box{
    margin: 0 0 0;
    padding: 5vw 3vw;
    border: 1px dashed #D8A1A1;
}


/* price_links
   ================================================================== */
.price_links{
    position: relative;
    font-size: 0;
}

.price_links .oc_btn{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 10vw;
    height: 100%;
    background-image: url("../images/common/price_icon_plus.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 25%;
    cursor: pointer;
}

.price_links .oc_btn.open{
    background-image: url("../images/common/price_icon_minus.svg");
}

.price_links li ul{
    display: none;
}

.price_links .link_box{
    position: relative;
}

.price_links a{
    display: inline-block;
    line-height: 150%;
}

/* price_link_list_first */
.price_link_list_first > li{
    margin: 8vw 0 0;
}

.price_link_list_first > li > .link_box{
    padding: 4vw 3vw;
    font-size: 4.0vw;
    letter-spacing: 0.1em;
    font-weight: 700;
    border: 1px solid #E8E8E8;
    position: relative;
}

.price_link_list_first > li > .link_box::before{
    content: "";
    background: #D8A1A1;
    width: 20vw;
    height: 3px;
    position: absolute;
    top: -1px;
    left: 0;
}

/* top_border_20 */
.price_link_list_first .top_border_20{
    margin-top: 4vw !important;
    padding: 2vw 0 0 !important;
    border-top: 1px dashed #C5BCB7;
    background: none !important;
    border-radius: 0 !important;
}

/* price_link_list_second */
.price_link_list_second > li{
    margin: 4vw 0 0;
}

.price_link_list_second > li > .link_box{
    padding: 4vw 3vw;
    font-size: 4.0vw;
    letter-spacing: 0.1em;
    font-weight: 700;
    border: 1px solid #E8E8E8;
    position: relative;
}

.price_link_list_second > li > .link_box::before{
    content: "";
    background: #C5BCB7;
    width: 20vw;
    height: 3px;
    position: absolute;
    top: -1px;
    left: 0;
}

/* price_link_list_third */
.price_link_list_third{
    padding: 3vw 0 0;
}

.price_link_list_third > li{
    margin: 2vw 0 0;
    padding: 4vw 3vw;
    background: #F4F1EF;
    border-radius: 10px;
    overflow: hidden;
}

.price_link_list_third > li > a{
    padding: 1vw 0;
    font-size: 3.6vw;
    letter-spacing: 0.1em;
    font-weight: 500;
    display: inline-block;
}

/* リンクをなくす */
.price_link_list_third > li > a{
    pointer-events: none;
}

.price_links.link_delete a{
    pointer-events: none;
}

.categories_link a.no_link,
.price_links a.no_link{
    pointer-events: none;
}

/* リンクなしの矢印削除 */
.menu_index_block .categories_link .link_box + ul a.no_link::before{
    display: none;
}


/* note */
.price_links .note{
    margin: 2vw 0 5vw;
    padding: 0;
    background: none;
    min-height: auto !important;
    border-radius: 0;
}

/* price_show */
.price_links .price_show{
    padding: 1.3vw 0 1vw;
    text-align: right;
    display: inline-block;
    float: right;
    line-height: 0;
}

.price_links .price_show .box + .box{
    margin: 1vw 0 0;
}

.price_links .price_show .box{
    line-height: 0;
}

.price_links .price_show .box + .box > div{
    padding: 2vw 0 0;
    border-top: 1px dashed #C5BCB7;
}

.price_table{
    margin: 0 0 0 auto;
    box-sizing: border-box;
}

.price_table th,
.price_table td{
    padding: 0 0 0 3vw;
    line-height: 150%;
    font-weight: 400;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    position: relative;
    text-align: right;
    vertical-align: baseline;
}

.price_table span{
    line-height: 150%;
    font-weight: 400;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    position: relative;
    text-align: right;
    display: inline-block;
    min-width: auto !important;
    width: auto !important;
}

.price_table .monitor_price span,
.price_table .monitor_price th,
.price_table .monitor_price td{
    font-weight: 700;
    color: #C44569;
}

.price_table .bold span,
.price_table .bold th,
.price_table .bold td{
    font-weight: 700;
}

.price_table th.left_justified,
.price_table td.left_justified{
    text-align: left;
    vertical-align: middle;
}

.price_table td.wid85{
    min-width: 20vw;
}

.price_table .name{
    font-size: 3.3vw;
}

.price_table .etc{
    font-size: 3.4vw;
}

.price_table .wid40{
    width: 13vw;
}

.price_table .price{
    font-size: 3.5vw;
    letter-spacing: 0.05em;
    width: 24vw;
}

.price_table tr td.price:first-child{
    width: 17vw;
}

.price_table .price::before{
    content: "¥";
}

.price_table .price.yen_none::before{
    display: none;
}

.price_table .tax{
    padding: 0;
    font-size: 2.2vw;
    width: 9vw !important;
    white-space: nowrap;
}

/* sp時は幅100% */
@media screen and (max-width : 499px){
    
    .sp_wid_max.price_show{
        float: none;
    }
    
    .sp_wid_max .price_table{
        margin: 0
    }
    
    .sp_wid_max .price_table th,
    .sp_wid_max .price_table td{
        padding: 0 0 0;
        display: block;
        width: 100%;
        text-align: left;
    }
    
    /*
    .sp_wid_max .price_table th,
    .sp_wid_max .price_table td span{
        font-size: 2.9vw !important;
    }
    
    .sp_wid_max .price_table td .tax{
        font-size: 2.2vw !important;
    }
    */
    
    .sp_wid_max .price_table .monitor_price th{
        padding-top: 2vw;
    }
    
}

/* stars */
.price_links .stars{
    padding-left: 8vw;
    position: relative;
    display: inline-block;
}

.price_links .stars::before{
    content: "";
    margin: auto;
    background-image: url("../images/common/icon_star.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 4vw;
    height: 4vw;
    position: absolute;
    top: -.5vw;
    bottom: 0;
    left: 1vw;
}

/* link_delete */
.price_links.link_delete li ul{
    display: block;
}

/* 第一階層なしの第二階層から表示の場合 */
.price_links.link_delete .price_link_list_third{
    padding-top: 3vw;
}

/* 第一階層なしの第二階層開閉ありの第三階層のスタートが表示の場合 ボトックス注射 */
.price_links.link_delete .price_link_list_second > li > .in_oc_btn .oc_btn{
    background-image: url("../images/common/categories_icon_minus.svg");
}

.price_links.link_delete .price_link_list_second > li > .in_oc_btn .oc_btn.open{
    background-image: url("../images/common/categories_icon_plus.svg");
}

/* 第二階層なしの第三階層表示の場合 */
.price_links.link_delete > li > .price_link_list_third{
    padding-top: 0;
}

.price_link_list_first.link_delete > li:first-child,
.price_links.link_delete > li > .price_link_list_third > li:first-child{
    margin-top: 0;
}


/* price_index_block
   ================================================================== */
.price_index_block{
    margin: 0 0 20vw;
}


/* menu_index_block
   ================================================================== */
.menu_index_block{
    margin: 8vw 0 20vw;
}

.menu_index_block .menu_kv{
    margin: 0 0 8vw;
}

.menu_index_block .menu_kv > li{
    display: flex;
    align-items: center;
}

.menu_index_block .menu_kv .photo{
    width: 50vw;
    border: 5px solid #F6F6F6;
    overflow: hidden;
    border-radius: 20px;
    box-sizing: border-box;
}

.menu_index_block .menu_kv .block_title{
    margin: 25vw 0 0 -10vw;
}


/* doctor_introduction
   ================================================================== */
.doctor_introduction{
    margin: 15vw 0 25vw;
}

.doctor_introduction .doctor_block{
    margin: 10vw 0 0;
}

.doctor_introduction .doctor_block .photo{
    width: 50vw;
    position: relative;
    z-index: 1;
}

.doctor_introduction .doctor_block .photo img{
 	width: 100%;
 	object-fit: cover;
 	aspect-ratio: 350 / 450;
}

.doctor_introduction .doctor_block .box{
    margin: -38vw 0 0 5vw;
    padding: 5vw 4vw;
    border: 1px solid #E8E8E8;
}

.doctor_introduction .doctor_block .top_box{
    padding: 0 0 0 46vw;
}

.doctor_introduction .doctor_block h2 > span{
    display: block;
    line-height: 1;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.doctor_introduction .doctor_block h2 .katagaki{
    font-size: 3.4vw;
}

.doctor_introduction .doctor_block h2 .name{
    margin: 2vw 0;
    font-size: 5.0vw;
}

.doctor_introduction .doctor_block h2 .furi{
    font-size: 3.0vw;
    font-weight: 400;
    color: #ccc;
}

.doctor_introduction .doctor_block .sns_btn{
    margin: 5vw 0 0;
}

.doctor_introduction .doctor_block .text_box{
    margin: 5vw 0 0;
}

.doctor_introduction .doctor_block .text_box p + p{
    margin: 3vw 0 0;
}

.doctor_introduction .doctor_block .text_box .list{
    margin: 5vw 0 0;
}

.doctor_introduction .doctor_block .text_box .list > li{
    margin: 6vw 0 0;
}

.doctor_introduction .doctor_block .text_box .list h3 span{
    padding: 2vw 4vw;
    font-size: 3.4vw;
    font-weight: 500;
    background: #F6F6F6;
    display: inline-block;
    border-radius: 10px;
}

.doctor_introduction .doctor_block .text_box .list h3 + p{
    margin: 3vw 0 0;
}

.doctor_introduction .doctor_photo{
    margin: 10vw 0 0;
    line-height: 0;
}

.doctor_introduction .doctor_photo img{
    width: 100%;
}


/* ==================================================================
★template_bloks
================================================================== */

/* template_section_wrap
   ================================================================== */
.template_section_wrap{
    margin: 0 0 25vw;
}

.template_section{
    padding: 12vw 0 0;
}

.template_section > .inner > p{
    margin: 8vw 0 0;
}

.template_section > .inner > p + p{
    margin: 4vw 0 0;
}


/* margin_style
   ================================================================== */
.template_section > .inner > *{
    margin-top: 8vw;
}

.template_section > .inner > *:first-child{
    margin-top: 0;
}

.mat70{
    margin-top: 15vw !important;
}

.mat65{
    margin-top: 13vw !important;
}

.mat60{
    margin-top: 12vw !important;
}

.mat40{
    margin-top: 7vw !important;
}

.mat30{
    margin-top: 6vw !important;
}

.mat25{
    margin-top: 5vw !important;
}

.mat20{
    margin-top: 4vw !important;
}


/* dot_border_box
   ================================================================== */
.dot_border_box{
    padding: 5vw 3vw;
    border: 1px dashed #846491;
}


/* bg_color_box
   ================================================================== */
.bg_color_box{
    padding: 5vw 3vw;
    background: #FDFBFA;
}

.bg_color_box.color2{
    background: #F3F0EE;
}

.bg_color_box p + p,
.dot_border_box p + p{
    margin: 4vw 0 0;
}


/* bg_ttl
   ================================================================== */
.bg_ttl{
    padding: 2vw 4vw;
    font-size: 3.6vw;
    color: #fff;
    background: #B1B1B1;
}

.bg_ttl.color2{
    background: #D8A1A1;
}


/* icon_body_title
   ================================================================== */
.icon_body_title{
    padding: 2vw 4vw 4vw 12vw;
    font-size: 3.5vw;
    font-weight: 500;
    color: #C44569;
    border-bottom: 1px dashed #C44569;
    position: relative;
}

.icon_body_title::before{
    content: "";
    background-image: url("../images/common/icon_body.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 8vw;
    height: 9vw;
    position: absolute;
    top: 0;
    left: 0;
}


/* common_table
   ================================================================== */
.common_table{
    width: 100%;
    box-sizing: border-box;
}

.common_table th,
.common_table td{
    padding: 4vw;
    line-height: 170%;
    letter-spacing: 0.1em;
    border: 1px solid #E6E0DC;
    background: #fff;
    box-sizing: border-box;
}

.common_table th{
    font-size: 3.6vw;
    width: 30%;
    background: #FFFDFC;
}

.common_table th .siz_s{
    font-size: 3.2vw;
}

.common_table td{
    font-size: 3.5vw;
}

.common_table .beside_center{
    text-align: center;
}

.common_table .vertical_center{
    vertical-align: middle;
}

.common_table .beside_pa_0{
    padding-left: 0;
    padding-right: 0;
}

.common_table .box + .box{
    margin: 4vw 0 0;
    padding: 4vw 0 0;
    border-top: 1px dashed #C5BCB7;
}

/* wid_all */
.common_table.wid_all th,
.common_table.wid_all td{
    display: block;
    width: 100%;
    border-top: none;
}

.common_table.wid_all th,
.common_table.wid_all td{
    padding: 3vw 4vw;
}

.common_table.wid_all tbody tr:first-child > *:first-child{
    border-top: 1px solid #E6E0DC;
}

/* divisions_6 */
.common_table.divisions_6 th,
.common_table.divisions_6 td{
    padding: 1vw 2vw;
    font-size: 3.5vw;
    font-weight: 400;
    text-align: center;
    vertical-align: middle;
}

.common_table.divisions_6 tr th{
    width: 10%;
}

.common_table.divisions_6 tr th:first-child{
    width: 40%;
}


/* photos
   ================================================================== */
.photos{
    font-size: 0;
}

.photos li{
    margin: 2vw 2% 0 0;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 32%;
    line-height: 0;
}

.photos li:nth-child(3n+3){
    margin-right: 0;
}

/* sp時2列 */
@media screen and (max-width : 499px){
    
    .photos.sp_2_line li{
        margin: 2vw 2% 0 0;
        width: 49%;
    }

    .photos.sp_2_line li:nth-child(2n+2){
        margin-right: 0;
    }
    
}


/* photo_max
   ================================================================== */
.photo_max700{
    width: 70vw;
}

.photo_max666{
    width: 66vw;
}

.photo_max610{
    width: 61vw;
}

.photo_max500{
    width: 50vw;
}

.photo_max475{
    width: 47vw;
}

.photo_max400{
    width: 40vw;
}

.photo_max350{
    width: 35vw;
}

.photo_max300{
    width: 30vw;
}

.photo_max280{
    width: 28vw;
}


/* dot_border_separator
   ================================================================== */
.dot_border_separator{
    margin: 10vw 0 0 !important;
    padding: 2vw 0 0 !important;
    border-top: 1px dashed #C5BCB7;
}


/* subheading
   ================================================================== */
.subheading{
    margin: 6vw 0 0;
}

.subheading .sub_title{
    font-size: 3.6vw;
    font-weight: 700;
}

.subheading .sub_list{
    margin: 0 0 0;
}

.subheading .sub_list > li{
    margin: 4vw 0 0;
}

.subheading .sub_list .sub_list_title{
    margin: 0 0 2vw;
    font-size: 3.6vw;
    font-weight: 700;
}


/* cosmetic_table
   ================================================================== */
.cosmetic_table{
    width: 100%;
    box-sizing: border-box;
    border-collapse: separate;
    border-spacing: 3px;
}

.cosmetic_table th,
.cosmetic_table td{
    padding: 2vw 1vw;
    line-height: 170%;
    font-weight: 500;
    letter-spacing: 0.1em;
    box-sizing: border-box;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #E6E0DC;
}

.cosmetic_table th{
    padding: 1.5vw 0;
    font-size: 3.6vw;
    width: 39%;
    font-weight: 700;
}

.cosmetic_table tr th:first-child{
    font-size: 3.5vw;
    font-weight: 500;
    width: 21%;
    background: #FFFDFC;
    border-color: #E6E0DC;
}

.cosmetic_table tr th:nth-child(2){
    color: #fff;
    background: #C44569;
    border-color: #C44569;
}

.cosmetic_table tr th:nth-child(3){
    color: #fff;
    background: #444;
    border-color: #444;
}

.cosmetic_table td{
    font-size: 3.6vw;
}

.cosmetic_table tr td:nth-child(2){
    color: #C44569;
    background: #FBF4F4;
    border-color: #C44569;
}

.cosmetic_table tr td:nth-child(3){
    color: #484242;
    background: #fff;
    border-color: #E6E0DC;
}


/* select_list_block
   ================================================================== */
.select_list_block{
    padding: 0 5vw 5vw 5vw;
    border: 1px dashed #89CAD4;
    position: relative;
}

.select_list_block h4{
    margin: -6vw 0 0;
}

.select_list_block h4 > span{
    padding: 3vw 5vw;
    font-size: 3.7vw;
    letter-spacing: 0.1em;
    line-height: 150%;
    font-weight: 700;
    display: inline-block;
    color: #fff;
    background: #89CAD4;
    border-radius: 100px;
}

.select_list_block ul{
    margin: 3vw 0 0;
}


/* color_bg_ttl_txt
   ================================================================== */
.color_bg_ttl_txt > li{
    margin: 3vw 0 0;
    padding: 4vw;
    background: #EDF6F8;
    border-radius: 10px;
}

.color_bg_ttl_txt.li_mat20 > li{
    margin: 2vw 0 0;
}

.color_bg_ttl_txt h5{
    font-size: 4vw;
    color: #2599AB;
}

.color_bg_ttl_txt h5.f16{
    font-size: 3.6vw;
}

.color_bg_ttl_txt p{
    margin: 2vw 0 0;
}

.color_bg_ttl_txt.yellow > li{
    background: #FFFBEC;
}

.color_bg_ttl_txt.yellow h5{
    color: #F39C12;
}


@media screen and (min-width : 500px){


    /* kv
       ================================================================== */
    .kv{
        margin: 0 0 0;
        height: 100vh;
        min-height: 700px;
    }

    .kv .volume{
        margin: 0 0 0;
    }
    
    .kv .volume .icon{
        width: 2.2vw;
    }
    
    .kv .volume .cntl{
        padding: 0 1.7vw;
        font-size: 1.2vw;
        cursor: pointer;
    }
    
    .kv .volume .cntl:hover{
    }
    
    .kv .volume .off::before{
        height: 1.2vw;
    }
    
    
    /* logo_text
       ================================================================== */
    .logo_text{
        animation-name: DASH;
    }


    /* company_info_wrap
       ================================================================== */
    .company_info_wrap{
        margin: 8.0vw 0 0;
        padding: 12.0vw 0 8.6vw;
        box-sizing: border-box;
        position: relative;
    }

    .company_info_wrap.mat90{
        margin-top: 9.0vw;
    }

    .company_info_wrap .posi_relative{
        margin: 4.5vw 0 0;
        position: relative;
    }

    .company_info_wrap .company_info_list{
        margin: 0 0 0 50%;
        padding: 0 0 .7vw 2.8vw;
        box-sizing: border-box;
        position: relative;
    }

    .company_info_wrap .company_info_list > li{
        padding: 1.8vw 0 1.8vw 2.2vw;
    }

    .company_info_wrap .company_info_list > li:last-child{
        padding-bottom: 0;
    }

    .company_info_wrap h1 .name{
        font-size: 2.0vw;
    }

    .company_info_wrap h1 .subject{
        margin: .5vw 0 0;
        font-size: 1.3vw;
    }

    .company_info_wrap .map{
        margin: 0;
        position: absolute;
        top: 0;
        right: 50%;
        width: 50vw;
        height: 100%;
    }

    .company_info_wrap .map iframe{
        width: 100%;
        height: 100%;
    }

    .company_info_wrap .company_info_photo{
        margin: 0;
        position: absolute;
        top: 0;
        right: 50%;
        width: 50vw;
        height: 100%;
    }


    /* company_info_add
       ================================================================== */
    .company_info_add .add_txt{
        font-size: 1.5vw;
        line-height: 2.5vw;
    }

    .company_info_add .googlemaps_btn{
        margin: 1.5vw 0 0;
    }

    .company_info_add .note{
        margin: 2.0vw 0 0;
        font-size: 1.3vw;
        line-height: 2.3vw;
    }


    /* tel_form_cv_block
       ================================================================== */
    .tel_form_cv_block .btn{
        margin: 2.0vw 0 0;
        text-align: left;
    }


    /* tel_sns_box
       ================================================================== */
    .tel_sns_box{
        display: flex;
    }

    .tel_style a{
        display: inline-block;
    }

    .tel_style .num_txt .ttl{
        font-size: 2.0vw;
    }

    .tel_style .num_txt .num{
        margin: 0 0 0 .5vw;
        font-size: 2.7vw;
    }

    .tel_style .bottom_txt{
        margin: -.5vw 1.4vw 0 0;
    }

    .tel_style .bottom_txt span{
        font-size: 1.4vw;
    }

    .tel_sns_box .sns_btn{
        margin: .3vw 0 0 2.0vw;
    }
    

    /* categories_list
       ================================================================== */
    .categories_list{
        position: relative;
    }

    .categories_list > li{
        margin: 1.5vw 0 0;
    }

    .categories_list .list_ttl{
        font-size: 1.5vw;
    }

    .categories_list .list_ttl + .categories_link{
        margin: 0 0 0;
    }


    /* categories_link
       ================================================================== */
    .categories_link > li{
        margin: 1.0vw 1% 0 0;
        width: 15.5%;
    }

    .categories_link > li:nth-child(2n+2){
        margin-right: 1%;
    }

    .categories_link > li:nth-child(6n+6){
        margin-right: 0;
    }

    .index_menu_block .categories_link > li{
        margin: 1.0vw 2% 0 0;
        width: 49%;
    }

    .index_menu_block .categories_link > li:nth-child(6n+6){
        margin-right: 2%;
    }

    .index_menu_block .categories_link > li:nth-child(2n+2){
        margin-right: 0;
    }

    .categories_link > li > ul > li{
        margin: .5vw 0 0;
    }

    .categories_link a{
        padding: .5vw 1.5vw;
        font-size: 1.3vw;
        min-height: 5.0vw;
        transition: .3s;
    }

    .categories_link .link_box.in_oc_btn a{
        padding-right: 4.0vw;
    }

    .categories_link .link_box > a{
        height: 5.0vw;
    }

    .categories_link a:hover{
        text-decoration: underline;
    }

    .categories_link .oc_btn{
        width: 4.0vw;
        background-size: 1.2vw;
        transition: .3s;
    }

    .categories_link .oc_btn:hover{
        background-color: #F5EEEE;
    }

    /* menu_index_block */
    .menu_index_block .categories_link > li{
        margin: 2.0vw 0 0;
    }

    .menu_index_block .categories_link .oc_btn{
        width: 6.0vw;
        background-size: 1.2vw;
    }

    .menu_index_block .categories_link > li > ul > li {
        margin: 2.0vw 0 0;
    }    

    .menu_index_block .categories_link .link_box a{
        padding: 2.5vw 6.0vw 2.5vw 3.0vw;
    }

    .menu_index_block .categories_link .link_box + ul a{
        padding: 2.4vw 3.0vw;
    }

    .menu_index_block .categories_link .link_box + ul a::before{
        width: 6.0vw;
        background-size: .7vw;
    }


    /* pv_block
       ================================================================== */
    .pv_block{
        text-align: center;
    }


    /* index_campaign
       ================================================================== */
    .index_campaign{
        padding: 7.0vw 0 10.0vw;
    }

    .index_campaign .slider_wrap{
        margin: 4.0vw 0 0;
    }

    .campaign_slider.swiper-container{
        margin: 0;
        width: 74.0vw;
    }

    .campaign_slider .thum{
        overflow: hidden;
    }

    .campaign_slider .thum img{
        transition: .3s;
    }

    .campaign_slider a:hover .thum img{
        transform: scale(1.05);
    }

    .campaign_slider .text_box{
        padding: 1.8vw 0 0;
    }

    .campaign_slider .text_box .ttl{
        font-size: 1.5vw;
    }

    .index_campaign .btn{
        margin: 4.5vw 0 0;
    }


    /* index_menu_block
       ================================================================== */
    .index_menu_block{
        padding: 11.0vw 0 13.0vw;
    }

    .index_menu_block .block_title + p{
        margin: 1.5vw 0 0;
        font-size: 1.4vw;
    }

    .index_menu_block .categories_list{
        margin: 5.0vw 0 0;
        display: flex;
        justify-content: space-between;
    }

    .index_menu_block .categories_list > li{
        width: 32%;
    }

    .index_menu_block .categories_list .list_thm_ttl{
        margin: 0 0 5.5vw;
        width: 100%;
    }

    .index_menu_block .categories_list .list_thm_ttl .text_box{
        top: 94%;
        left: 55%;
    }

    .index_menu_block .categories_list .list_thm_ttl .eng{
        font-size: 4.3vw;
    }

    .index_menu_block .categories_list .list_thm_ttl .jpn{
        margin: 1.0vw 0 0;
        font-size: 1.4vw;
    }


    /* number_ol
       ================================================================== */
    .number_ol{
        margin: 2.0vw auto 0;
    }

    .number_ol > li{
        margin: 1.5vw 0 0;
        padding: 2.2vw 1.0vw 2.2vw 4.2vw;
    }

    .number_ol .number{
        font-size: 1.5vw;
        top: 0;
        left: 1.0vw;
    }

    .number_ol h4{
        font-size: 1.7vw;
    }

    .number_ol p{
        font-size: 1.6vw;
        line-height: 2.6vw;
    }

    .number_ol h4 + p{
        margin: .5vw 0 0;
    }


    /* index_thought
       ================================================================== */
    .index_thought{
        padding: 12.0vw 0 0;
    }

    .index_thought .top_box{
        padding: 17.0vw 6.3vw 0 0;
        min-height: 48.1vw;
        box-sizing: border-box;
    }

    .index_thought .animation_photo_position{
        width: 48.0vw;
        left: 5.0vw;
    }

    .index_thought .thought_message{
        margin: 0 0 0 auto;
        padding: 5.4vw 3.0vw 5.0vw 11.5vw;
        width: 47.0vw;
    }

    .index_thought .thought_message .ttl::after{
        width: 13.5vw;
    }

    .index_thought.thought_block .note{
        margin: 3.5vw 0 0;
        padding: 2.4vw 2.0vw 2.4vw 0;
        text-align: left;
    }


    /* thought_block
       ================================================================== */
    .thought_message{
        padding: 5.2vw 3.0vw 5.2vw 11.5vw;
    }

    .thought_message .ttl{
        font-size: 2.3vw;
    }

    .thought_message .ttl::before,
    .thought_message .ttl::after{
        right: calc(100% + 3.3vw);
    }

    .thought_message .ttl::before{
        width: .7vw;
        height: .7vw;
    }

    .thought_message .txt{
        margin: 3.0vw 0 0;
        font-size: 1.7vw;
        line-height: 3.5vw;
    }

    .thought_block .note{
        margin: 3.0vw 0 0;
        padding: 2.2vw;
        text-align: center;
    }


    /* promise_block
       ================================================================== */
    .promise_block{
        padding: 6.0vw 0 0;
    }

    .promise_block .box{
        padding: 5.0vw;
    }

    .promise_block .box h3{
        font-size: 3.0vw;
    }

    .promise_block .note{
        margin: 4.0vw 0 0;
        padding: 1.6vw;
    }


    /* hash_categories
       ================================================================== */
    .hash_categories{
        display: block;
    }

    .hash_categories > a,
    .hash_categories > span{
        margin: 1.0vw 1.0vw 0 0;
        font-size: 1.4vw;
        transition: .3s;
    }

    .hash_categories > a:hover{
        opacity: .5;
    }


    /* index_case
       ================================================================== */
    .index_case{
        padding: 12.5vw 0 13.5vw;
    }

    .index_case .cases_list{
        margin: 2.0vw 0 0;
    }

    .index_case .btn{
        margin: 6.0vw 0 0;
    }


    /* cases_list
       ================================================================== */
    .cases_list{
        font-size: 0;
    }

    .cases_list > li{
        margin: 2.5vw 2% 0 0;
        width: 32%;
    }

    .cases_list > li:nth-child(2n+2){
        margin-right: 2%;
    }

    .cases_list > li:nth-child(3n+3){
        margin-right: 0;
    }

    .cases_list li .photo{
        overflow: hidden;
    }

    .cases_list li .photo img{
        transition: .3s;
    }

    .cases_list li a:hover .photo img{
        transform: scale(1.05);
    }


    /* index_news
       ================================================================== */
    .index_news{
        padding: 12.0vw 0;
    }

    .index_news .btn{
        margin: 5.0vw 0 0;
    }


    /* index_news_list
       ================================================================== */
    .index_news_list{
        margin: 6.0vw 0 0;
    }

    .index_news_list a{
        padding: 2.4vw 0;
    }

    .index_news_list > li a::before{
        content: "";
        width: 200vw;
        height: 1px;
        position: absolute;
        bottom: -1px;
        left: -100vw;
        background: #C44569;
        transition: 1.0s transform cubic-bezier(0, 0.63, 0.47, 0.96);
        transform-origin: center right;
        transform: scaleX(0);
    }

    .index_news_list > li a:hover::before{
        transform: scaleX(1);
        transform-origin: center left;
    }

    .index_news_list a .date{
        width: 11.6vw;
        font-size: 1.3vw;
    }

    .index_news_list a .title{
        width: calc(100% - 7vw - 11.6vw);
        margin-top: -2px;
        padding-top: 0;
        font-size: 1.6vw;
    }


    /* news_list_block
       ================================================================== */
    .news_list_block{
        padding: 0 0 0;
    }

    .news_list_block .inner{
        padding-top: 6.5vw;
        padding-bottom: 16.0vw;
    }

    .news_list > li .btn_box{
        padding: 2vw 6vw 2vw 2vw;
    }
    
    .news_list > li .btn_box::before{
        content: "";
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: -1px;
        left: 0;
        background: #C44569;
        transition: 1.0s transform cubic-bezier(0, 0.63, 0.47, 0.96);
        transform-origin: center right;
        transform: scaleX(0);
    }

    .news_list > li .btn_box:hover::before{
        transform: scaleX(1);
        transform-origin: center left;
    }

    .news_list > li .btn_box::after{
        width: 1vw;
        height: 3vw;
        top: 3vw;
        bottom: 0;
        right: 2vw;
    }

    .news_list > li .date{
    	font-size: 1.6vw;
    }
    
    .news_list > li .title{
        margin: 1vw 0 0;
    	font-size: 1.6vw;
    }
    
    .news_list > li .btn_box::after{
        transition: all cubic-bezier(0.77, 0, 0.175, 1) 0.3s;
    }
    
    .news_list > li .btn_box .date,
    .news_list > li .btn_box .title{
        transition: .3s;
    }
 	
    .news_list > li .btn_box:hover::after{
        transform: translateX(5px);
    }
 	

	/* pagination
	   ================================================================== */
	.pagination{
		margin: 6vw 0 0;
		padding: 0;
	}

    .pagination a,
    .pagination .active span{
    	padding: 1px 0 0;
    }
	
	.pagination a:hover{
		background: #484242;
	}


    /* news_show
       ================================================================== */
    .news_show .inner{
        padding-top: 9.5vw;
        padding-bottom: 11.0vw;
    }
     

	/* sns_area
	   ================================================================== */
    .sns_area {
        margin: 2vw 0 0;
    }
    
	.sns_area div{
		margin-bottom: 0;
		margin-right: 5px;
	}


    /* detail_page
       ================================================================== */
    .detail_page{
    	margin: 0 0 0;
    }

    .detail_page .detail_box h1{
    	font-size: 20px;
    	margin: 0 0 10px;
    	padding: 0 10px 10px;
    }
    
    .detail_page .flex{
    	margin: 2vw 0 0;
    }
    
    .detail_page .date{
        width: 16.0vw;
        font-size: 1.5vw;
    }
    
    .detail_page .hash_categories{
        margin: -.4vw 0 0;
        width: calc(100% - 16.0vw);
    }
    
    .detail_page .photo{
    	margin: 2vw 0 0;
    }
    	
    .detail_page .detail_body{
    	margin: 3vw 0 0;
    }


	/* detail_btn_area
	   ================================================================== */
	.detail_btn_area{
		margin: 3.0vw 0 0;
		font-size: 0;
		text-align: center;
	}
	
    .detail_btn_area .btn,
    .detail_btn_area .btn.next,
    .detail_btn_area .btn.prev{
    	width: 32%;
    }

    .detail_btn_area .btn.back{
    	margin: 0 2%;
    }
    
	.detail_btn_area .btn a,
	.detail_btn_area .btn button{
		padding: 0;
		width: 100%;
        height: 45px;
        line-height: 45px;
		text-align: center;
		font-size: 15px;
		letter-spacing: 0.10em;
		transition: .3s;
		cursor: pointer;
	}
	
	.detail_btn_area .btn path{
		transition: .3s;
	}
	
	.detail_btn_area .btn a:hover,
	.detail_btn_area .btn button:hover{
		background: #484242;
		border-color: #484242;
        color: #fff;
	}

	.detail_btn_area .btn a:hover path{
        fill: #fff;
	}


    /* system_section
       ================================================================== */
    .system_section .inner{
        padding-top: 11.0vw;
        padding-bottom: 15.0vw;
    }


    /* select_category
       ================================================================== */
    .select_category{
        top: 3vw;
        right: 2vw;
    }

    .select_category .select_btn{
        padding: .8vw 5.0vw .8vw 2.0vw;
        font-size: 1.4vw;
        transition: .3s;
    }

    .select_category .select_btn:hover{
        color: #D8A1A1;
    }

    .select_category .select_btn::before{
        width: 1.0vw;
        height: .6vw;
        right: 1.7vw;
    }

    .select_category ul{
        min-width: 23.0vw;
        right: 0;
    }

    .select_category ul > li{
        margin: 0 0 0;
    }

    .select_category ul > li a{
        padding: 0 4.0vw 0 2.3vw;
        height: 6.0vw;
        font-size: 1.4vw;
    }

    .select_category ul > li a::after{
        content: "";
        background: #D8A1A1;
        width: 100%;
        height: 1px;
        position: absolute;
        top: 100%;
        left: 0;
        transition: transform .5s cubic-bezier(0.77, 0.38, 0.43, 0.85);
        transform: scaleX(0);
        transform-origin: right center;
    }

    .select_category ul > li:last-child a{
        border-bottom: none;
    }

    .select_category ul > li a:hover::after{
        transform: scaleX(1);
        transform-origin: left center;
    }


    /* campaigns_page
       ================================================================== */
    .campaigns_list{
        font-size: 0;
    }

    .campaigns_list > li{
        margin: 3.5vw 5% 0 0;
        width: 30%;
    }

    .campaigns_list > li:first-child{
        margin: 0 0 3.0vw;
        padding: 0 0 6.5vw;
    }

    .campaigns_list > li:nth-child(2n+1){
        margin-right: 5%;
    }

    .campaigns_list > li:nth-child(3n+1){
        margin-right: 0;
    }

    .campaigns_list > li:first-child a{
        display: flex;
    }

    .campaigns_list > li:first-child .thum{
        width: 50%;
    }

    .campaigns_list .thum{
        overflow: hidden;
    }

    .campaigns_list .thum img{
        transition: .3s;
    }

    .campaigns_list a:hover .thum img{
        transform: scale(1.05);
    }

    .campaigns_list .text_box{
        padding: 1.3vw 0 0;
        box-sizing: border-box;
    }

    .campaigns_list > li:first-child .text_box{
        padding: 3.5vw 0 0 4.5vw;
        width: 50%;
    }

    .campaigns_list .text_box .ttl{
        font-size: 1.6vw;
        line-height: 2.6vw;
    }

    .campaigns_list > li:first-child .text_box .ttl{
        font-size: 2.0vw;
        line-height: 3.5vw;
    }


    /* campaigns_show
       ================================================================== */
    .campaigns_show{
        margin: 0 0 5.0vw;
        display: flex;
    }

    .campaigns_show .thum{
        width: 50%;
        min-height: 48vw;
    }

    .campaigns_show .thum img + img{
        margin-top: 2.0vw;
    }

    .campaigns_show .text_box{
        padding: 0 0 0 4.5vw;
        width: 50%;
        box-sizing: border-box;
    }

    .campaigns_show .text_box .ttl{
        font-size: 2.0vw;
        line-height: 3.5vw;
    }

    .campaigns_show .text_box .detail_body{
        margin: 2.0vw 0 0;
    }


    /* cases_show
       ================================================================== */
    .cases_show{
        margin: 0 0 5.0vw;
        display: flex;
    }

    .cases_show .thum{
        width: 50%;
        min-height: 48vw;
    }

    .cases_show .thum img + img{
        margin-top: 2.0vw;
    }

    .cases_show .text_box{
        padding: 0 0 0 4.5vw;
        width: 50%;
        box-sizing: border-box;
    }

    .cases_show .text_box .ttl{
        font-size: 2.0vw;
        line-height: 3.5vw;
    }

    .cases_show .text_box .detail_body{
        margin: 2.0vw 0 0;
    }


    /* columns_list
       ================================================================== */
    .columns_list{
        margin: 0 0 0;
        font-size: 0;
    }

    .columns_list > li{
        margin: 2.0vw 2% 0 0;
        width: 32%;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }

    .columns_list > li:nth-child(3n+3){
        margin-right: 0;
    }

    .columns_list .box{
        padding: 2.0vw;
        display: block;
    }

    .columns_list .thum{
        width: 100%;
        overflow: hidden;
    }

    .columns_list .thum img{
        transition: .3s;
    }

    .columns_list a:hover .thum img{
        transform: scale(1.05);
    }

    .columns_list .text_box{
        padding: 1.5vw 0 0;
        width: 100%;
    }

    .columns_list .text_box .ttl{
        font-size: 1.6vw;
        line-height: 2.4vw;
    }


    /* anchor_links_block
       ================================================================== */
    .anchor_links_block{
        margin: 8.5vw 0 0;
    }

    .anchor_links_block .list{
        margin: 0 0 0;
    }

    .anchor_links_block .list > li{
        margin: 0 4% 0 0;
        width: 22%;
    }

    .anchor_links_block .list > li:nth-child(2n+2){
        margin-right: 4%;
    }

    .anchor_links_block .list > li:nth-child(4n+4){
        margin-right: 0;
    }

    .anchor_links_block .list li a{
        padding: 1.6vw 0 2.2vw;
        font-size: 1.6vw;
        transition: .3s;
    }

    .anchor_links_block .list li a::before{
        width: 4.0vw;
    }

    .anchor_links_block .list li a::after{
        width: 1.0vw;
        height: .6vw;
        left: 2.0vw;
        transition: .3s;
    }

    .anchor_links_block .list li a:hover{
        color: #D8A1A1;
    }

    .anchor_links_block .list li a:hover::after{
        transform: translateY(5px);
    }


    /* reservation_flow
       ================================================================== */
    .reservation_flow{
        padding: 8.0vw 0 0;
    }

    .reservation_flow .list{
        margin: 5.0vw 0 0;
    }

    .reservation_flow .list > li{
        margin: 1.5vw 0 0;
    }

    .reservation_flow .list .number{
        width: 5.0vw;
        height: 5.0vw;
        font-size: 1.5vw;
    }

    .reservation_flow .list .ttl{
        padding: 0 0 0 3.0vw;
        width: calc(100% - 5.0vw);
        font-size: 1.8vw;
    }

    .reservation_flow .list .bottom_box{
        margin: 1.8vw 0 0;
        padding: 0 0 4.0vw 8.0vw;
        display: flex;
    }

    .reservation_flow .list .bottom_box::before{
        left: 2.5vw;
    }

    .reservation_flow .list .photo{
        width: 40.0vw;
    }

    .reservation_flow .list .text_box{
        padding: 1.5vw 0 0 2.7vw;
        width: calc(100% - 40.0vw);
        box-sizing: border-box;
    }

    .reservation_flow .list .text_box p + p{
        margin: 1.0vw 0 0;
    }

    .reservation_flow .list .text_box .siz_s{
        font-size: 1.4vw;
    }


    /* payment
       ================================================================== */
    .payment{
        padding: 12.0vw 0 0;
    }

    .payment .border_box{
        margin: 4.0vw 0 0;
        padding: 3.5vw 3.0vw;
    }

    .payment .border_box h4{
        font-size: 1.4vw;
    }

    .payment .border_box ul li{
        margin: 2.0vw 0 0;
    }

    .payment .border_box ul .credit{
        margin: 2.0vw 0 0;
        width: 42.0vw;
    }

    .payment .border_box ul p{
        margin: 1.0vw 0 0 3.5vw;
    }


    /* under18
       ================================================================== */
    .under18{
        padding: 12.0vw 0 0;
    }


    /* nationals
       ================================================================== */
    .nationals{
        padding: 7.0vw 0 12.0vw;
    }


    /* bg_box_first
       ================================================================== */
    .bg_box_first{
        margin: 4.0vw 0 0;
        padding: 2.0vw 3.0vw;
    }


    /* clinic_thought_block
       ================================================================== */
    .clinic_thought_block{
        padding: 10.0vw 0 0;
    }


    /* tab_nav_block
       ================================================================== */
    .tab_nav_block{
        padding: 8.5vw 0 0;
    }

    .tab_nav > li{
        padding: 0 0 1.3vw;
        cursor: pointer;
    }

    .tab_nav > li:hover{
        border-color: #EFE0E0;
    }

    .tab_nav > li .eng{
        font-size: 1.3vw;
    }

    .tab_nav > li .jpn{
        margin: .5vw 0 0;
        font-size: 1.6vw;
    }


    /* price_note_block
       ================================================================== */
    .price_note_block{
        padding: 5.5vw 0 0;
    }

    .price_note_block .border_box{
        margin: 0 0 0;
        padding: 2.3vw 2.5vw;
    }


    /* price_links
       ================================================================== */
    .price_links{
        position: relative;
    }

    .price_links .oc_btn{
        width: 8.0vw;
        background-size: 1.2vw;
        transition: .3s;
        cursor: pointer;
    }

    .price_links .oc_btn:hover{
        background-color: #F5EEEE;
    }
    
    .price_links .link_box{
        position: relative;
    }

    .price_links a{
        display: inline-block;
        line-height: 150%;
    }

    .price_links a:hover{
        text-decoration: underline;
    }

    /* price_link_list_first */
    .price_link_list_first > li{
        margin: 5.0vw 0 0;
    }

    .price_link_list_first > li > .link_box{
        padding: 1.9vw 2.0vw;
        font-size: 2.0vw;
    }

    .price_link_list_first > li > .link_box::before{
        width: 10.0vw;
    }

    /* top_border_20 */
    .price_link_list_first .top_border_20{
        margin-top: 2.0vw !important;
        padding: 1.0vw 0 0 !important;
        min-height: auto;
    }

    /* price_link_list_second */
    .price_link_list_second > li{
        margin: 3.0vw 0 0;
    }

    .price_link_list_second > li > .link_box{
        padding: 1.9vw 2.0vw;
        font-size: 2.0vw;
    }

    .price_link_list_second > li > .link_box::before{
        width: 10.0vw;
    }

    /* price_link_list_third */
    .price_link_list_third{
        padding: 2.0vw 0 0;
    }

    .price_link_list_third > li{
        margin: 1.0vw 0 0;
        padding: 0 3.2vw 0 3.0vw;
        min-height: 7.0vw;
        display: flex;
        align-items: center;
        box-sizing: border-box;
    }

    .price_link_list_third > li > a{
        padding: 0;
        font-size: 1.6vw;
        display: inline-block;
    }

    /* note */
    .price_links .note{
        margin: 1.0vw 0 3.0vw;
    }

    /* price_show */
    .price_links .price_show{
        margin: 0 0 0 auto;
        padding: 0;
    }

    .price_links .price_show .box{
        padding: 1.0vw 0;
        display: block;
    }

    .price_links .price_show .box + .box{
        margin: 0 0 0;
        padding: 0;
    }

    .price_links .price_show .box + .box > div{
        padding: 1.0vw 0;
    }

    .price_table{
        margin: 0 0 0 auto;
        box-sizing: border-box;
    }

    .price_table th,
    .price_table td{
        padding: 0 0 0 .5vw;
        line-height: 157%;
        box-sizing: border-box;
        position: relative;
        text-align: right;
    }

    .price_table span{
        line-height: 157%;
    }

    .price_table td.wid85{
        min-width: 8.5vw;
    }

    .price_table .name{
        font-size: 1.3vw;
    }

    .price_table .etc{
        font-size: 1.4vw;
    }

    .price_table .wid40{
        width: 4.0vw;
    }

    .price_table .price{
        font-size: 1.5vw;
        width: auto;
        min-width: 10.0vw;
    }

    .price_table tr td.price:first-child{
        width: auto;
        min-width: 7.0vw;
    }

    .price_table .tax{
        font-size: 1.1vw;
        width: 4.2vw !important;
    }

    /* stars */
    .price_links .stars{
        padding-left: 5.0vw !important;
    }

    .price_links .stars::before{
        width: 2.0vw;
        height: 2.0vw;
        left: 1.0vw;
        top: -.4vw;
    }

    /* link_delete */
    .price_links.link_delete .price_link_list_third{
        padding-top: 2.0vw;
    }


    /* price_index_block
       ================================================================== */
    .price_index_block{
        margin: 0 0 20.0vw;
    }


    /* menu_index_block
       ================================================================== */
    .menu_index_block{
        margin: 5.5vw 0 11.0vw;
    }

    .menu_index_block .menu_kv{
        margin: 0 0 5.5vw;
    }

    .menu_index_block .menu_kv > li{
        display: block;
        width: 32%;
    }

    .menu_index_block .menu_face_block .menu_kv > li{
        margin-left: 34%;
    }

    .menu_index_block .menu_body_block .menu_kv > li{
        margin-left: 68%;
    }

    .menu_index_block .menu_kv .photo{
        width: 100%;
    }

    .menu_index_block .menu_kv .block_title{
        margin: -2.5vw 0 0 1.0vw;
    }


    /* doctor_introduction
       ================================================================== */
    .doctor_introduction{
        margin: 14.0vw 0 24.0vw;
    }

    .doctor_introduction .doctor_block{
        margin: 5.3vw 0 0;
        display: flex;
    }

    .doctor_introduction .doctor_block .photo{
        width: 35.0vw;
    }

    .doctor_introduction .doctor_block .box{
        margin: 7.9vw 0 0 -4.3vw;
        padding: 3.0vw 4.0vw 5.0vw 8.0vw;
        width: calc(100% - 35.0vw + 4.3vw);
        box-sizing: border-box;
    }

    .doctor_introduction .doctor_block .top_box{
        padding: 0 0 0;
    }

    .doctor_introduction .doctor_block h2 .katagaki{
        font-size: 1.4vw;
    }

    .doctor_introduction .doctor_block h2 .name{
        margin: .5vw 0 .7vw;
        font-size: 2.2vw;
    }

    .doctor_introduction .doctor_block h2 .furi{
        font-size: 1.3vw;
    }

    .doctor_introduction .doctor_block .sns_btn{
        margin: 1.5vw 0 0;
    }

    .doctor_introduction .doctor_block .text_box{
        margin: 3.0vw 0 0;
    }

    .doctor_introduction .doctor_block .text_box p{
        line-height: 2.8vw;
    }

    .doctor_introduction .doctor_block .text_box p + p{
        margin: 2.3vw 0 0;
    }

    .doctor_introduction .doctor_block .text_box .list{
        margin: 3.0vw 0 0;
    }

    .doctor_introduction .doctor_block .text_box .list > li{
        margin: 3.0vw 0 0;
    }

    .doctor_introduction .doctor_block .text_box .list h3 span{
        padding: 1.0vw 2.0vw;
        font-size: 1.4vw;
    }

    .doctor_introduction .doctor_block .text_box .list h3 + p{
        margin: 2.3vw 0 0;
    }

    .doctor_introduction .doctor_photo{
        margin: 8.0vw 0 0;
    }


    /* ==================================================================
    ★template_bloks
    ================================================================== */

    /* template_section_wrap
       ================================================================== */
    .template_section_wrap{
        margin: 3.0vw 0 20.0vw;
    }

    .template_section{
        padding: 7.0vw 0 0;
    }

    .template_section > .inner > p{
        margin: 3.5vw 0 0;
    }

    .template_section > .inner > p + p{
        margin: 2.5vw 0 0;
    }


    /* margin_style
       ================================================================== */
    .template_section > .inner > *{
        margin-top: 4.0vw;
    }

    .mat70{
        margin-top: 7.0vw !important;
    }

    .mat65{
        margin-top: 6.5vw !important;
    }

    .mat60{
        margin-top: 6.0vw !important;
    }

    .mat40{
        margin-top: 4.0vw !important;
    }

    .mat30{
        margin-top: 3.0vw !important;
    }

    .mat25{
        margin-top: 2.5vw !important;
    }

    .mat20{
        margin-top: 2.0vw !important;
    }


    /* dot_border_box
       ================================================================== */
    .dot_border_box{
        padding: 2.4vw 3.0vw 2.5vw;
    }


    /* bg_color_box
       ================================================================== */
    .bg_color_box{
        padding: 2.0vw 3.0vw 2.5vw;
    }

    .bg_color_box p + p,
    .dot_border_box p + p{
        margin: 2.3vw 0 0;
    }

    
    /* bg_ttl
       ================================================================== */
    .bg_ttl{
        padding: 1.3vw 3.0vw;
        font-size: 1.6vw;
    }


    /* icon_body_title
       ================================================================== */
    .icon_body_title{
        padding: 1.0vw 1.5vw 1.7vw 7.0vw;
        font-size: 1.5vw;
    }

    .icon_body_title::before{
        width: 3.4vw;
        height: 3.6vw;
        left: 1.5vw;
    }


    /* common_table
       ================================================================== */
    .common_table th,
    .common_table td{
        padding: 2.6vw 3.0vw;
        line-height: 2.7vw;
    }

    .common_table th{
        font-size: 1.6vw;
        width: 26%;
    }

    .common_table th .siz_s{
        font-size: 1.4vw;
    }

    .common_table td{
        padding: 2.6vw 2.7vw 2.6vw 3.5vw;
        font-size: 1.5vw;
    }

    .common_table .box + .box{
        margin: 2.3vw 0 0;
        padding: 2.3vw 0 0;
    }

    /* wid_all */
    .common_table.wid_all th{
        padding: 1.5vw 2.5vw;
    }

    .common_table.wid_all td{
        padding: 2.1vw 2.5vw;
    }

    /* divisions_6 */
    .common_table.divisions_6 th,
    .common_table.divisions_6 td{
        padding: 1.1vw 1.0vw;
        font-size: 1.5vw;
    }

    .common_table.divisions_6 tr th{
        width: 16%;
    }

    .common_table.divisions_6 tr th:first-child{
        width: 20.4%;
    }


    /* photos
       ================================================================== */
    .photos li{
        margin: 0 2% 0 0;
    }


    /* photo_max
       ================================================================== */
    .photo_max700{
        width: 70vw;
    }

    .photo_max666{
        width: 66.6vw;
    }

    .photo_max610{
        width: 61vw;
    }

    .photo_max500{
        width: 50vw;
    }

    .photo_max475{
        width: 47.5vw;
    }

    .photo_max400{
        width: 40vw;
    }

    .photo_max350{
        width: 35vw;
    }

    .photo_max300{
        width: 30vw;
    }

    .photo_max280{
        width: 28vw;
    }


    /* dot_border_separator
       ================================================================== */
    .dot_border_separator{
        margin: 5.0vw 0 0 !important;
        padding: 1.0vw 0 0 !important;
    }


    /* subheading
       ================================================================== */
    .subheading{
        margin: 3.0vw 0 0;
    }

    .subheading .sub_title{
        font-size: 1.6vw;
    }

    .subheading .sub_list{
        margin: 0 0 0;
    }

    .subheading .sub_list > li{
        margin: 1.6vw 0 0;
    }

    .subheading .sub_list .sub_list_title{
        margin: 0 0 1.0vw;
        font-size: 1.6vw;
    }


    /* cosmetic_table
       ================================================================== */
    .cosmetic_table{
        border-spacing: 3px;
    }

    .cosmetic_table th,
    .cosmetic_table td{
        padding: 2.0vw 0;
    }

    .cosmetic_table th{
        padding: 1.5vw 0;
        font-size: 1.6vw;
        width: 39%;
    }

    .cosmetic_table tr th:first-child{
        font-size: 1.5vw;
        width: 21%;
    }

    .cosmetic_table td{
        font-size: 1.6vw;
    }


    /* select_list_block
       ================================================================== */
    .select_list_block{
        padding: 0 2.7vw 3.5vw 2.7vw;
    }

    .select_list_block h4{
        margin: -2.5vw 0 0;
    }

    .select_list_block h4 > span{
        padding: 1.3vw 2.1vw;
        font-size: 1.7vw;
    }

    .select_list_block ul{
        margin: 1.6vw 0 0;
    }
    

    /* color_bg_ttl_txt
       ================================================================== */
    .color_bg_ttl_txt > li{
        margin: 1.5vw 0 0;
        padding: 1.8vw 2.5vw;
    }

    .color_bg_ttl_txt.li_mat20 > li{
        margin: 2.0vw 0 0;
    }

    .color_bg_ttl_txt h5{
        font-size: 2.0vw;
    }

    .color_bg_ttl_txt h5.f16{
        font-size: 1.6vw;
    }

    .color_bg_ttl_txt p{
        margin: 1.0vw 0 0;
    }


}
@media screen and (min-width : 1040px){    


    /* kv
       ================================================================== */
    .kv{
    	margin: 0 0 0;
        height: 100vh;
        min-height: 700px;
    }
    
    .kv .inner{
        max-width: 100%;
    }

    .kv video{
        min-height: 100%;
    }

    .kv .volume{
        margin: 0 0 0;
    }
    
    .kv .volume .icon{
        width: 22px;
    }
    
    .kv .volume .cntl{
        padding: 0 17px;
        font-size: 12px;
    }
    
    .kv .volume .off::before{
        height: 12px;
    }
    

    /* company_info_wrap
       ================================================================== */
    .company_info_wrap{
        margin: 80px 0 0;
        padding: 120px 0 86px;
        box-sizing: border-box;
        position: relative;
    }

    .company_info_wrap.mat90{
        margin-top: 90px;
    }

    .company_info_wrap .posi_relative{
        margin: 45px 0 0;
        position: relative;
    }

    .company_info_wrap .company_info_list{
        margin: 0 0 0 50%;
        padding: 0 0 7px 28px;
        box-sizing: border-box;
        position: relative;
    }

    .company_info_wrap .company_info_list > li{
        padding: 18px 0 18px 22px;
    }

    .company_info_wrap h1 .name{
        font-size: 20px;
    }

    .company_info_wrap h1 .subject{
        margin: 5px 0 0;
        font-size: 13px;
    }

    .company_info_wrap .map{
        margin: 0;
        position: absolute;
        top: 0;
        right: 50%;
        width: 50vw;
        height: 100%;
    }

    .company_info_wrap .map iframe{
        width: 100%;
        height: 100%;
    }

    .company_info_wrap .company_info_photo{
        margin: 0;
        position: absolute;
        top: 0;
        right: 50%;
        width: 50vw;
        height: 100%;
    }


    /* company_info_add
       ================================================================== */
    .company_info_add .add_txt{
        font-size: 15px;
        line-height: 25px;
    }

    .company_info_add .googlemaps_btn{
        margin: 15px 0 0;
    }

    .company_info_add .note{
        margin: 20px 0 0;
        font-size: 13px;
        line-height: 23px;
    }


    /* tel_form_cv_block
       ================================================================== */
    .tel_form_cv_block .btn{
        margin: 20px 0 0;
    }


    /* tel_sns_box
       ================================================================== */
    .tel_sns_box{
        display: flex;
    }

    .tel_style a{
        display: inline-block;
    }

    .tel_style .num_txt .ttl{
        font-size: 20px;
    }

    .tel_style .num_txt .num{
        margin: 0 0 0 5px;
        font-size: 27px;
    }

    .tel_style .bottom_txt{
        margin: -5px 14px 0 0;
    }

    .tel_style .bottom_txt span{
        font-size: 14px;
    }

    .tel_sns_box .sns_btn{
        margin: 3px 0 0 20px;
    }
    

    /* categories_list
       ================================================================== */
    .categories_list{
        position: relative;
    }

    .categories_list > li{
        margin: 15px 0 0;
    }

    .categories_list .list_ttl{
        font-size: 15px;
    }

    .categories_list .list_ttl + .categories_link{
        margin: 0 0 0;
    }


    /* categories_link
       ================================================================== */
    .categories_link > li{
        margin: 10px 1% 0 0;
        width: 15.5%;
    }

    .categories_link > li:nth-child(2n+2){
        margin-right: 1%;
    }

    .categories_link > li:nth-child(6n+6){
        margin-right: 0;
    }

    .index_menu_block .categories_link > li{
        margin: 10px 2% 0 0;
        width: 49%;
    }

    .index_menu_block .categories_link > li:nth-child(6n+6){
        margin-right: 2%;
    }

    .index_menu_block .categories_link > li:nth-child(2n+2){
        margin-right: 0;
    }

    .categories_link > li > ul > li{
        margin: 5px 0 0;
    }

    .categories_link a{
        padding: 5px 15px;
        font-size: 14px;
        min-height: 50px;
    }

    .categories_link .link_box.in_oc_btn a{
        padding-right: 40px;
    }

    .categories_link .link_box > a{
        height: 50px;
    }

    .categories_link .oc_btn{
        width: 40px;
        background-size: 12px;
    }

    /* menu_index_block */
    .menu_index_block .categories_link > li{
        margin: 20px 0 0;
    }

    .menu_index_block .categories_link .oc_btn{
        width: 60px;
        background-size: 12px;
    }

    .menu_index_block .categories_link > li > ul > li {
        margin: 20px 0 0;
    }    

    .menu_index_block .categories_link .link_box a{
        padding: 25px 60px 25px 30px;
    }

    .menu_index_block .categories_link .link_box + ul a{
        padding: 24px 30px;
    }

    .menu_index_block .categories_link .link_box + ul a::before{
        width: 60px;
        background-size: 7px;
    }


    /* pv_block
       ================================================================== */
    .pv_block{
        margin: 0 auto;
        max-width: 2000px;
    }


    /* index_campaign
       ================================================================== */
    .index_campaign{
        padding: 70px 0 100px;
    }

    .index_campaign .slider_wrap{
        margin: 40px 0 0;
    }

    .campaign_slider.swiper-container{
        margin: 0;
        width: 740px;
    }

    .campaign_slider .text_box{
        padding: 18px 0 0;
    }

    .campaign_slider .text_box .ttl{
        font-size: 15px;
    }

    .index_campaign .btn{
        margin: 45px 0 0;
    }


    /* index_menu_block
       ================================================================== */
    .index_menu_block{
        padding: 110px 0 130px;
    }

    .index_menu_block .block_title + p{
        margin: 15px 0 0;
        font-size: 14px;
    }

    .index_menu_block .categories_list{
        margin: 50px 0 0;
        display: flex;
        justify-content: space-between;
    }

    .index_menu_block .categories_list > li{
        width: 32%;
    }

    .index_menu_block .categories_list .list_thm_ttl{
        margin: 0 0 55px;
        width: 100%;
    }

    .index_menu_block .categories_list .list_thm_ttl .text_box{
        top: 94%;
        left: 55%;
    }

    .index_menu_block .categories_list .list_thm_ttl .eng{
        font-size: 43px;
    }

    .index_menu_block .categories_list .list_thm_ttl .jpn{
        margin: 10px 0 0;
        font-size: 14px;
    }


    /* number_ol
       ================================================================== */
    .number_ol{
        margin: 20px auto 0;
    }

    .number_ol > li{
        margin: 15px 0 0;
        padding: 22px 10px 22px 42px;
    }

    .number_ol .number{
        font-size: 15px;
        top: 0;
        left: 10px;
    }

    .number_ol h4{
        font-size: 17px;
    }

    .number_ol p{
        font-size: 16px;
        line-height: 26px;
    }

    .number_ol h4 + p{
        margin: 5px 0 0;
    }


    /* index_thought
       ================================================================== */
    .index_thought{
        padding: 120px 0 0;
    }

    .index_thought .top_box{
        padding: 170px 93px 0 0;
        min-height: 481px;
        box-sizing: border-box;
    }

    .index_thought .animation_photo_position{
        width: 480px;
        left: 50px;
    }

    .index_thought .thought_message{
        margin: 0 0 0 auto;
        padding: 54px 30px 50px 115px;
        width: 470px;
    }

    .index_thought .thought_message .ttl::after{
        width: 135px;
    }

    .index_thought.thought_block .note{
        margin: 35px 0 0;
        padding: 24px 20px 24px 0;
        text-align: left;
    }


    /* thought_block
       ================================================================== */
    .thought_message{
        padding: 52px 30px 52px 115px;
    }

    .thought_message .ttl{
        font-size: 23px;
    }

    .thought_message .ttl::before,
    .thought_message .ttl::after{
        right: calc(100% + 33px);
    }

    .thought_message .ttl::before{
        width: 7px;
        height: 7px;
    }

    .thought_message .txt{
        margin: 30px 0 0;
        font-size: 17px;
        line-height: 35px;
    }

    .thought_block .note{
        margin: 30px 0 0;
        padding: 22px;
        text-align: center;
    }


    /* promise_block
       ================================================================== */
    .promise_block{
        padding: 60px 0 0;
    }

    .promise_block .box{
        padding: 50px;
    }

    .promise_block .box h3{
        font-size: 30px;
    }

    .promise_block .note{
        margin: 40px 0 0;
        padding: 16px;
    }


    /* hash_categories
       ================================================================== */
    .hash_categories{
        display: block;
    }

    .hash_categories > a,
    .hash_categories > span{
        margin: 10px 10px 0 0;
        font-size: 14px;
    }


    /* index_case
       ================================================================== */
    .index_case{
        padding: 125px 0 135px;
    }

    .index_case .cases_list{
        margin: 20px 0 0;
    }

    .index_case .btn{
        margin: 60px 0 0;
    }


    /* cases_list
       ================================================================== */
    .cases_list{
        font-size: 0;
    }

    .cases_list > li{
        margin: 25px 2% 0 0;
        width: 32%;
    }

    .cases_list > li:nth-child(2n+2){
        margin-right: 2%;
    }

    .cases_list > li:nth-child(3n+3){
        margin-right: 0;
    }

    
    /* index_news
       ================================================================== */
    .index_news{
        padding: 120px 0;
    }

    .index_news .btn{
        margin: 50px 0 0;
    }


    /* index_news_list
       ================================================================== */
    .index_news_list{
        margin: 60px 0 0;
    }

    .index_news_list a{
        padding: 24px 0;
    }

    .index_news_list a .date{
        width: 116px;
        font-size: 13px;
    }

    .index_news_list a .title{
        width: calc(100% - 70px - 116px);
        padding-top: 0;
        font-size: 16px;
    }


    /* news_list_block
       ================================================================== */
    .news_list_block{
        padding: 0 0 0;
    }

    .contact_block .inner{
        padding-top: 65px;
        padding-bottom: 160px;
    }

    .news_list > li{
        margin: -100px 0 0;
        padding: 100px 0 0;
    }
    
    .news_list > li .btn_box{
        padding: 20px 50px 20px 20px;
    }
    
    .news_list > li .btn_box::after{
        width: 10px;
        height: 21px;
        top: 15px;
        bottom: 0;
        right: 21px;
    }

    .news_list > li .date{
    	font-size: 16px;
    }
    
    .news_list > li .title{
        margin: 8px 0 0;
    	font-size: 16px;
    }
 	

	/* pagination
	   ================================================================== */
	.pagination{
		margin: 80px 0 0;
		padding: 0;
	}

    .pagination a,
    .pagination .active span{
        padding: 2px 0 0;
    	font-size: 15px;
    	width: 40px;
    	height: 40px;
    }


    /* news_show
       ================================================================== */
    .news_show .inner{
        padding-top: 95px;
        padding-bottom: 110px;
    }
     

	/* sns_area
	   ================================================================== */
    .sns_area {
        margin: 25px 0 0;
    }
    
	.sns_area div{
		margin-right: 10px;
	}


    /* detail_page
       ================================================================== */
    .detail_page{
    	margin: 0 0 0;
    }

    .detail_page .detail_box h1{
    	font-size: 25px;
    	margin: 0 0 10px;
    	padding: 0 10px 10px;
    }
    
    .detail_page .flex{
    	margin: 20px 0 0;
    }
    
    .detail_page .date{
        width: 160px;
        font-size: 15px;
    }
        
    .detail_page .hash_categories{
        margin: -7px 0 0;
        width: calc(100% - 160px);
    }
    
    .detail_page .photo{
    	margin: 20px 0 0;
    }
    	
    .detail_page .detail_body{
    	margin: 25px 0 0;
    }


	/* detail_btn_area
	   ================================================================== */
	.detail_btn_area{
		margin: 30px 0 0;
		font-size: 0;
		text-align: center;
	}
	
	.detail_btn_area .btn{
		margin: 0;
	}

    .detail_btn_area .btn.back{
    	margin: 0 2%;
    }
	
	.detail_btn_area .btn a,
	.detail_btn_area .btn button{
		padding: 0;
		width: 100%;
        height: 60px;
        line-height: 60px;
		text-align: center;
		font-size: 16px;
		letter-spacing: 0.10em;
    }


    /* system_section
       ================================================================== */
    .system_section .inner{
        padding-top: 110px;
        padding-bottom: 150px;
    }


    /* select_category
       ================================================================== */
    .select_category{
        top: 50px;
        right: 0;
    }

    .select_category .select_btn{
        padding: 8px 50px 8px 20px;
        font-size: 14px;
    }

    .select_category .select_btn::before{
        width: 10px;
        height: 6px;
        right: 17px;
    }

    .select_category ul{
        min-width: 230px;
        right: 0;
    }

    .select_category ul > li{
        margin: 0 0 0;
    }

    .select_category ul > li a{
        padding: 0 40px 0 23px;
        height: 60px;
        font-size: 14px;
    }


    /* campaigns_page
       ================================================================== */
    .campaigns_list{
        font-size: 0;
    }

    .campaigns_list > li{
        margin: 35px 5% 0 0;
        width: 30%;
    }

    .campaigns_list > li:first-child{
        margin: 0 0 30px;
        padding: 0 0 65px;
    }

    .campaigns_list > li:nth-child(2n+1){
        margin-right: 5%;
    }

    .campaigns_list > li:nth-child(3n+1){
        margin-right: 0;
    }

    .campaigns_list > li:first-child a{
        display: flex;
    }

    .campaigns_list > li:first-child .thum{
        width: 50%;
    }

    .campaigns_list .text_box{
        padding: 13px 0 0;
        box-sizing: border-box;
    }

    .campaigns_list > li:first-child .text_box{
        padding: 35px 0 0 45px;
        width: 50%;
    }

    .campaigns_list .text_box .ttl{
        font-size: 16px;
        line-height: 26px;
    }

    .campaigns_list > li:first-child .text_box .ttl{
        font-size: 20px;
        line-height: 35px;
    }


    /* campaigns_show
       ================================================================== */
    .campaigns_show{
        margin: 0 0 50px;
        display: flex;
    }

    .campaigns_show .thum{
        width: 50%;
        min-height: 500px;
    }

    .campaigns_show .thum img + img{
        margin-top: 20px;
    }

    .campaigns_show .text_box{
        padding: 0 0 0 45px;
        width: 50%;
        box-sizing: border-box;
    }

    .campaigns_show .text_box .ttl{
        font-size: 20px;
        line-height: 35px;
    }

    .campaigns_show .text_box .detail_body{
        margin: 20px 0 0;
    }


    /* cases_show
       ================================================================== */
    .cases_show{
        margin: 0 0 50px;
        display: flex;
    }

    .cases_show .thum{
        width: 50%;
        min-height: 500px;
    }

    .cases_show .thum img + img{
        margin-top: 20px;
    }

    .cases_show .text_box{
        padding: 0 0 0 45px;
        width: 50%;
        box-sizing: border-box;
    }

    .cases_show .text_box .ttl{
        font-size: 20px;
        line-height: 35px;
    }

    .cases_show .text_box .detail_body{
        margin: 20px 0 0;
    }


    /* columns_list
       ================================================================== */
    .columns_list{
        margin: 0 0 0;
        font-size: 0;
    }

    .columns_list > li{
        margin: 20px 2% 0 0;
        width: 32%;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }

    .columns_list > li:nth-child(3n+3){
        margin-right: 0;
    }

    .columns_list .box{
        padding: 20px;
        display: block;
    }

    .columns_list .thum{
        width: 100%;
    }

    .columns_list .text_box{
        padding: 15px 0 0;
        width: 100%;
    }

    .columns_list .text_box .ttl{
        font-size: 16px;
        line-height: 24px;
    }


    /* anchor_links_block
       ================================================================== */
    .anchor_links_block{
        margin: 85px 0 0;
    }

    .anchor_links_block .list{
        margin: 0 0 0;
    }

    .anchor_links_block .list > li{
        margin: 0 4% 0 0;
        width: 22%;
    }

    .anchor_links_block .list > li:nth-child(2n+2){
        margin-right: 4%;
    }

    .anchor_links_block .list > li:nth-child(4n+4){
        margin-right: 0;
    }

    .anchor_links_block .list li a{
        padding: 16px 0 22px;
        font-size: 16px;
    }

    .anchor_links_block .list li a::before{
        width: 40px;
    }

    .anchor_links_block .list li a::after{
        width: 10px;
        height: 6px;
        left: 20px;
    }


    /* reservation_flow
       ================================================================== */
    .reservation_flow{
        padding: 80px 0 0;
    }

    .reservation_flow .list{
        margin: 50px 0 0;
    }

    .reservation_flow .list > li{
        margin: 15px 0 0;
    }

    .reservation_flow .list .number{
        width: 50px;
        height: 50px;
        font-size: 15px;
    }

    .reservation_flow .list .ttl{
        padding: 0 0 0 30px;
        width: calc(100% - 50px);
        font-size: 18px;
    }

    .reservation_flow .list .bottom_box{
        margin: 18px 0 0;
        padding: 0 0 40px 80px;
        display: flex;
    }

    .reservation_flow .list .bottom_box::before{
        left: 25px;
    }

    .reservation_flow .list .photo{
        width: 400px;
    }

    .reservation_flow .list .text_box{
        padding: 15px 0 0 27px;
        width: calc(100% - 400px);
        box-sizing: border-box;
    }

    .reservation_flow .list .text_box p + p{
        margin: 10px 0 0;
    }

    .reservation_flow .list .text_box .siz_s{
        font-size: 14px;
    }


    /* payment
       ================================================================== */
    .payment{
        padding: 120px 0 0;
    }

    .payment .border_box{
        margin: 40px 0 0;
        padding: 35px 30px;
    }

    .payment .border_box h4{
        font-size: 14px;
    }

    .payment .border_box ul li{
        margin: 20px 0 0;
    }

    .payment .border_box ul .credit{
        margin: 20px 0 0;
        width: 420px;
    }

    .payment .border_box ul p{
        margin: 10px 0 0 35px;
    }


    /* under18
       ================================================================== */
    .under18{
        padding: 120px 0 0;
    }


    /* nationals
       ================================================================== */
    .nationals{
        padding: 70px 0 120px;
    }


    /* bg_box_first
       ================================================================== */
    .bg_box_first{
        margin: 40px 0 0;
        padding: 20px 30px;
    }


    /* clinic_thought_block
       ================================================================== */
    .clinic_thought_block{
        padding: 100px 0 0;
    }


    /* tab_nav_block
       ================================================================== */
    .tab_nav_block{
        padding: 85px 0 0;
    }

    .tab_nav > li{
        padding: 0 0 13px;
    }

    .tab_nav > li .eng{
        font-size: 13px;
    }

    .tab_nav > li .jpn{
        margin: 5px 0 0;
        font-size: 16px;
    }


    /* price_note_block
       ================================================================== */
    .price_note_block{
        padding: 55px 0 0;
    }

    .price_note_block .border_box{
        margin: 0 0 0;
        padding: 23px 25px;
    }


    /* price_links
       ================================================================== */
    .price_links{
        position: relative;
    }

    .price_links .oc_btn{
        width: 80px;
        background-size: 12px;
    }
    
    .price_links .link_box{
        position: relative;
    }

    .price_links a{
        display: inline-block;
        line-height: 150%;
    }

    /* price_link_list_first */
    .price_link_list_first > li{
        margin: 50px 0 0;
    }

    .price_link_list_first > li > .link_box{
        padding: 19px 20px;
        font-size: 20px;
    }

    .price_link_list_first > li > .link_box::before{
        width: 100px;
    }

    /* top_border_20 */
    .price_link_list_first .top_border_20{
        margin-top: 20px !important;
        padding: 10px 0 0 !important;
    }

    /* price_link_list_second */
    .price_link_list_second > li{
        margin: 30px 0 0;
    }

    .price_link_list_second > li > .link_box{
        padding: 19px 20px;
        font-size: 20px;
    }

    .price_link_list_second > li > .link_box::before{
        width: 100px;
    }

    /* price_link_list_third */
    .price_link_list_third{
        padding: 20px 0 0;
    }

    .price_link_list_third > li{
        margin: 10px 0 0;
        padding: 0 32px 0 30px;
        min-height: 70px;
        display: flex;
        align-items: center;
        box-sizing: border-box;
    }

    .price_link_list_third > li > a{
        font-size: 16px;
        display: inline-block;
    }

    /* note */
    .price_links .note{
        margin: 10px 0 30px;
    }

    /* price_show */
    .price_links .price_show{
        margin: 0 0 0 auto;
    }

    .price_links .price_show .box{
        padding: 10px 0;
        display: block;
    }

    .price_links .price_show .box + .box{
        margin: 0 0 0;
        padding: 0;
    }

    .price_links .price_show .box + .box > div{
        padding: 10px 0;
    }

    .price_table{
        margin: 0 0 0 auto;
        box-sizing: border-box;
    }

    .price_table th,
    .price_table td{
        padding: 0 0 0 5px;
        box-sizing: border-box;
        position: relative;
        text-align: right;
    }

    .price_table td.wid85{
        min-width: 85px;
    }

    .price_table .name{
        font-size: 13px;
    }

    .price_table .etc{
        font-size: 14px;
    }

    .price_table .wid40{
        width: 40px;
    }

    .price_table .price{
        font-size: 15px;
        width: auto;
        min-width: 100px;
    }

    .price_table tr td.price:first-child{
        width: auto;
        min-width: 70px;
    }

    .price_table .tax{
        font-size: 11px;
        width: 50px !important;
    }

    /* stars */
    .price_links .stars{
        padding-left: 50px !important;
    }

    .price_links .stars::before{
        width: 20px;
        height: 20px;
        left: 10px;
        top: -4px;
    }

    /* link_delete */
    .price_links.link_delete .price_link_list_third{
        padding-top: 20px;
    }


    /* price_index_block
       ================================================================== */
    .price_index_block{
        margin: 0 0 200px;
    }


    /* menu_index_block
       ================================================================== */
    .menu_index_block{
        margin: 55px 0 110px;
    }

    .menu_index_block .menu_kv{
        margin: 0 0 55px;
    }

    .menu_index_block .menu_kv > li{
        display: block;
        width: 320px;
    }

    .menu_index_block .menu_face_block .menu_kv > li{
        margin-left: 340px;
    }

    .menu_index_block .menu_body_block .menu_kv > li{
        margin-left: 680px;
    }

    .menu_index_block .menu_kv .photo{
        width: 100%;
    }

    .menu_index_block .menu_kv .block_title{
        margin: -25px 0 0 10px;
    }


    /* doctor_introduction
       ================================================================== */
    .doctor_introduction{
        margin: 140px 0 240px;
    }

    .doctor_introduction .doctor_block{
        margin: 53px 0 0;
        display: flex;
    }

    .doctor_introduction .doctor_block .photo{
        width: 350px;
    }

    .doctor_introduction .doctor_block .box{
        margin: 79px 0 0 -43px;
        padding: 30px 40px 50px 80px;
        width: calc(100% - 350px + 43px);
        box-sizing: border-box;
    }

    .doctor_introduction .doctor_block .top_box{
        padding: 0 0 0;
    }

    .doctor_introduction .doctor_block h2 .katagaki{
        font-size: 14px;
    }

    .doctor_introduction .doctor_block h2 .name{
        margin: 5px 0 7px;
        font-size: 22px;
    }

    .doctor_introduction .doctor_block h2 .furi{
        font-size: 13px;
    }

    .doctor_introduction .doctor_block .sns_btn{
        margin: 15px 0 0;
    }

    .doctor_introduction .doctor_block .text_box{
        margin: 30px 0 0;
    }

    .doctor_introduction .doctor_block .text_box p{
        line-height: 28px;
    }

    .doctor_introduction .doctor_block .text_box p + p{
        margin: 23px 0 0;
    }

    .doctor_introduction .doctor_block .text_box .list{
        margin: 30px 0 0;
    }

    .doctor_introduction .doctor_block .text_box .list > li{
        margin: 30px 0 0;
    }

    .doctor_introduction .doctor_block .text_box .list h3 span{
        padding: 10px 20px;
        font-size: 14px;
    }

    .doctor_introduction .doctor_block .text_box .list h3 + p{
        margin: 23px 0 0;
    }

    .doctor_introduction .doctor_photo{
        margin: 80px 0 0;
    }


    /* ==================================================================
    ★template_bloks
    ================================================================== */

    /* template_section_wrap
       ================================================================== */
    .template_section_wrap{
        margin: 30px 0 200px;
    }

    .template_section{
        padding: 70px 0 0;
    }

    .template_section > .inner > p{
        margin: 35px 0 0;
    }

    .template_section > .inner > p + p{
        margin: 25px 0 0;
    }


    /* margin_style
       ================================================================== */
    .template_section > .inner > *{
        margin-top: 40px;
    }

    .mat70{
        margin-top: 70px !important;
    }

    .mat65{
        margin-top: 65px !important;
    }

    .mat60{
        margin-top: 60px !important;
    }

    .mat40{
        margin-top: 40px !important;
    }

    .mat30{
        margin-top: 30px !important;
    }

    .mat25{
        margin-top: 25px !important;
    }

    .mat20{
        margin-top: 20px !important;
    }


    /* dot_border_box
       ================================================================== */
    .dot_border_box{
        padding: 24px 30px 25px;
    }


    /* bg_color_box
       ================================================================== */
    .bg_color_box{
        padding: 20px 30px 25px;
    }

    .bg_color_box p + p,
    .dot_border_box p + p{
        margin: 23px 0 0;
    }


    /* bg_ttl
       ================================================================== */
    .bg_ttl{
        padding: 13px 30px;
        font-size: 16px;
    }


    /* icon_body_title
       ================================================================== */
    .icon_body_title{
        padding: 10px 15px 17px 70px;
        font-size: 15px;
    }

    .icon_body_title::before{
        width: 34px;
        height: 36px;
        left: 15px;
    }


    /* common_table
       ================================================================== */
    .common_table th,
    .common_table td{
        padding: 26px 30px;
        line-height: 27px;
    }

    .common_table th{
        font-size: 16px;
        width: 26%;
    }

    .common_table th .siz_s{
        font-size: 14px;
    }

    .common_table td{
        padding: 26px 27px 26px 35px;
        font-size: 15px;
    }

    .common_table .box + .box{
        margin: 23px 0 0;
        padding: 23px 0 0;
    }

    /* wid_all */
    .common_table.wid_all th{
        padding: 15px 25px;
    }

    .common_table.wid_all td{
        padding: 21px 25px;
    }

    /* divisions_6 */
    .common_table.divisions_6 th,
    .common_table.divisions_6 td{
        padding: 11px 10px;
        font-size: 15px;
    }

    .common_table.divisions_6 tr th{
        width: 16%;
    }

    .common_table.divisions_6 tr th:first-child{
        width: 20.4%;
    }


    /* photos
       ================================================================== */
    .photos li{
        margin: 0 2% 0 0;
    }


    /* photo_max
       ================================================================== */
    .photo_max700{
        width: 700px;
    }

    .photo_max666{
        width: 666px;
    }

    .photo_max610{
        width: 610px;
    }

    .photo_max500{
        width: 500px;
    }

    .photo_max475{
        width: 475px;
    }

    .photo_max400{
        width: 400px;
    }

    .photo_max350{
        width: 350px;
    }

    .photo_max300{
        width: 300px;
    }

    .photo_max280{
        width: 280px;
    }


    /* dot_border_separator
       ================================================================== */
    .dot_border_separator{
        margin: 50px 0 0 !important;
        padding: 10px 0 0 !important;
    }


    /* subheading
       ================================================================== */
    .subheading{
        margin: 30px 0 0;
    }

    .subheading .sub_title{
        font-size: 16px;
    }

    .subheading .sub_list{
        margin: 0 0 0;
    }

    .subheading .sub_list > li{
        margin: 16px 0 0;
    }

    .subheading .sub_list .sub_list_title{
        margin: 0 0 10px;
        font-size: 16px;
    }


    /* cosmetic_table
       ================================================================== */
    .cosmetic_table{
        border-spacing: 3px;
    }

    .cosmetic_table th,
    .cosmetic_table td{
        padding: 20px 0;
    }

    .cosmetic_table th{
        padding: 15px 0;
        font-size: 16px;
        width: 39%;
    }

    .cosmetic_table tr th:first-child{
        font-size: 15px;
        width: 21%;
    }

    .cosmetic_table td{
        font-size: 16px;
    }


    /* select_list_block
       ================================================================== */
    .select_list_block{
        padding: 0 27px 35px 27px;
    }

    .select_list_block h4{
        margin: -25px 0 0;
    }

    .select_list_block h4 > span{
        padding: 13px 21px;
        font-size: 17px;
    }

    .select_list_block ul{
        margin: 16px 0 0;
    }
        

    /* color_bg_ttl_txt
       ================================================================== */
    .color_bg_ttl_txt > li{
        margin: 15px 0 0;
        padding: 18px 25px;
    }

    .color_bg_ttl_txt.li_mat20 > li{
        margin: 20px 0 0;
    }

    .color_bg_ttl_txt h5{
        font-size: 20px;
    }

    .color_bg_ttl_txt h5.f16{
        font-size: 16px;
    }

    .color_bg_ttl_txt p{
        margin: 10px 0 0;
    }


}
@media screen and (min-width : 1300px){
    

    /* select_category
       ================================================================== */
    .select_category ul{
        right: -103px;
    }
    
    
}