@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,600,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700,900&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 100%;
	vertical-align: baseline;
	font-family: "Noto Sans JP","メイリオ","ms pgothic", sans-serif;
	color: #333;
}

.lato{
	font-family: "Lato", sans-serif;
}

.serif{
	font-family: "Noto Serif JP";
}

.roboto{
	font-family: "Roboto";
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea{
	margin: 0;
	padding: 0;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	*height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.both{
	clear:both;
}

body{
	line-height: 150%;
	word-break: break-all;
	overflow: hidden;
	-webkit-text-size-adjust: 100%;
}

a{
	text-decoration: none;
}

img{
    width: inherit;
	max-width: 100%;
    height: auto;
    vertical-align: middle;
}

p,
a,
li{
	font-size: 4vw;
	line-height: 170%;
}

p a,
li a{
	font-size: inherit;
	font-family: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
a{
	letter-spacing: 0.10em;
}

h1,
h2,
h3,
h4,
h5,
h6,
h7,
h7{
	line-height: 150%;
}

.tab,
.pc{
	display: none;
}

.photo{
	line-height: 0;
}

.link_text{
    color: #0068B7;
}

.link_text.bar{
    text-decoration: underline;
}

.color1{
    color: #0068B7;
}

.color2{
    color: #D90000;
}

.bold{
    font-weight: bold;
}

.underline{
    text-decoration: underline;
}

.linethrough{
    text-decoration: line-through;

}

.inner{
	padding: 0 3vw;
}


#wrap{
	position: relative;

}

#wrap #bg_cover{
	transition: all cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	font-size: 0;
}

#wrap.open #bg_cover{
	content: "";
	width: 100%;
	background: rgba(0,0,0,0.5);
}


/* header
   ================================================================== */
header{
	position: relative;

}

header .inner{
	padding: 10px 15px;

}


/* site_title
   ================================================================== */
.site_title a{
	display: inline-block;
}

.site_title span{
	display: block;
    line-height: 150%;
    font-family: "Noto Serif JP";
}

.site_title.center span{
	text-align: center;
}

.site_title .siz_s{
	font-size: 12px;
    font-weight: 700;
}

.site_title .siz_l{
	font-size: 28px;
    font-weight: 900;
}


/* gnav
   ================================================================== */
.gnav{
	z-index: 100;
	position: relative;

}

#ham_btn{
    position: fixed;
    right: 10px;
    top: 15px;
    font-size: 26px;
    color: #222;
    display: block;
    z-index: 500;
    text-align: center;
    cursor: pointer;
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    background: none;
    padding: 14px 10px;
	transition: ease-out 0.3s;
}

#ham_btn .inner{
    padding: 10px 0 0;
    width: 30px;
    height: 23px;
    display: block;
    position: relative;
    transition: ease-out 0.8s;
    box-sizing: border-box;
}


#ham_btn .inner .bar,
#ham_btn .inner .bar:before,
#ham_btn .inner .bar:after{
    transition: ease-out 0.3s;
    text-indent: -9999px;
    height: 2px;
    width: 30px;
    background: #222;
    display: block;
}

#ham_btn .inner .bar:before{
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
}

#ham_btn .inner .bar:after{
    content: "";
    position: absolute;
    bottom: 4px;
    left: 0;
}

#ham_btn.open .bar{
    background: transparent;
}

#ham_btn.open{
    transform: rotate(0deg);
}

#ham_btn.open .bar{
    background: transparent;
}

#ham_btn.open .bar:before{
    transform: rotate(45deg);
    top: 11px;
    background: #222;
}

#ham_btn.open .bar:after{
    transform: rotate(-45deg);
    bottom: 10px;
    background: #222;
}

body.open{
    position: fixed;
    width: 100%;
}

.gnav{
    display: block;
    position: fixed;
    top: 0;
    right: -90vw;
    width: 90vw;
    height: 100%;
    background: rgba(255,255,255,0.9);
    padding: 60px 21px 0 0;
    box-sizing: border-box;
    z-index: 100;
    transition: all cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
    overflow: auto;
}

.gnav.open{
    right: 0;
}

.gnav > ul{
    overflow: hidden;
}

.gnav li.nav_menu .title,
.gnav > ul > li > a{
    padding: 0 15px 3px;
    display: flex;
    align-items: center;
    width: 100%;
    font-size: 16px;
    font-weight: bold;
    line-height: 150%;
    box-sizing: border-box;
    transition: all ease-out 0.3s;
    border-bottom: 1px solid #ddd;
    color: #222;
	letter-spacing: 0.2em;
    z-index: 2;
}

.nav_menu.search .appear_box,
.nav_menu:not(.search) .title::after,
.gnav li.nav_menu .title,
.gnav > ul > li > a{
    height: 50px;
}

.gnav li.nav_menu .title{
    cursor: context-menu;
}


/* nav_menu
   ================================================================== */
.nav_menu{
    min-height: 50px;
    overflow: hidden;
    position: relative;
}

.nav_menu .title::after{
    position: relative;
}

.nav_menu:not(.search) .title::after{
    content: "＋";
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
}

.nav_menu.active:not(.search) .title::after{
    content: "－";
}

.nav_menu .hide_box{
    overflow: hidden;
}

.nav_menu .appear_box{
    margin-top: -2000px;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transition: all ease .3s;
    border-bottom: 1px solid #ddd;
}

.nav_menu.active .appear_box{
    margin-top: 0;
    opacity: 1;
    visibility: visible;
}

.nav_menu .table_list > li{
    padding: 25px 0 15px 15px;
    border-bottom: 1px solid #ddd;
}

.nav_menu .table_list > li:last-child{
    border-bottom: none;
}

.nav_menu .table_list .cat_title{
    margin: 0 0 20px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #0068B7;
}

.nav_menu .page_list{
    margin: -25px 0 0;
    font-size: 0;
}

.nav_menu .page_list > li{
    margin: 20px 0 0;
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 48%;
}

.nav_menu .page_list > li:nth-child(2n+2){
    margin-left: 3.5%;
}

.nav_menu .table_list .photo a{
    display: block;
    line-height: 0;
    position: relative;
    height: 100px;
}

.nav_menu .table_list .photo a::after{
    content: "→";
    width: 30px;
    height: 30px;
    padding: 0 0 3px;
    box-sizing: border-box;
    background: #0068B7;
    font-size: 15px;
    color: #fff;
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: 0;
}

.nav_menu .table_list .photo a img{
	width: 100% !important;
	height: 100%;
	object-fit: cover;
	display: block;
}

.nav_menu .table_list .page_title a{
    padding: 10px 0 0;
    text-align: center;
    font-size: 10px;
    font-weight: bold;
    display: block;
}

/* search */
.nav_menu.search .title{
    display: none !important;
}

.nav_menu.search .appear_box{
    margin-top: 0;
    opacity: 1;
    visibility: visible;
    margin: 15px 0 0 15px;
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    line-height: 150%;
    box-sizing: border-box;
    letter-spacing: 0.2em;
    z-index: 2;
    border: none;
}

.nav_menu.search .appear_box form{
    width: 100%;
    text-align: right;
}

.nav_menu.search .search_box{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.nav_menu.search .appear_box input{
    padding: 5px 10px;
    font-size: 16px;
    background: #fff;
    border: none;
    box-sizing: border-box;
    width: calc(100% - 60px);
    height: 40px;
    max-width: 395px;
    border-radius: 0;
}

.nav_menu.search .appear_box button{
    width: 60px;
    height: 40px;
    background: #0068B7;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.nav_menu.search .appear_box button svg{
    width: 20px;
}

.nav_menu.search .appear_box button path{
    color: #fff;
}


/* link_block
   ================================================================== */
.link_block{
	margin: 0 auto;
}

.link_block ul{
	margin: 0 0 0;
}

.link_block ul li{
	margin: 15px 0 0;
}

.link_block ul li a{
	display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 150px;
    position: relative;
}

.link_block ul li a::after{
	content: "";
    background: rgba(0,0,0,.5);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.link_block ul li a::before{
	content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.link_block ul li.education a::before{
	background-image: url("../images/common/nango-hf.jpg");
}

.link_block ul li.student a::before{
	background-image: url("../images/common/nanbu-castle-tour-banner.jpg");
}

.link_block ul li a span{
	display: inline-block;
    font-size: 18px;
    line-height: 150%;
    font-weight: bold;
    color: #fff;
    position: relative;
    z-index: 1;
    text-align: center;
}


/* footer
   ================================================================== */
footer{
	margin: 15vw 0 0;
}

footer .inner{
	padding: 0;
}

footer .footer_company_block{
	padding: 25px 0 0;
}

footer .footer_company_block > li{
	padding: 25px 20px;
    position: relative;
}

footer .footer_company_block > li::after{
	content: "";
    background: #ddd;
    width: 1000%;
    height: 1px;
    position: absolute;
    bottom: 0;
    right: 0;
}

footer .footer_company_block .site_title .siz_s{
	font-size: 15px;
}

footer .footer_company_block .sdd_box{
    margin: 15px 0 0;
	font-size: 14px;
}

footer .footer_company_block .tel_box{
    margin: 15px 0 0;
}

footer .footer_company_block .tel_box p{
	font-size: 18px;
    font-weight: 500;
}

footer .footer_company_block .footer_sns{
    margin: 15px 0 0;
    display: flex;
}

footer .footer_company_block .footer_sns li{
    margin-right: 7px;
    width: 37px;
}

footer .footer_company_block .footer_sns li a{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 0;
    background: #222;
    border-radius: 100%;
    width: 100%;
    height: 37px;
}

footer .footer_company_block .footer_sns li svg{
    width: 18px;
}

footer .footer_company_block .footer_sns li:nth-child(1) svg{
    width: 12px;
}

footer .footer_company_block .footer_sns li path{
    color: #fff;
}

footer .footer_nav{
	margin: 0 0 0;
}

footer .footer_nav > ul{
	margin: 0 0 0;
}

footer .footer_nav ul li{
	margin: 0;
}

footer .footer_nav ul li span.ttl,
footer .footer_nav ul li ul li.ttl,
footer .footer_nav ul li a{
	padding: 14px 0 14px 25px;
	display: block;
	font-size: 14px;
    line-height: 150%;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
}

footer .footer_nav ul li ul{
	margin: 0 0 0;
}

footer .footer_nav ul li ul li.ttl{
	position: relative;
}

footer .footer_nav ul li ul li.ttl::before{
	content: "・";
}

footer .footer_nav ul li ul li a{
	padding: 14px 0 14px 35px;
    font-weight: normal;
}

footer .footer_nav ul li ul li a::before{
	content: "∟";
}

footer address{
	padding: 25px 20px;
	font-size: 13px;
    letter-spacing: 0.10em;
	color: #ccc;
	text-align: center;
}


/* TOPへ戻るボタン
   ================================================================== */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	width: 40px;
    z-index: 4;
	line-height: 0;
	display: none;
}

#page-top img{
	width: 100%;
}

#page-top a{
	display: block;
	line-height: 0;
	height: auto;
	transition: ease-in 0.3s;
}


/* bg_photo
   ================================================================== */
.bg_photo > img{
	display: none;
}

.bg_photo{
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}


/* contents_wrap
   ================================================================== */
.contents_wrap{
    margin: 6vw 0 0;
}

.contents_wrap > .title_a{
    margin-bottom: 6vw !important;
}


/* title_a
   ================================================================== */
.title_a{
    margin: 0 0 0 3vw;
	position: relative;
    display: flex;
    justify-content: flex-start;
}

.title_a > span{
    display: block;
    text-align: left;
}

.title_a > span span{
    padding: 0 0 0 3vw;
    line-height: 150%;
    display: block;
}

.title_a .siz_s{
    font-size: 3vw;
    font-weight: normal;
}

.title_a .siz_l{
    font-size: 6vw;
    font-weight: 500;
    position: relative;
}

.title_a .siz_l::before{
    content: "";
    border-bottom: 1px solid #707070;
    width: 3000%;
    height: 1px;
    position: absolute;
    top: 4.4vw;
    right: 100%;
}

/* right */
.title_a.right{
    padding-right: 8vw;
    justify-content: flex-end;
}


/* title_b
   ================================================================== */
.title_b{
    margin: 0 0 6vw;
    padding: 4vw 0 0 4vw;
	position: relative;
}

.title_b::after{
    content: "";
    width: 20vw;
    height: 1px;
    border-top: 1px solid #0068B7;
    position: absolute;
    top: 0;
    left: 0;
}

.title_b > span{
    display: block;
    text-align: left;
    font-size: 5vw;
    font-weight: bold;
    font-family: "Noto Serif JP";
    line-height: 150%;
}


/* title_c
   ================================================================== */
.title_c{
    margin: 6vw 0;
    padding: 0 0 0 10vw;
	position: relative;
}

.title_c::after{
    content: "";
    width: 8vw;
    height: 4vw;
    border-left: 1px solid #0068B7;
    border-bottom: 1px solid #0068B7;
    position: absolute;
    top: 0;
    left: 0;
}

.title_c > span{
    display: block;
    text-align: left;
    font-size: 4.5vw;
    letter-spacing: 0.05em;
    color: #0068B7;
    font-weight: bold;
    line-height: 150%;
}


/* title_d
   ================================================================== */
.title_d{
    margin: 6vw 0 3vw;
    padding: 0 4vw 3vw;
    font-size: 4vw;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
}


/* title_e
   ================================================================== */
.title_e{
    margin: 6vw 0 3vw;
    padding: .5vw 0 .5vw 4vw;
    font-size: 4.1vw;
    font-weight: bold;
    line-height: 150%;
	position: relative;
    border-left: 3px solid #222;
}

.title_e .siz_s{
    font-size: 3.5vw;
}


/* photo_temp
   ================================================================== */
.photo_temp{
    margin: 6vw 0 3vw;
    line-height: 0;
}


/* com_table
   ================================================================== */
.com_table{
    width: 100%;
}

.com_table th,
.com_table td{
    padding: 3vw 3vw;
    font-size: 4vw;
    line-height: 170%;
    border: 1px solid #ddd;
    box-sizing: border-box;
    vertical-align: middle;
}

.com_table th *,
.com_table td *{
    font-size: inherit;
}

.com_table th,
.com_table td.center{
    text-align: center;
    vertical-align: middle;
}

.com_table th,
.com_table .bg1{
    background: #F9F9F9;
}

/* テーブル sp_wide */
.com_table.sp_wide tr td,
.com_table.sp_wide tr th{
    display: block;
    width: 100%;
}

.com_table.sp_wide tr td{
    border-top: none;
    border-bottom: none;
}

.com_table.sp_wide tbody > tr:last-child td{
    border-bottom: 1px solid #CACACA;
}


/* scroll_side
   ================================================================== */
.scroll_side{
    padding: 0 0 3vw;
    width: 100%;
    overflow-y: scroll;
}

.scroll_side .com_table{
    max-width: 1000px;
}

.scroll_side + .slidetxt{
    margin: 2vw 0 0;
    text-align: center;
    font-size: 3.2vw;
}


/* exp_txt
   ================================================================== */
p.exp_txt{
    margin: 6vw 0 0;
}


/* border_dot
   ================================================================== */
.border_dot{
    margin: 6vw 0 0;
    padding: 4vw 4vw;
    border: 1px dashed #ccc;
}

.border_dot .ttl{
    margin: 0 0 2vw;
    font-size: 4.1vw;
}


/* border_line
   ================================================================== */
.border_line{
    padding: 4vw 4vw;
    border: 1px solid #ddd;
}

.border_line .ttl{
    margin: 0 0 2vw;
    font-size: 4.1vw;
}


/* photo_text_block
   ================================================================== */
.photo_text_block{
    margin: 6vw 0 3vw;
}

.photo_text_block > ul > li{
    margin: 6vw 0 0;
}

.photo_text_block > ul > li:first-child{
    margin: 0 0 0;
}

.photo_text_block .photo{
    margin: 0 0 0;
}

.photo_text_block .text_box{
    padding: 4vw 0 0;
}


/* ul.list
   ================================================================== */
ul.list{
    margin: 6vw 0;
}

ul.list li{
    padding: 3vw 3vw 4vw 3vw;
    border-bottom: 1px dashed #CCCCCC;
    position: relative;
}

ul.list li{
    padding-left: 8vw;
}

ul.list li::before{
    content: "・";
    position: absolute;
    left: 3vw;
    top: 3vw;
}

ol.list{
    list-style: inside decimal;
}


/* com_btn
   ================================================================== */
.com_btn{
	margin: 4vw 0;
}

.com_btn a{
    padding: 3vw 4vw;
	display: block;
    text-align: center;
    background: #2B2B2B;
    border-radius: 100px;
}

.com_btn a span{
	display: inline-block;
    font-size: 4vw;
    font-weight: bold;
    color: #fff;
}


/* anime_btn
   ================================================================== */
.anime_btn{
	line-height: 0;
}

.anime_btn a{
	min-width: 70vw;
    max-width: 100%;
	display: inline-block;
	background: #fff;
	position: relative;
    border: 1px solid #0068B7;
    text-align: center;
}

.anime_btn a > span{
	padding: 3vw 4vw;
	display: flex;
    justify-content: center;
    align-items: center;
	box-sizing: border-box;
}

.anime_btn a > span span{
	display: block;
	font-size: 4vw;
    line-height: 150%;
    font-weight: normal;
	color: #0068B7;
	box-sizing: border-box;
}

/* down */
.anime_btn.down a > span{
	padding: 4vw 4vw;
}

.anime_btn.down a > span span{
	font-weight: bold;
    font-size: 4vw;
}

.anime_btn a svg{
    margin-right: 3vw;
	width: 5vw;
	color: #0068B7;
}


@media screen and (min-width : 500px){


	p,
	a,
	li{
		font-size: 1.8vw;
	}

	.sp{
		display: none;
	}

	.tab{
		display: inherit;
	}

    .inner{
    	padding: 0 2vw;
    }


    /* nav_menu
       ================================================================== */
    .nav_menu{
        min-height: 50px;
        overflow: hidden;
        position: relative;
    }

    .nav_menu .title::after{
        position: relative;
    }

    .nav_menu:not(.search) .title::after{
        content: "＋";
        margin: auto;
        position: absolute;
        right: 0;
        top: 0;
        display: flex;
        align-items: center;
        font-size: 20px;
        font-weight: bold;
    }

    .nav_menu.active:not(.search) .title::after{
        content: "－";
    }

    .nav_menu .hide_box{
        overflow: hidden;
    }

    .nav_menu .appear_box{
        margin-top: -2000px;
        padding: 0;
        opacity: 0;
        visibility: hidden;
        transition: all ease .8s;
        border-bottom: 1px solid #ddd;
    }

    .nav_menu.active .appear_box{
        margin-top: 0;
        opacity: 1;
        visibility: visible;
        transition: all ease .3s;
    }

    .nav_menu .table_list > li{
        padding: 20px 0 0 15px;
    }

    .nav_menu .table_list > li:last-child{
        border-bottom: none;
    }

    .nav_menu .table_list .cat_title{
        margin: 0 0 20px;
        text-align: center;
        font-size: 16px;
    }

    .nav_menu .page_list{
        margin: 0 0 0;
    }

    .nav_menu .page_list > li{
        margin: 0 0 20px 1%;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
        width: 23.5%;
    }

    .nav_menu .page_list > li:nth-child(2n+2){
        margin-left: 1%;
    }

    .nav_menu .page_list > li:nth-child(4n+1){
        margin-left: 0;
    }

    .nav_menu .table_list .photo a{
        display: block;
        line-height: 0;
        position: relative;
        height: 100px;
    }

    .nav_menu .table_list .page_title a{
        padding: 10px 0 0;
        text-align: center;
        font-size: 13px;
        font-weight: bold;
        display: block;
    }

    /* search */
    .nav_menu.search .appear_box{
        margin: 15px 0 0 15px;
        font-size: 16px;
    }

    .nav_menu.search .appear_box form{
        width: 100%;
    }

    .nav_menu.search .appear_box input{
        padding: 5px 10px;
        font-size: 16px;
        width: calc(100% - 60px);
        height: 40px;
    }

    .nav_menu.search .appear_box button{
        width: 60px;
        height: 40px;
    }

    .nav_menu.search .appear_box button svg{
        width: 20px;
    }


    /* link_block
       ================================================================== */
    .link_block{
    	margin: 0 auto;
    }

    .link_block ul{
    	display: flex;
    }

    .link_block ul li{
    	margin: 0 0 0 2%;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
        width: 49%;
    }

    .link_block ul li:first-child{
    	margin-left: 0;
    }

    .link_block ul li a{
        height: 150px;
    }

    .link_block ul li a span{
        font-size: 18px;
    }


    /* contents_wrap
       ================================================================== */
    .contents_wrap{
        margin: 3vw 0 0;
    }

    .contents_wrap > .title_a{
        margin-bottom: 3vw !important;
    }


    /* title_a
       ================================================================== */
    .title_a{
        margin: 0 0 0 2vw;
    }

    .title_a > span span{
        padding: 0 0 0 2vw;
    }

    .title_a .siz_l::before{
        top: 2.2vw;
    }

    .title_a .siz_s{
        font-size: 1.5vw;
    }

    .title_a .siz_l{
        font-size: 3vw;
    }

    /* right */
    .title_a.right{
        padding-right: 7vw;
    }


    /* title_b
       ================================================================== */
    .title_b{
        margin: 0 0 4vw;
        padding: 2.5vw 0 0 3.5vw;
    }

    .title_b::after{
        width: 11vw;
    }

    .title_b > span{
        font-size: 2.4vw;
    }


    /* title_c
       ================================================================== */
    .title_c{
        margin: 4vw 0;
        padding: 1vw 0 0 7vw;
    }

    .title_c::after{
        width: 5vw;
        height: 2.9vw;
        top: 0;
    }

    .title_c > span{
        font-size: 2.5vw;
        letter-spacing: 0.10em;
    }


    /* title_d
       ================================================================== */
    .title_d{
        margin: 3vw 0 2vw;
        padding: 0 2vw 2vw;
        font-size: 2.2vw;
    }


    /* title_e
       ================================================================== */
    .title_e{
        margin: 3vw 0 2vw;
        padding: .2vw 0 .2vw 2vw;
        font-size: 2.1vw;
        border-left: 3px solid #222;
    }

    .title_e .siz_s{
        font-size: 1.6vw;
    }


    /* photo_temp
       ================================================================== */
    .photo_temp{
        margin: 3vw 0 2vw;
    }


    /* com_table
       ================================================================== */
    .com_table th,
    .com_table td{
        padding: 2vw 2vw;
        font-size: 2.0vw;
    }

    /* テーブル sp_wide */
    .com_table.sp_wide tr td,
    .com_table.sp_wide tr th{
        display: table-cell;
        width: auto;
    }

    .com_table.sp_wide tr td{
        border: 1px solid #CACACA;
    }


    /* scroll_side
       ================================================================== */
    .scroll_side{
        padding: 0;
        width: 100%;
        overflow-y: inherit;
    }

    .scroll_side + .slidetxt{
        display: none !important;
    }


    /* exp_txt
       ================================================================== */
    p.exp_txt{
        margin: 3vw 0 0;
    }


    /* border_dot
       ================================================================== */
    .border_dot{
        margin: 3vw 0 0;
        padding: 2vw 2vw;
    }

    .border_dot .ttl{
        margin: 0 0 1vw;
        font-size: 2.1vw;
    }


    /* border_line
       ================================================================== */
    .border_line{
        padding: 2vw 2vw;
    }

    .border_line .ttl{
        margin: 0 0 1vw;
        font-size: 2.1vw;
    }


    /* photo_text_block
       ================================================================== */
    .photo_text_block{
        margin: 3vw 0 2vw;
    }

    .photo_text_block > ul > li{
        margin: 5vw 0 0;
        position: relative;
        clear: both;
        overflow: hidden;
    }

    .photo_text_block .photo{
        margin: 0 2vw 0 0;
        float: left;
        width: 50%;
    }

    .photo_text_block > ul > li:nth-child(2n+2) .photo{
        margin: 0 0 0 2vw;
        float: right;
    }

    .photo_text_block .text_box{
        padding: 0 0 0;
    }


    /* ul.list
       ================================================================== */
    ul.list{
        margin: 3vw 0 2vw;
    }

    ul.list li{
        padding: 2vw 2vw 2vw 2vw;
    }

    ul.list li{
        padding-left: 4vw;
    }

    ul.list li::before{
        left: 1.5vw;
        top: 2vw;
    }


    /* com_btn
       ================================================================== */
    .com_btn{
    	margin: 3vw 0;
    }

    .com_btn a{
        padding: 1.5vw 4vw;
    	display: inline-block;
        box-sizing: border-box;
        min-width: 200px;
    }

    .com_btn a span{
        font-size: 2.0vw;
    }


    /* anime_btn
       ================================================================== */
    .anime_btn{
    	line-height: 0;
    }

    .anime_btn a{
    	min-width: 23vw;
        max-width: 100%;
    }

    .anime_btn a > span{
    	padding: 2vw 2vw;
    }

    .anime_btn a > span span{
    	font-size: 2.0vw;
    }

    /* down */
    .anime_btn.down a > span{
    	padding: 2vw 1vw;
    }

    .anime_btn.down a > span span{
        font-size: 2.0vw;
    }

    .anime_btn a svg{
        margin-right: 1.5vw;
    	width: 2.4vw;
    }


}
@media screen and (min-width : 768px){


	p,
	a,
	li{
		font-size: 1.8vw;
	}


    /* footer
       ================================================================== */
    footer{
    	margin: 8vw 0 0;
    }

    footer .inner{
    	display: flex;
    }

    footer .footer_company_block{
    	padding: 25px 0 0;
    }

    footer .footer_company_block > li{
    	padding: 25px 20px;
        position: relative;
    }

    footer .footer_company_block > li::after{
    	content: "";
        background: #ddd;
        width: 1000%;
        height: 1px;
        position: absolute;
        bottom: 0;
        right: 0;
    }

    footer .footer_company_block .site_title .siz_s{
    	font-size: 15px;
    }

    footer .footer_company_block .sdd_box{
        margin: 15px 0 0;
    	font-size: 14px;
    }

    footer .footer_company_block .tel_box{
        margin: 15px 0 0;
    }

    footer .footer_company_block .tel_box p{
    	font-size: 18px;
        font-weight: 500;
    }

    footer .footer_company_block .footer_sns{
        margin: 15px 0 0;
        display: flex;
    }

    footer .footer_company_block .footer_sns li{
        margin-right: 7px;
        width: 37px;
        height: 37px;
    }

    footer .footer_company_block .footer_sns li a{
        height: 37px;
    }

    footer .footer_company_block .footer_sns li svg{
        width: 18px;
    }

    footer .footer_company_block .footer_sns li:nth-child(1) svg{
        width: 12px;
    }

    footer .footer_company_block .footer_sns li path{
        color: #fff;
    }

    footer .footer_nav{
    	margin: 25px 0 0;
        padding: 0 0 0 30px;
    }

    footer .footer_nav > ul{
    	margin: 20px 0 0;
    }

    footer .footer_nav ul li{
    	margin: 0;
    }

    footer .footer_nav ul li span.ttl,
    footer .footer_nav ul li ul li.ttl,
    footer .footer_nav ul li a{
    	padding: 8px 0 8px 25px;
    	display: block;
    	font-size: 14px;
        font-weight: bold;
        border-bottom: none;
    }

    footer .footer_nav ul li ul{
    	margin: 8px 0 0;
    }

    footer .footer_nav ul li ul li a{
    	padding: 8px 0 8px 25px;
        font-weight: normal;
    }

    footer address{
        margin: 20px 0 0;
    	padding: 25px 20px;
    	font-size: 13px;
    	border-top: 1px solid #ddd;
    }


    /* TOPへ戻るボタン
       ================================================================== */
    #page-top {
    	bottom: 10px;
    	right: 10px;
    	width: 40px;
    }


}
@media screen and (min-width : 769px){


    a.over{
    	transition: all ease-out 0.3s;
    }

    a.over:hover{
    	opacity: 0.6;
    }

	a.disabled{
		pointer-events: none;
	}

    .link_text:hover{
        text-decoration: underline;
    }

    .link_text.bar:hover{
        text-decoration: none;
    }


    /* nav_menu
       ================================================================== */
    .nav_menu.search .appear_box button,
    .nav_menu.search .title svg,
    .gnav li.nav_menu .title span,
    .gnav > ul > li > a{
        transition: .3s;
    }

    .nav_menu.search:hover .title svg,
    .gnav li.nav_menu:hover .title span,
    .gnav > ul > li > a:hover{
        color: #0068B7;
    }

    .nav_menu.search .appear_box button:hover{
        opacity: .6;
    }

    .nav_menu .table_list .photo a:hover::after{
        background: #007BD7;
    }


    /* link_block
       ================================================================== */
    .nav_menu .table_list .photo a,
    .link_block ul li{
        overflow: hidden;
    }

    .nav_menu .table_list .photo a::after,
    .nav_menu .table_list .photo a img,
    .link_block ul li a::before{
        transition: 0.3s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    }

    .nav_menu .table_list .photo a:hover img,
    .link_block ul li a:hover::before{
        transform: scale(1.10);
    }


    /* com_btn
       ================================================================== */
    .com_btn a{
        border: 1px solid #2B2B2B;
        transition: .3s;
    }

    .com_btn a span{
        transition: .3s;
    }

    .com_btn a:hover{
        background: #fff;
    }

    .com_btn a:hover span{
        color: #2B2B2B;
    }


    /* anime_btn
       ================================================================== */
    .anime_btn a,
    .anime_btn a > span span,
    .anime_btn a svg{
        transition: .3s;
    }

    .anime_btn a:hover{
    	background: #0068B7;
    }

    .anime_btn a:hover > span span,
    .anime_btn a:hover svg{
        color: #fff;
    }


}
@media screen and (min-width : 1000px){


    body{

    }

    .inner{
    	max-width: 1000px;
    	margin: auto;
        padding: 0;
		box-sizing: border-box;
    }

    img{
    	width: auto !important;
    }

	p,
	a,
	li{
		font-size: 15px;
        line-height: 27px;
	}

	p.siz13{
		font-size: 13px !important;
        line-height: 28px;
	}

	.tab{
		display: none;
	}

	.pc{
		display: inherit;
	}

    #wrap.open #bg_cover{
        width: 0;
        transition: 0s;
    }


    /* header
       ================================================================== */
/*    header{
    	position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: rgba(255,255,255,1);
        z-index: 10;
    }
*/
    header .inner{
    	padding: 22px 0 22px 20px;
        width: 100%;
        max-width: 1300px;
        height: 105px;
        font-size: 0;
    }

    header .site_title{
    	width: 180px;
        display: inline-block;
        vertical-align: middle;
        box-sizing: border-box;
    }


    /* site_title
       ================================================================== */
    .site_title a{
    	display: inline-block;
    }

    .site_title .siz_s{
    	font-size: 13px;
        letter-spacing: 0.05em;
    }

    .site_title .siz_l{
    	font-size: 28px;
    }


    /* gnav
       ================================================================== */
    #ham_btn{
        display: none;
    }

    .gnav{
        margin: 0;
        padding: 0;
    	display: inline-block;
        width: auto;
        box-sizing: border-box;
        position: relative;
        right: auto;
        overflow: inherit;
        float: right;
        background: none;
    }

    .gnav > ul{
    	margin: auto;
    	font-size: 0;
        overflow: inherit;
    }

    .gnav > ul > li{
    	text-align: center;
		width: auto;
		display: inline-block;
    }

    .gnav li.nav_menu .title,
    .gnav > ul > li > a{
        margin: 10px 0 0;
    	padding: 10px 9px;
    	display: block;
    	text-align: center;
    	font-size: 15px;
        border: none;
    }

    .gnav li.nav_menu:hover .title{
    	padding-bottom: 50px;
        transition-delay: 0s;
    }

    .nav_menu.search .appear_box,
    .nav_menu:not(.search) .title::after,
    .gnav li.nav_menu .title,
    .gnav > ul > li > a{
        height: 38px;
    }


    /* nav_menu
       ================================================================== */
    .nav_menu{
        min-height: auto;
        overflow: inherit;
        position: inherit;
    }

    .nav_menu .hide_box{
        overflow: inherit;
    }

    .nav_menu:not(.search) .title::after{
        display: none;
    }

    .nav_menu .appear_box{
        margin-top: 0;
        position: absolute;
        top: 83px;
        right: 0;
        background: #fff;
        width: 100%;
        min-width: 1000px;
        max-width: 1170px;
    	opacity: 0;
    	visibility: hidden;
        border: none;
        transition: all ease-out .2s;
        z-index: 0;
        transform: translateY(-10px);
    }

    .nav_menu:hover .appear_box{
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 10;
        transform: translateY(0);
        transition: cubic-bezier(0.455, 0.03, 0.515, 0.955) .6s;
    }

    /* hover時にappear_boxまで要素を伸ばす */
    .gnav li.nav_menu .title{
    	transition: 0s;
        transition-delay: .6s;
    }

    .nav_menu .appear_box::after{
        content: "";
        position: absolute;
        top: 0;
        left: -500%;
        width: 1000%;
        height: 100%;
        background: #fff;
    }

    .nav_menu.active .appear_box{
    	opacity: 0;
    	visibility: hidden;
    }

    .nav_menu .table_list{
        padding: 0 30px 0 0;
        position: relative;
        z-index: 1;
    }

    .nav_menu .table_list > li{
        padding: 35px 0 0;
        text-align: right;
        font-size: 0;
    }

    .nav_menu .table_list > li:first-child{
        padding-top: 5px;
    }

    .nav_menu .table_list > li:last-child{
        border-bottom: none;
    }

    .nav_menu .table_list > li.border_b{
        border-bottom: 1px solid #ddd;
    }

    .nav_menu .table_list .cat_title{
        margin: 50px 30px 0 0;
        text-align: center;
        font-size: 18px;
        display: inline-block;
        vertical-align: top;
    }

    .nav_menu .page_list{
        margin: 0 0 0;
        text-align: right;
        display: inline-block;
        vertical-align: top;
        width: auto;
        max-width: 860px;
    }

    .nav_menu .fstart .page_list{
        text-align: left;
    }

    .nav_menu .page_list > li{
        margin: 0 0 35px 20px;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
        width: 200px;
    }

    .nav_menu .page_list > li:nth-child(2n+2){
        margin-left: 20px;
    }

    .nav_menu .page_list > li:nth-child(4n+1){
        margin-left: 0;
    }

    .nav_menu .table_list .photo a{
        transition: .3s;
        height: 130px;
    }

    .nav_menu .table_list .page_title a{
        padding: 10px 0 0;
        text-align: center;
        font-size: 15px;
        font-weight: bold;
        display: block;
    }

    /* search */
    .nav_menu.search{
        margin-left: 15px;
        padding: 0 10px 10px 15px;
        position: relative;
    }

    .nav_menu.search::before{
        content: "";
        background: #707070;
        width: 1px;
        height: 88px;
        position: absolute;
        left: 0;
        top: -23px;
    }

    .nav_menu.search .title{
        display: block !important;
    }

    .nav_menu.search .title svg{
        width: 20px;
        transform: translateY(5px);
    }

    .nav_menu.search .appear_box{
        margin-top: 0;
        padding: 0 20px 20px 0;
        opacity: 0;
        visibility: hidden;
        display: flex;
        align-items: center;
        width: 1000px;
        height: auto;
        font-size: 16px;
        background: #fff;
    }

    .nav_menu.search .appear_box form{
        position: relative;
        z-index: 1;
    }

    .nav_menu.search .search_box{
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .nav_menu.search .appear_box input{
        padding: 5px 10px;
        font-size: 16px;
        background: #F1F1F1;
        border: none;
        box-sizing: border-box;
        width: 395px;
        height: 40px;
    }

    .nav_menu.search .appear_box button{
        width: 60px;
        height: 40px;
        background: #0068B7;
        border: none;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .nav_menu.search .appear_box button svg{
        width: 20px;
    }

    .nav_menu.search .appear_box button path{
        color: #fff;
    }


    /* link_block
       ================================================================== */
    .link_block{
    	margin: 0 auto;
    }

    .link_block ul{
    	display: flex;
    }

    .link_block ul li{
    	margin: 0 0 0 3%;
        width: 48.5%;
    }

    .link_block ul li a{
        height: 200px;
    }

    .link_block ul li a span{
        font-size: 18px;
    }


    /* footer
       ================================================================== */
    footer{
    	margin: 115px 0 0;
    }

    footer .inner{
    	display: flex;
        max-width: 1300px;
    }

    footer .footer_company_block{
    	padding: 30px 0 0;
    }

    footer .footer_company_block > li{
    	padding: 30px 43px 28px 0;
        position: relative;
    }

    footer .footer_company_block > li::after{
    	content: "";
        background: #ddd;
        width: 1000%;
        height: 1px;
        position: absolute;
        bottom: 0;
        right: 0;
    }

    footer .footer_company_block .site_title .siz_l{
    	font-size: 28px;
    }

    footer .footer_company_block .site_title .siz_s{
    	font-size: 15px;
    }

    footer .footer_company_block .sdd_box{
        margin: 20px 0 0;
    	font-size: 14px;
    }

    footer .footer_company_block .tel_box{
        margin: 13px 0 0;
    }

    footer .footer_company_block .tel_box p{
    	font-size: 18px;
        font-weight: 500;
    }

    footer .footer_company_block .footer_sns{
        margin: 20px 0 0;
        display: flex;
    }

    footer .footer_company_block .footer_sns li{
        margin-right: 7px;
        width: 37px;
        height: 37px;
    }

    footer .footer_company_block .footer_sns li a{
        height: 37px;
        border: 1px solid #222;
        transition: .3s;
    }

    footer .footer_company_block .footer_sns li a:hover{
        background: #fff;
    }

    footer .footer_company_block .footer_sns li svg{
        width: 18px;
    }

    footer .footer_company_block .footer_sns li:nth-child(1) svg{
        width: 12px;
    }

    footer .footer_company_block .footer_sns li path{
        transition: .3s;
    }

    footer .footer_company_block .footer_sns li a:hover path{
        color: #222;
    }

    footer .footer_nav{
    	margin: 35px 0 0;
        padding: 0 0 0 91px;
        display: flex;
        width: 915px;
    }

    footer .footer_nav > ul{
    	margin: 20px 0 0;
        width: calc(100%/3);
    }

    footer .footer_nav ul li{
    	margin: 0;
    }

    footer .footer_nav ul li span.ttl,
    footer .footer_nav ul li ul li.ttl,
    footer .footer_nav ul li a{
    	padding: 8px 0;
    	display: block;
    	font-size: 14px;
    }

    footer .footer_nav ul li a:hover span{
    	text-decoration: underline;
    }

    footer .footer_nav ul li span.ttl{
        padding: 8px 0 6px;
    }

    footer .footer_nav ul li ul{
    	margin: 8px 0 0;
    }

    footer .footer_nav ul li ul:first-child li.ttl,
    footer .footer_nav ul li ul li a{
    	padding: 3px 0;
    }

    footer .footer_nav ul li ul li.ttl{
    	padding: 8px 0 2px;
    }

    footer address{
        margin: 0 auto 0;
    	padding: 25px 20px;
        max-width: 1000px;
        width: 100%;
        box-sizing: border-box;
    	font-size: 13px;
        border-top: none;
        text-align: left;
    }


    /* TOPへ戻るボタン
       ================================================================== */
    #page-top {
    	position: fixed;
    	bottom: 20px;
    	right: 40px;
    	z-index: 100;
		width: 55px;
    }

    #page-top img{
    	width: auto;
    }

    #page-top a{
    	display: block;
    	transition: ease-in 0.3s;
    }

    #page-top a:hover{
    	opacity: 0.8;
    }


    /* contents_wrap
       ================================================================== */
    .contents_wrap{
        margin: 80px auto 0;
    }

    .contents_wrap > .title_a{
        margin-bottom: 75px !important;
    }


    /* title_a
       ================================================================== */
    .title_a{
        margin: 0 0 0;
    }

    .title_a > span span{
        padding: 0 0 0 25px;
    }

    .title_a .siz_l::before{
        top: 23px;
    }

    .title_a .siz_s{
        margin: 2px 0 0;
        font-size: 15px;
    }

    .title_a .siz_l{
        font-size: 30px;
    }

    /* right */
    .title_a.right{
        margin: 0 auto;
        padding-right: 50px;
        max-width: 1000px;
        box-sizing: border-box;
    }


    /* title_b
       ================================================================== */
    .title_b{
        margin: 0 0 50px;
        padding: 25px 0 0 35px;
    }

    .title_b::after{
        width: 110px;
    }

    .title_b > span{
        font-size: 22px;
    }


    /* title_c
       ================================================================== */
    .title_c{
        margin: 50px 0;
        padding: 14px 0 0 70px;
    }

    .title_c::after{
        width: 50.5px;
        height: 29px;
        top: 0;
    }

    .title_c > span{
        font-size: 20px;
    }


    /* title_d
       ================================================================== */
    .title_d{
        margin: 50px 0 30px;
        padding: 0 25px 15px;
        font-size: 18px;
    }


    /* title_e
       ================================================================== */
    .title_e{
        margin: 50px 0 30px;
        padding: 4px 0 4px 22px;
        font-size: 18px;
    }

    .title_e .siz_s{
        font-size: 13px;
    }


    /* photo_temp
       ================================================================== */
    .photo_temp{
        margin: 50px 0 30px;
    }


    /* com_table
       ================================================================== */
    .com_table th,
    .com_table td{
        padding: 17px 35px;
        font-size: 15px;
    }

    .com_table.sp_wide tr th,
    .com_table th{
        width: 20%;
    }

    .com_table td{
        padding-right: 20px;
    }


    /* exp_txt
       ================================================================== */
    p.exp_txt{
        margin: 50px 0 0;
    }


    /* border_dot
       ================================================================== */
    .border_dot{
        margin: 40px 0 0;
        padding: 25px 28px;
    }

    .border_dot .ttl{
        margin: 0 0 10px;
        font-size: 16px;
    }


    /* border_line
       ================================================================== */
    .border_line{
        padding: 25px 28px;
    }

    .border_line .ttl{
        margin: 0 0 25px;
        font-size: 16px;
    }


    /* photo_text_block
       ================================================================== */
    .photo_text_block{
        margin: 30px 0;
    }

    .photo_text_block > ul > li{
        margin: 30px 0 0;
    }

    .photo_text_block .photo{
        margin: 0 30px 0 0;
        float: left;
        width: 50%;
    }

    .photo_text_block > ul > li:nth-child(2n+2) .photo{
        margin: 0 0 0 30px;
        float: right;
    }

    .photo_text_block .text_box{
        padding: 0 0 0;
    }


    /* ul.list
       ================================================================== */
    ul.list{
        margin: 50px 0;
    }

    ul.list li{
        padding: 23px 15px 23px 25px;
        font-size: 16px;
    }

    ul.list li{
        padding-left: 50px;
    }

    ul.list li::before{
        left: 20px;
        top: 23px;
    }


    /* com_btn
       ================================================================== */
    .com_btn{
    	margin: 20px 0;
    }

    .com_btn a{
        padding: 0 30px;
    	display: inline-flex;
        justify-content: center;
        align-items: center;
        min-width: 280px;
        /* min-height: 50px; */
        height: 50px;
    }

    .com_btn a span{
        font-size: 16px;
    }


    /* anime_btn
       ================================================================== */
    .anime_btn{
    	line-height: 0;
    }

    .anime_btn a{
    	min-width: 230px;
        max-width: 100%;
    }

    .anime_btn a > span{
    	padding: 0 20px;
        height: 50px;
    }

    .anime_btn a > span span{
    	font-size: 15px;
    }

    /* down */
    .anime_btn.down a > span{
    	padding: 0 25px;
        height: 70px;
    }

    .anime_btn.down a > span span{
        font-size: 18px;
    }

    .anime_btn a svg{
        margin-right: 20px;
    	width: 24px;
    }


}
@media screen and (min-width : 1150px){


    /* header
       ================================================================== */
    header .inner{
        height: 120px;
    }


    header .site_title{
    	width: 250px;
    }


    /* site_title
       ================================================================== */
    .site_title .siz_s{
    	font-size: 16px;
        letter-spacing: 0.05em;
    }

    .site_title .siz_l{
    	font-size: 35px;
    }


    /* gnav
       ================================================================== */
    .gnav{
        width: 885px;
    }

    .gnav li.nav_menu .title,
    .gnav > ul > li > a{
    	padding: 10px 14px;
    }

    .gnav li.nav_menu:hover .title{
    	padding-bottom: 52px;
    }


    /* nav_menu
       ================================================================== */
    .nav_menu .appear_box{
        width: 150%;
        min-width: 1000px;
        max-width: 1170px;
        top: 98px;
    }

    .nav_menu .table_list{
        padding: 0 70px 0 0;
    }

    .nav_menu .table_list > li{
        padding: 35px 0 0;
    }

    .nav_menu .table_list .cat_title{
        margin: 65px 50px 0 0;
        font-size: 18px;
    }

    .nav_menu .page_list{
        margin: 0 0 0;
        max-width: 940px;
    }

    .nav_menu .page_list > li{
        margin: 0 0 35px 20px;
        width: 220px;
    }

    .nav_menu .page_list > li:nth-child(2n+2){
        margin-left: 20px;
    }

    .nav_menu .page_list > li:nth-child(4n+1){
        margin-left: 0;
    }

    .nav_menu .table_list .photo a{
        height: 150px;
    }

    /* search */
    .nav_menu.search{
        margin-left: 25px;
        padding: 0 0 0 25px;
    }

    .nav_menu.search::before{
        bottom: 25px;
    }

    .nav_menu.search .title{
        display: block !important;
    }

    .nav_menu.search .title svg{
        width: 20px;
    }

    .nav_menu.search .appear_box{
        margin-top: 0;
        padding: 0 0 23px;
        opacity: 0;
        visibility: hidden;
        display: flex;
        align-items: center;
        width: 150%;
        min-width: 1000px;
        max-width: 1170px;
        height: auto;
        font-size: 16px;
        font-weight: bold;
        line-height: 150%;
        box-sizing: border-box;
        letter-spacing: 0.2em;
        z-index: 2;
    }


}


@keyframes anime_btn {
	0% {
        transform: translate(-100%,0);
        -moz-transform: translate(-100%,0);
        -ms-transform: translate(-100%,0);
    }
	48% {
        transform: translate(0,0);
        -moz-transform: translate(0,0);
        -ms-transform: translate(0,0);
    }
	52% {
        transform: translate(0,0);
        -moz-transform: translate(0,0);
        -ms-transform: translate(0,0);
    }
	100% {
        transform: translate(100%,0);
        -moz-transform: translate(100%,0);
        -ms-transform: translate(100%,0);
    }
}

@keyframes anime_btn_text {
	0% { color: #fff; }
	48% { color: #FF7BA6; }
	52% { color: #FF7BA6; }
	100% { color: #fff; }
}