@charset "UTF-8";

body {
    text-align:center;
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color:#2D2D29;
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	letter-spacing: .14em;
	line-height: 2.1em;
	padding:0;
	margin:0;
	background:#fff;
	-webkit-text-size-adjust: 100%;
}
div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
}
img{
    max-width: 100%;
    height: auto;
/*    width: auto;*/
	width: auto\9;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
	display: block;
	margin: auto;
}
table {
    font-size:inherit;
    font:100%;
	border-collapse: separate;
	border-spacing: 0;
}
address{
	font-style:normal;
}
ul{
	list-style:none;
}
a{
	color: inherit;
	text-decoration: none;
	outline: 0;
	transition: color 0.8s, background-color 0.8s;
}
a:hover{
	transition: color 0.4s, background-color 0.4s;
}
i {font-weight: normal !important;}	/*アイコンフォント*/
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/*<group=style>*/
.fw_bold{font-weight: 700;}
.fw_normal{font-weight: 400;}	
/*</group>*/

/*<group=text_align>*/
.txt_al_l{text-align:left;}
.txt_al_r{text-align:right;}
.txt_al_c{text-align:center;}
.sp_txt_l{text-align:center;}
/*</group>*/

/*<group=float>*/
.flt_l{float:left;}
.flt_r{float:right;}	
/*</group>*/

.blocklink,
.blocklink_out,
.blocklink_ank{
	cursor:pointer;
}
.img_max {
	width: 100% !important;
	max-width: initial !important;
}
.change_img img {margin-left: auto; margin-right: auto;}

/* スマホで電話をかけるボタン：画像対応 */
.sp_tel_btn {
	position: relative;
}
.sp_tel_btn img {
	position: relative;
	z-index: 0;
}
.sp_tel_btn span,
.sp_tel_btn a {
	display: block;
}
.sp_tel_btn a {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.ank_adjust {
    /*padding-top: 150px;
    margin-top: -150px;*/
}
.flexbox {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.ft_min{
    font-family: "dnp-shuei-mincho-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.ft_co{
    font-family: "cormorant", sans-serif;
    font-weight: 300;
    font-style: normal;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
    font-size:15px;
    letter-spacing: .1em;
	line-height: 1.8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
    font-size:4.1vw;
    letter-spacing: 0.05em;
    line-height: 1.8em;
}
/*<group=text_align>*/
.sp_txt_l{text-align:left;}	
/*</group>*/
}








/*共通
---------------------------------------------------------*/
#wrapper{
	overflow: hidden;
}
.max_width {
	width: 94%;
	padding: 0 3%;
	margin-left: auto;
	margin-right: auto;
}
.max_1500 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	text-align: left;
}
.w1500 {
	width: 94%;
	padding: 0 3%;
	max-width: 1500px;
	margin: 0 auto;
	text-align: left;
}
.w1450 {
	width: 94%;
	padding: 0 3%;
	max-width: 1450px;
	margin: 0 auto;
	text-align: left;
}
.w1340 {
	width: 94%;
	padding: 0 3%;
	max-width: 1340px;
	margin: 0 auto;
	text-align: left;
}
.w1270 {
	width: 94%;
	padding: 0 3%;
	max-width: 1270px;
	margin: 0 auto;
	text-align: left;
}
.w1240 {
	width: 94%;
	padding: 0 3%;
	max-width: 1240px;
	margin: 0 auto;
	text-align: left;
}







/* アニメ
---------------------------------------------------------*/
/*その場でフェードしながら出てくる*/
.fadein {
	opacity: 0;
	transition: all 1.5s ease;
}
span.fadein {
	display: block;
}
.anime_on .fadein {
	opacity: 1;
}

/*下からフェードしながら出てくる*/
.fadeup {
	opacity: 0;
	transform: translateY(4.0em);
	transition: all 1.5s ease;
}
span.fadeup {
	display: block;
}
.anime_on .fadeup {
	opacity: 1;
	transform: translateY(0em);
}

/*上からフェードしながら出てくる*/
.fadedown {
	opacity: 0;
	transform: translateY(-4.0em);
	transition: all 1.5s ease;
}
span.fadedown {
	display: block;
}
.anime_on .fadedown {
	opacity: 1;
	transform: translateY(0em);
}

/*上からフェードしながら出てくる*/
.fadeleft {
	opacity: 0;
	transform: translateX(-4.0em);
	transition: all 1.5s ease;
}
span.fadeleft {
	display: block;
}
.anime_on .fadeleft {
	opacity: 1;
	transform: translateX(0em);
}

/*その場でズームしながら出てくる*/
.fadezoom {
	opacity: 0;
	transform: scale(0.9);
	transition: all .6s .3s;
}
span.fadezoom {
	display: block;
}
.anime_on .fadezoom {
	opacity: 1;
	transform: scale(1.0);
}

/*遅れて出現*/
.anime_dilay_2 {transition-delay: .2s;}
.anime_dilay_4 {transition-delay: .4s;}
.anime_dilay_6 {transition-delay: .6s;}
.anime_dilay_8 {transition-delay: .8s;}
.anime_dilay_10 {transition-delay: 1.0s;}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}












/* header
---------------------------------------------------------*/
header{
    position: relative;
    z-index: 10;
    padding: 30px 40px 40px;
    box-sizing: border-box;
    height: auto!important;
}
header .h_logo{
    width: 45%;
    max-width: 585px;
    text-align: left;
}
header .h_logo .logo1{
    width: 90%;
    max-width: 500px;
    align-items: flex-end;	
}
header .h_logo .logo1 div:nth-child(1){
    width: 37.5%;
}
header .h_logo .logo1 div:nth-child(2){
    width:60%;
}
header .h_logo .logo2{
    margin: 10px auto 13px;
}
header .h_logo h1{
    font-weight: normal;
    font-size: min(13px,1.5vw);
    line-height: 1em;
}
header .h_link{
    width: 48%;
    max-width: 575px;
}
header .h_link li{
    width:61%;
}
header .h_link li:nth-child(2){
    width: 34%;
}
header .h_link li:nth-child(2) a{
    display: block;
    background: #8590A7;
}
header .h_link li:nth-child(2) a:hover{
    background: #475B85;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
header{
    padding: 1.5vw 3% 3vw;
}
header .h_logo h1{
    letter-spacing: normal;
    font-feature-settings: "palt";
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
header{
    padding: 1.5vw 2% 3vw;
}
header .h_logo .logo2{
    margin: 1vw auto 1vw;
}
header .h_logo h1{
    letter-spacing: normal;
    font-feature-settings: "palt";
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
header{
    padding:3vw 3% 6.5vw;
}
header .h_logo{
    width: 90%;
}
header .h_logo .logo1{
    width: 85%;
}
header .h_logo .logo1 div:nth-child(1){
    width: 37.5%;
    padding-bottom: .8vw;
}
header .h_logo .logo1 div:nth-child(2){
    width: 58%;
}
header .h_logo .logo2{
    margin: 2vw auto 2.5vw;
}
header .h_logo h1{
    font-size:2vw;
}
header .h_link{
    display: none;
}
}






/*メインナビ
---------------------------------------------------------*/
.m_nav_area {
    position: absolute;
    bottom:8%;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 94%;
    max-width: 1310px;
    background:#fff;
    box-shadow: 0 0 10px 5px rgba(0,0,0,0.1); 
    padding: 0 4%;
    box-sizing: border-box;
    z-index: 5!important;
}
.m_nav {
	position: relative;
	width: 100%;
	display: flex;
    justify-content: space-between;
	white-space: nowrap;
    line-height: 1em;
}
.m_nav > li {
	position: relative;
    width: 25%;
    text-align: center;
    box-sizing: border-box;
    line-height: 1em;
    font-size: min(100%,1.4vw);
}
.m_nav > li:nth-child(1){/*330*/
    width: 35%;
}
.m_nav > li:nth-child(2){/*260*/
    width: 28%;
}
.m_nav > li:nth-child(3){/*180*/
    width: 18%;
}
.m_nav > li:nth-child(4){/*240*/
    width: 25%;
}
.m_nav > li:nth-child(5){/*200*/
    width: 19%;
}
.m_nav > li > a {
    position: relative;
	display: block;
	text-align: center;
    font-size: 125%;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    padding-top: min(2.7rem,4vw);
    padding-bottom: min(4.5rem,5.8vw);
}
.m_nav > li > a::before{
    position: absolute;
    display: block;
    content: "";
    background: #B39254;
    background-size: 100% auto;
    width: 50%;
    height: 4px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    opacity: 0;
    transition: 1s;
}
.m_nav > li > a:hover::before{
    opacity: 1;
    transition: 0.2s;
}
.m_nav > li > p{
    position: absolute;
    bottom: min(2.5rem,3.2vw);
    left: 0;
    right: 0;
    margin: 0 auto;
    color: #B39254;
    font-size:110%;
}
.m_nav > li > a::after{
    position: absolute;
    display: block;
    content: "";
    background: #CACAC9;
    background-size: 100% auto;
    width: 1px;
    height: 55%;
    top:50%;
	transform: translateY(-50%); 
    right: 0;
}
.m_nav > li:last-child > a::after{
    display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_nav_area{
    display: none;
}
}








/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	width: 100%;
	transform: translateY(-100%);
}
#scl_header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex {
    display: flex;
    justify-content: space-between;
    background: #fff;
}
#scl_header .scl_flex .scl_nav_area{
    width: 62%;
    max-width: 930px;
    padding: 0 3%;
    box-sizing: border-box;
}
#scl_header .scl_flex .scl_nav_area .m_nav{
    font-size: min(85%,1vw);
    height: 100%;
}
#scl_header .scl_flex .scl_nav_area .m_nav a{
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding-bottom: 1.2em;
}
#scl_header .scl_flex .scl_nav_area .m_nav a::after{
    height: 50%;
}
#scl_header .scl_flex .scl_content{
    width: 38%;
    max-width: 570px;
}
#scl_header .scl_flex .scl_content ul{
    display: flex;
    justify-content: space-between;
    align-items: center;	
}
#scl_header .scl_flex .scl_content li{
    width: 56%;
}
#scl_header .scl_flex .scl_content li:nth-child(1){
    padding: 0 2%;
    box-sizing: border-box;
}
#scl_header .scl_flex .scl_content li:nth-child(2){
    width: 44%;
}
#scl_header .scl_flex .scl_content li:nth-child(2) a{
    display: block;
    background: #8590A7;
}
#scl_header .scl_flex .scl_content li:nth-child(2) a:hover{
    background: #475B85;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#scl_header .scl_flex .scl_nav_area{
    padding-left: 0;
    padding-right: 1%;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#scl_header {
	display: none !important;
}
}

/* スクロールメニューアニメーション */
@keyframes sclAnimation {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}




/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp_footer {display: none!important;}}
#sp_footer {
	position: fixed;
	width: 100%;
    max-height: 120;
	left: 0;
	bottom: 0;
	z-index: 999;
    display: flex;
    justify-content: space-between;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.4));
}
#sp_footer li{
    position: relative;
    width: 50%;
    text-align: center;
}








/* com_contactbox
---------------------------------------------------------*/
.com_contactbox{
    position: relative;
    text-align: center;
    max-width: 1000px;
    width: 95%;
    margin: 0 auto;
}
.com_contactbox::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 2.5em);
    bottom: 0;
    left: 0;
    border:1px solid #D5D5D4;
}
.com_contactbox::after{
    position: absolute;
    display: block;
    content:"";
    background: url("../images/top/img02@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 100%;
    height: 53px;
    top:100%;
    left: 0;
}
.com_contactbox .com_contact_title{
    position: relative;
    background: linear-gradient(to right,  #c8a326 63%,#d4b845 100%);
    color: #fff;
    text-align: center;
    width: 90%;
    max-width: 780px;
    padding: .8em 2em;
    box-sizing: border-box;
    display: inline-block;
    margin: 0 auto 25px;
    z-index: 2;
}
.com_contactbox .com_contact_title::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs04@2x.png")no-repeat top center;
    background-size: 100% auto;
    width: 18px;
    height: 14px;
    top:100%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.com_contactbox .com_contact_title::after{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/abs03@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 140px;
    height: 55px;
    top: -20px;
    left: -15px;
}
.com_contactbox .inbox{
    position: relative;
    z-index: 2;
    padding: 0 4% 35px;
    box-sizing: border-box;
}
.com_contactbox .inbox ul{
    display: flex;
    justify-content: space-between;
    align-items: center;	
    max-width: 835px;
    margin: 0 auto;
}
.com_contactbox .inbox ul li{
    width: 48%;
}
.com_contactbox .inbox ul li:nth-child(2) a{
    display: block;
    background: #8590A7;  
    border-radius: 3px;
}
.com_contactbox .inbox ul li:nth-child(2) a:hover{
    background: #475B85; 
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_contactbox::before{
    height: calc(100% - 5vw);
}
.com_contactbox .com_contact_title{
    padding: .7em 1em;
    margin: 0 auto 3vw;
}
.com_contactbox .com_contact_title::before{
    width: 2vw;
}
.com_contactbox .com_contact_title::after{
    width: 15vw;
    top: -2vw;
    left: -2vw;
}
.com_contactbox .inbox{
    padding: 0 4% 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_contactbox::before{
    height: calc(100% - 13vw);
}
.com_contactbox .com_contact_title{
    padding: .8em 1em;
    margin: 0 auto 8vw;
}
.com_contactbox .com_contact_title::after{
    width: 25vw;
    top: -4vw;
    left: -2vw;
}
.com_contactbox .inbox{
    padding: 0 4% 8%;
}
.com_contactbox .inbox ul{
    display: block;
    width: 90%;
}
.com_contactbox .inbox ul li{
    width: 100%;
}
.com_contactbox .inbox ul li:nth-child(2) a{
    margin-top: 8vw;
}
}



/* com_btn1
---------------------------------------------------------*/
.com_btn1{
    position: relative;
    z-index: 5;
    margin-top: 55px;
    text-align: center;
}
.com_btn1 a{
    position: relative;
    display: block;
    max-width: 360px;
    font-size: min(125%,2vw);
    letter-spacing: 0.1em;
    line-height: 1.5em;
    padding: 1.3em 2em 1.3em 1em;
    box-sizing: border-box;
    margin: 0 auto;
    border-radius: 50px;
    border:1px solid #C7BD8D;
    background: #fff;
    color: #2D2D29;
}
.com_btn1 a::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/arrow01@2x.png")no-repeat top right;
    background-size: 100% auto;
    width: 1.4em;
    height: 1.4em;
    top: 50%;
	transform: translateY(-50%);
    right: 3.3em;
}
.com_btn1.type_gray a{
    border-color: #AEC9CC;}
.com_btn1.type_gray a::before{
    background-image: url("../images/top/arrow02@2x.png");}
.com_btn1.type_green a{
    border-color: #AEC987;}
.com_btn1.type_green a::before{
    background-image: url("../images/top/arrow03@2x.png");}
.com_btn1.type_ank a::before{
    background-image: url("../images/top/arrow05@2x.png");}

.com_btn2 a{
    position: relative;
    display: inline-block;
    text-align: center;
    font-size: min(130%,2.1vw);
    letter-spacing: 0.1em;
    line-height: 1.5em;
    border-bottom: 1px solid #fff;
    padding-bottom: 1em;
    margin-top: 60px;
    color: #fff;
    padding-left: 1em;
    padding-right: 2.8em;
    box-sizing: border-box;
}
.com_btn2 a::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/top/arrow04@2x.png")no-repeat top right;
    background-size: 100% auto;
    width: 1.4em;
    height: 1.4em;
    top: .1em;
    right: .8em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_btn1{
    margin-top: 6vw;
}
.com_btn2 a{
    margin-top: 6vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_btn1{
    margin-top: 7vw;
}
.com_btn1 a{
    font-size: 100%;
    padding: 1em 1em .95em .5em;
}
.com_btn1 a::before{
    right: 2em;
}

.com_btn2 a{
    font-size: 100%;
    padding-bottom: 1em;
    margin-top: 10vw;
}
}










/* drw_inbox
---------------------------------------------------------*/
.drw_inbox{
    text-align: center;
    padding: 15vw 5% 0;
}
.drw_inbox p{
    font-size:170%;
    letter-spacing: 0.1em;
    line-height: 1em;
    margin-bottom: 1.5em;
}
.drw_inbox ul{
    width: 18em;
    margin: 0 auto;
    font-size:100%;
    letter-spacing: 0.1em;
    line-height: 1em;
}
.drw_inbox li{
    border-bottom: 1px solid #D1AF4C;
    padding-bottom: 1.5em;
    margin-bottom: 2.5em;
}
.drw_inbox li a{
    display: block;
}



/* footer
---------------------------------------------------------*/
footer .bg1{
    background: #F4F3E4;
    padding-top: 70px;
    padding-bottom: 50px;
}
footer .f_logo{
    width: 70%;
    margin: 0 auto;
}
footer .bg2{
    position: relative;
    padding-bottom: 80px;
    background: #EAE9CB;
}
footer .bg2::before{
    position: absolute;
    display: block;
    content: "";
    background: #F4F3E4;
    background-size: 100% auto;
    width: 100%;
    height:95px;
    tpop:0;
    left: 0;
}
footer .bg2 .w1340{
    position: relative;
    z-index: 2;
}
footer .f_time{
    width: 80%;
    max-width: 780px;
    margin: 0 auto 100px;
}
footer .f_time .timetable{
    background: #FBFAF4;
    padding: 40px 8%;
    box-sizing: border-box;
}
footer .f_time ul{
    margin-top: .5em;
}
footer .f_time ul li{
    display: inline-block;
    margin-right: 1em;
}
footer .f_time ul li:last-child{
    margin-right: 0;
}
footer .f_time ul li span{
    color: #8590A7;
}
footer .f_flexbox .flex_l{
    width: 50%;
}
footer .f_flexbox .flex_l iframe{
    display: block;
}
footer .f_flexbox .flex_r{
    width: 46.5%;
    text-align: center;
}
footer .f_flexbox .flex_r dl{
    margin-bottom: 40px;
}
footer .f_flexbox .flex_r dt{
    font-size: min(240%,3.5vw);
    letter-spacing: 0.05em;
    line-height: 1em;
    color: #A57E24;
    margin-bottom: .5em;
}
footer .f_flexbox .flex_r dd{
    line-height: 1.4em;
}
footer .f_flexbox .flex_r .flexbox li{
    width: 50%;
    border-right:1px solid #CFC188;
    padding-top: 15px;
    box-sizing: border-box;
}
footer .f_flexbox .flex_r .flexbox li:nth-child(1){
    padding-right: 4%;
}
footer .f_flexbox .flex_r .flexbox li:nth-child(2){
    border-right: none;
    padding-left: 4%;
}
footer .f_flexbox .flex_r .flexbox li div{
    height: 110px;
    display: flex;
    justify-content: center;
    align-items: center;	
}
footer .f_flexbox .flex_r .flexbox li p{
    line-height: 1.4em;
    margin-top: 1.3em;
}

footer .f_bnr{
    margin-top: 75px;
    text-align: right;
} 
footer .f_bnr a{
    width: 40%;
    max-width: 430px;
    display: inline-block;
    margin-left: auto;
    margin-right: 0;
}
footer .copyright{
    color: #A57E24;
    line-height: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .bg1{
    padding-top: 7vw;
    padding-bottom: 5vw;
}
footer .bg2{
    padding-bottom: 5vw;
}
footer .bg2::before{
    height:10vw;
}
footer .f_time{
    margin: 0 auto 5vw;
}
footer .f_time .timetable{
    padding: 5vw 8%;
}
footer .f_time ul{
    margin-top: .8em;
    letter-spacing: normal;
}
footer .f_flexbox .flex_l iframe{
    height: 30vw;
}
footer .f_flexbox .flex_r dl{
    margin-bottom: 3vw;
}
footer .f_flexbox .flex_r dt{
    margin-bottom: .3em;
}
footer .f_flexbox .flex_r .flexbox li{
    padding-top: 0;
}
footer .f_flexbox .flex_r .flexbox li:nth-child(1){
    padding-right: 3%;
}
footer .f_flexbox .flex_r .flexbox li:nth-child(2){
    padding-left: 3%;
}
footer .f_flexbox .flex_r .flexbox li div{
    height: 10vw;
}
footer .f_flexbox .flex_r .flexbox li p{
    margin-top: .3em;
    letter-spacing: normal;
    font-size:95%;
}
footer .f_bnr{
    margin-top: 4vw;
} 
footer .copyright{
    font-size:95%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .bg1{
    padding-top: 10vw;
    padding-bottom: 8vw;
}
footer .f_logo{
    width: 90%;
}
footer .bg2{
    padding-bottom: 25vw;
}
footer .bg2::before{
    height: 10vw;
}
footer .f_time{
    width: 95%;
    margin: 0 auto 8vw;
}
footer .f_time .timetable{
    padding: 6% 6%;
}
footer .f_time ul{
    letter-spacing: normal;
    line-height: 1.8em;
    font-size:80%;
    margin-top: .5em;
}
footer .f_flexbox{
    display: block;
}
footer .f_flexbox .flex_l{
    width: 100%;
    margin-bottom: 8%;
}
footer .f_flexbox .flex_l iframe{
    height: 50vw;
}
footer .f_flexbox .flex_r{
    width: 100%;
}
footer .f_flexbox .flex_r dl{
    margin-bottom: 4%;
}
footer .f_flexbox .flex_r dt{
    font-size:140%;
    margin-bottom: .5em;
}
footer .f_flexbox .flex_r dd{
    letter-spacing: 0.05em;
}
footer .f_flexbox .flex_r .flexbox li{
    width: 50%;
    padding-top: 0;
}
footer .f_flexbox .flex_r .flexbox li:nth-child(1){
    padding-right: 3%;
}
footer .f_flexbox .flex_r .flexbox li:nth-child(2){
    padding-left: 3%;
}
footer .f_flexbox .flex_r .flexbox li div{
    height: 15vw;
}
footer .f_flexbox .flex_r .flexbox li p{
    margin-top: 1em;
    font-size: 90%;
}

footer .f_bnr{
    text-align: center;
    margin-top: 5vw;
} 
footer .f_bnr a{
    width: 80%;
} 
footer .copyright{
    letter-spacing: normal;
    font-size:95%;
    tab-size: center;
    margin: .8em auto 0;
}
}


/* PC
------------------------------------------*/
@media only screen and (min-width: 960px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !important;}
.sp_pc{display:block !important;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.sp_only{display:none !important;}
.sp_pc{display:none !important;}
.sp_pc{display:none !important;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pc_only{display:none !important;}
.tb_only{display:none !important;}
.tb_pc{display:none !important;}
.sp_pc{display:block!important;}
}