@charset "UTF-8";

body {
	text-align:center;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #42381e;
	font-size: 15px;
	letter-spacing: .12em;
	line-height: 2.2em;
	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%;
	font-style:normal;
}

img{
    max-width: 100%;
    height: auto;
    width: auto\9; /* ie8 */
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
}
table {
    font-size:inherit;
    font:100%;
	border-collapse: collapse;
}

address{
	font-style:normal;
}

ul{
	list-style:none;
}
ul img{
	vertical-align: top;
	margin:0;
}

a{
	color:#42381e;
	text-decoration:none;
	outline:0;
	-webkit-transition: color 1.0s, background-color 1.0s;
	-moz-transition: color 1.0s, background-color 1.0s;
	transition: color 1.0s, background-color 1.0s;
}
a:hover{
	-webkit-transition: color 0.4s, background-color 0.4s;
	-moz-transition: color 0.4s, background-color 0.4s;
	transition: color 0.4s, background-color 0.4s;
}

.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: bold;}
.fw_normal{font-weight: normal;}	
/*</group>*/

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

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

.blocklink,
.blocklink_out {
	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;*/
}
.contentspage .f_only{
	display:none;
}
.frontpage .c_only{
	display:none;
}
.red_txt{
color: #f45252;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	font-size: 16px;
	letter-spacing: .05em;
	line-height: 2.0em;
}
}

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



/*アニメ
---------------------------------------------------------*/
.anime {
    -webkit-transition: all 0;
    -moz-transition: all 0;
    transition: all 0;
}
.fade-in{
	opacity: 0;
}
.fade-in.anime_on {
	opacity: 1;
  animation:fade-in ease-in-out 2s alternate;
  -webkit-animation:fade-in ease-in-out 2s alternate;
  -moz-animation:fade-in ease-in-out 2s alternate;
}
@keyframes cloud{
  0%   { transform:translate(0%, 0%) scale(0.9);}
  100% { transform:translate(0%, -30px) scale(1.0);}
}


@keyframes bird1{
  0%   { transform:translate(0, 0);}
  100% { transform:translate(10px, 5px);}
}
@keyframes bird2{
  0%   { transform:translate(0,0);}
  45% { transform:translate(0,0);}
  50%   { transform:translate(0,-3px);}
  55% { transform:translate(0,0);}
  100% { transform:translate(0,0);}
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}





/*共通
---------------------------------------------------------*/
.w1030 {
	width: 94%;
	padding: 0 3%;
	max-width: 1030px;
	margin: 0 auto;
	text-align: left;
}
.w1200 {
	width: 94%;
	padding: 0 3%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
.w1300 {
	width: 94%;
	padding: 0 3%;
	max-width: 1300px;
	margin: 0 auto;
	text-align: left;
}
.w1400 {
	width: 94%;
	padding: 0 3%;
	max-width: 1400px;
	margin: 0 auto;
	text-align: left;
}
.max_w1500{
	max-width: 1500px;
	margin: 0 auto;
	width: 100%;
	text-align: left;
}
.ft_l{
	font-size:105%;
	line-height: 2.3em;
	letter-spacing: 0.18em;
}
.ft_min {
	font-family: tbudmincho-std, sans-serif;
	font-weight: 500;
	font-style: normal;
}
.ft_source {	
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 700;
	font-style: normal;
	}
.ft_filson {	
	font-family: filson-soft, sans-serif;
	font-weight: 400;
	font-style: normal;
	}

.com_bg1{
	background:url("../images/bg1@2x.jpg") repeat center center;
	background-size:500px 500px;
}

.bg_hover_li li {
	-webkit-transition: background-color 1.0s;
	-moz-transition: background-color 1.0s;
	transition: background-color 1.0s;
}
.bg_hover_li li:hover {
	-webkit-transition: background-color 0.4s;
	-moz-transition: background-color 0.4s;
	transition: background-color 0.4s;
}
.mgn_b_50{
	margin-bottom: 50px;
}
.mgn_b_60{
	margin-bottom: 60px;
}
.mgn_b_90{
	margin-bottom: 90px;
}
.mgn_b_120{
	margin-bottom: 120px;
}
/*.mgn_b_150{
	margin-bottom:150px;
}*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.ft_l{
	font-size:100%;
	line-height: 2.2em;
	letter-spacing: 0.125em;
}
.mgn_b_50{
	margin-bottom: 30px;
}
.mgn_b_60{
	margin-bottom: 40px;
}
.mgn_b_90{
	margin-bottom: 40px;
}
.mgn_b_120{
	margin-bottom: 100px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.ft_l{
	font-size: 4.1vw;
	letter-spacing: normal;
	line-height: 2em;
}
.mgn_b_50{
	margin-bottom: 5%;
}
.mgn_b_60{
	margin-bottom: 7%;
}
.mgn_b_90{
	margin-bottom: 6%;
}
.mgn_b_120{
	margin-bottom: 12%;
}
}





/*wrapper
---------------------------------------------------------*/
#wrapper{
	overflow: hidden;
}





/*header
---------------------------------------------------------*/
.h_mark{
	position: absolute;
	max-width:190px;
	width: 16%;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 5;
	top: 10px;
}
.h1{
	margin: 0 auto;
	text-align: left;
	font-weight: normal;
	font-size:90%;
	letter-spacing: 0.1em;
	position: absolute;
	top: 20px;
	left: 40px;
	z-index: 3;
}
header{
	position:absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	top: 20px;
	z-index: 5;
	overflow: hidden;
}
header .h_left{
	max-width:352px;
	width: 50%;
	float: left;
	margin: 0 auto 0 40px;
	padding-top: 45px;
}
header .h_right{
	max-width:545px;
	width: 50%;
	float: right;
	padding-right: 30px;
}
header .h_right .h_right_list > li{
	width:49%;
	max-width: 266px;
	float: left;
}
header .h_right .h_right_list > li:last-child{
	width:47%;
	max-width: 249px;
	float: right;
}
header .h_right .h_right_list > li .h_tel{
	display:block;
}
header .h_right .h_right_list > li .h_access{
	background:url("../images/h_access_icon.svg") no-repeat left center;
	background-size:13px 15px;
	padding-left: 16px;
	text-align: left;
}
header .h_right .h_right_list > li .h_access span{
	background:url("../images/h_access_arrow.svg") no-repeat right center;
	background-size:5px 5px;
	padding-right: 7px;
}
header .h_right .h_right_list > li .h_access a{
	text-decoration: underline;
	font-size: 88%;
	letter-spacing: 0.1em;
}
header .h_right .h_right_list > li .h_access a:hover{
	text-decoration: none;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1400px) {
.h1{
	top: 5px;
	left: 2%;
}
header{
	top: 10px;
}
header .h_left{
	max-width:352px;
	width: 30%;
	float: left;
	margin: 0 auto 0 2%;
	padding-top: 35px;
}
header .h_right{
	width: 39%;
	padding-right: 2%;
}
header .h_right .h_right_list > li .h_access{
	background-size:1vw auto;
	padding-left: 1.2vw;
	line-height: 1.3em;
	margin-top: 0.4em;
}
header .h_right .h_right_list > li .h_access a{
	font-size: 1vw;
	letter-spacing: 0;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.h1{
	font-size:1.3vw;
	letter-spacing: 0.1em;
}
.h_mark{
	width: 15%;
	top: 20px;
}
header .h_left{
	padding-top: 30px;
}
header .h_right{
	width: 40%;
	padding-right: 2%;
}
header .h_right .h_right_list > li{
	width:51%;
}
header .h_right .h_right_list > li:last-child{
	width:47%;
}
header .h_right .h_right_list > li .h_access{
	background: none;
	padding-left: 0;
	margin-top: 0;
}
header .h_right .h_right_list > li .h_access span{
	background: none;
	padding-right: 0;
}
header .h_right .h_right_list > li .h_access a{
	font-size: 1.3vw;
	letter-spacing: -0.06em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.h_mark{
	max-width: 250px;
	width: 30%;
	top: 80px;
}
.contentpage .h_mark{
	display: none;
}	
.h1{
	text-align: center;
	font-size:2.5vw;
	letter-spacing: 0.06em;
	top: 10px;
	left: 0;
	right: 0;
}
.contentpage .h1{
	text-align:left;
	left: 3%;
}
header{
	top: 40px;
	z-index: 5;
}
header .h_left{
	width: 60%;
	float: none;
	margin: 0 auto;
	padding-top: 0;
}
header .h_right{
	display: none;}

.contentpage header .h_left{
	background:url("../images/h_mark_sp@2x.png") no-repeat 2vw center;
	background-size:13vw auto;
	margin-left: 0;
	padding: 3.5% 0;
	padding-left: 18vw;
	width: 57%;
	}
}





/*m_nav_area
---------------------------------------------------------*/
.m_nav {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	max-width: 1300px;
	margin: 0 auto;
	position: relative;
}
.m_nav > li {
	position: relative;
	font-weight: normal;
	letter-spacing: .1em;
	line-height: 1.3em;
	z-index: 50;
	width: 14.285%;
}
#scl_header .m_nav > li{
	width: auto;
	padding-left: 0.3em;
}
.m_nav > li > a{
	display:block;
	position: relative;
}
.m_nav > li > a::before{
	position: absolute;
	display: block;
	content: "";
	max-width: 15px;
	width: 15px;
	height: 13px;
	bottom:calc(100% + 10px);
	left: 0;
	right: 0;
	margin: 0 auto;
	opacity: 0;
	transition : 1s;
	background:url("../images/m_nav_s@2x.png") no-repeat center bottom;
	background-size:100% auto;
}
.m_nav > li > a.select::before,
.m_nav > li > a:hover::before{
	opacity: 1;
	transition : 1s;
}
.contentpage .m_nav_area{
	padding-top: 240px;
}

/* アコーディオンメニュー */
.m_nav .in_menu {
	display: none;
	position: absolute;
	z-index: 999;
	top: calc(100% + 0.3em);
	width: 47em;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background:url("../images/ｍ_inmenu_arrow@2x.png") no-repeat center top;
	background-size:35px 15px;
	padding-top: 13px;
}
/*.m_nav .in_menu ul{
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.m_nav .in_menu li{
	width: 50%;
	border-bottom:rgb(255,255,255) 1px solid;
	box-sizing: border-box;
}
.m_nav .in_menu li:nth-child(odd){
	border-right: 1px solid rgb(255,255,255);
}
.m_nav .in_menu li a {
	display: block;
	padding: 1em 2em 1em 1em;
	box-sizing: border-box;
	position: relative;
	color: #42562d;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1.4em;
	text-align: left;
}
.m_nav .in_menu li a span{
	letter-spacing: normal;
}
.m_nav .in_menu li a:hover {
	background:rgba(254,239,171,0.70);
}
.m_nav .in_menu li a::before {
	content: '';
	display: block;
	position: absolute;
	right: 1em;
	width: 15px;
	height: 15px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: url("../images/com_arrow1.svg") no-repeat right center;
	background-size:100% auto;
}*/
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_nav > li {
	font-size:1.7vw;
}
.contentpage .m_nav_area{
	padding-top: 160px;
}
/* アコーディオンメニュー */
.m_nav .in_menu {
	padding-top: 10px;
}
.m_nav .in_menu {
	width: 39.5em;
}
/*.m_nav .in_menu {
	width: 30em;
	font-size:1.7vw;
}
.m_nav .in_menu li > a {
	padding: 1.1em 1.5em 1.1em 1em;
}*/
.m_nav > li > a::before{
	width: 10px;
	bottom:calc(100% + 5px)
}	
#scl_header .m_nav > li{
	font-size:1.7vw;
}
}

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




/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	display: none;
	position: fixed;
	z-index: 600;
	left: 0;
	top: 0;
	width: 100%;
	background:rgba(255,255,255,0.90);
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
#scl_header.is-show {
	display: block;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
   	-webkit-animation: sclAnimation 1.0s;
    -moz-animation: sclAnimation 1.0s;
    -o-animation: sclAnimation 1.0s;
    -ms-animation: sclAnimation 1.0s;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
	text-align: center;
}
#scl_header .scl_flex .scl_nav_area {
	width: 75%;
	box-sizing: border-box;
	padding-left: 1em;
	max-width: 1000px;
	margin: 0 auto;
}
#scl_header .scl_flex .scl_contact {
	width: 25%;
	max-width: 266px;
	display: table;
	table-layout: fixed;
	padding: 0.8em 1em;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#scl_header {
	display: none !important;
}
}

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




/*drawer
---------------------------------------------------------*/
.drw_box1{
	padding: 7% 5% 10% 5%;
	text-align: left;
}
.drw_box1 .drw_illust{
	max-width:250px;
	margin: 0 auto 7% auto;
	width: 55%;
}
.drw_box1 .drw_menu li{
	float:left;
	width: 48.5%;
	border-bottom:1px solid #42381e;
	padding: 0.7em 0 0.6em 0;
}
.drw_box1 .drw_menu li:nth-child(even){
	float:right;
}
.drw_box1 .drw_menu li a{
	display:block;
	background:url("../images/com_arrow1.svg") no-repeat left center;
	background-size:5vw auto;
	padding-left:6.6vw;
	font-size:4.1vw;
	letter-spacing: 0.1em;
}
/*.drw_box1 .drw_menu.drw_menu_med{
	margin-top:8%;
}
.drw_box1 .drw_menu.drw_menu_med li a{
	background:url("../images/com_arrow2.svg") no-repeat left center;
	background-size:5vw auto;
}
.drw_box1 .drw_menu.drw_menu_med .ft_filson{
	color:#ff7664;
	font-size:5vw;
	letter-spacing: 0.1em;
	background:url("../images/drw_dot1@2x.png") repeat-x right center;
	background-size:10px 4px;
}
.drw_box1 .drw_menu.drw_menu_med .ft_filson span{
	background:#ffffff;
	padding-right: 1.5vw;
}*/
.drw_menu_med{
	background: rgba(245,229,218,0.80);
	padding:8% 3% 5% 3%;}

.drw_menu_med .med_footer li{
	border-bottom: solid 2px rgba(255,255,255,0.80);
}
.drw_box2{
	padding:10% 5%;
}
.drw_box2 .drw_topics{
	margin: 0 0 7% 0;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
.drw_box2 .drw_topics > li{
	width: 40%;
	margin-right: 3%;
}
.drw_box2 .drw_topics > li:last-child{
	margin-right: 0;
}
.drw_box2 .drw_contact{
	margin-bottom:8%;
}
.drw_box2 .drw_contact .drw_tel{
	width:78%;
	float: left;
}
.drw_box2 .drw_contact .drw_insta{
	width:17%;
	float: right;
}
.drw_box2 .drw_timetable div{
	max-width:495px;
	margin: 0 auto 0.2em auto;
}
.drw_box2 .drw_timetable li{
	float: left;
	font-size:3.6vw;
}
.drw_box2 .drw_timetable li:last-child{
	float: right;
}
.drw_box2 .drw_timetable li span{
	display:block;
	padding-left:1.2em;
	background:url("../images/drw_timetable_icon.svg") no-repeat left center;
	background-size:3.8vw auto;
}
.drw_box3{
	padding:8% 5% 10% 5%;
}
.drw_box3 .drw_address{
	font-size:4.2vw;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin-bottom: 5%;
}
.drw_box3 .drw_acs_btn{
	width: 70%;
	background:rgba(66,56,30,0.50);
	border-radius: 5vw;
	margin: 0 auto;
}
.drw_box3 .drw_acs_btn a{
	display:block;
	background:url("../images/com_arrow1.svg") no-repeat calc(100% - 1.5vw) center;
	background-size:5.5vw auto;
	padding: 0.6vw 0;
	font-size:4.2vw;
	letter-spacing: 0.15em;
	color:#ffffff;
}




/*メインイメージ
---------------------------------------------------------*/
.m_img_area{
	position:relative;
}

/*雲*/
.m_cloud li{
	position:absolute;
	z-index: 2;
}
.m_cloud li.cloud1{
	max-width: 196px;
	width: 20%;
	left: 35%;
	top: -1%;
}
.m_cloud li.cloud2{
	max-width: 261px;
	width: 15%;
	right: -50px;
	top: 23%;
}
.m_cloud li.cloud3{
	max-width: 122px;
	width: 15%;
	left: -10px;
	top: 18%;
}
.cloud1 {
  animation:cloud ease-in-out 4s infinite alternate;
  -webkit-animation:cloud ease-in-out 4s infinite alternate;
  -moz-animation:cloud ease-in-out 4s infinite alternate;
}
.cloud2 {
  animation:cloud ease-in-out 3s infinite alternate;
  -webkit-animation:cloud ease-in-out 3s infinite alternate;
  -moz-animation:cloud ease-in-out 3s infinite alternate;
}
.cloud3 {
  animation:cloud ease-in-out 5s infinite alternate;
  -webkit-animation:cloud ease-in-out 5s infinite alternate;
  -moz-animation:cloud ease-in-out 5s infinite alternate;
}
.cloud4 {
  animation:cloud ease-in-out 6.5s infinite alternate;
  -webkit-animation:cloud ease-in-out 6.5s infinite alternate;
  -moz-animation:cloud ease-in-out 6.5s infinite alternate;
}

/*下層メインイメージ*/
.contentpage .m_cloud li.cloud2{
	top: 210px;
}
.contentpage .m_cloud li.cloud3{
	top: 180px;
}
.contentpage .m_cloud li.cloud4{
	max-width: 261px;
	width: 15%;
	right:25%;
	top: 20%;
}
.frontpage .m_cloud li.cloud4{
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*雲*/
.m_cloud li{
	position:absolute;
}
.m_cloud li:nth-child(1){
	max-width: 196px;
	width: 20%;
	left: 35%;
	top: -1%;
}
.m_cloud li:nth-child(2){
	max-width: 261px;
	width: 15%;
	right: -50px;
	top: 23%;
}
.m_cloud li:nth-child(3){
	max-width: 122px;
	width: 15%;
	left: -10px;
	top: 18%;
}
	
/*下層メインイメージ*/
.contentpage .m_cloud li.cloud2{
	top: 150px;
}
.contentpage .m_cloud li.cloud3{
	top: 100px;}
}

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

/*雲*/
.m_cloud li:nth-child(1){
	width: 35%;
	left: 30%;
	top: 1%;
}
.m_cloud li:nth-child(2){
	width: 25%;
	right: -10px;
	top: 100px;
}
.m_cloud li:nth-child(3){
	width: 25%;
	left: -5px;
	top: 120px;
}

/*下層メインイメージ*/
.contentpage .m_cloud li.cloud1{
	display: none;
	}
.contentpage .m_cloud li.cloud2{
	top: 20vw;
	width: 30%;
}
.contentpage .m_cloud li.cloud3{
	top: -2vw;
}
.contentpage .m_cloud li.cloud4{
	display: none;
}
}





/*下層共通
---------------------------------------------------------*/
/*com_title*/
.com_title{
	padding-top: 120px;
	line-height: 1.5em;
	position: relative;
	z-index: 3;
}
.com_title .ft_source{
	font-size:300%;
	letter-spacing: 0.2em;
	position: relative;
	padding-bottom: 50px;
	margin-bottom: 30px;
}
.com_title .ft_source::after{
	display: block;
	content: "";
	position: absolute;
	left:0;
	bottom:0;
	width: 100px;
	height: 1px;
	background: #42381e;
}
.com_title .ft_filson{
	font-size:190%;
	letter-spacing: 0.1em;
}
.com_title .ft_filson span{
	color:#f16355;
}

/*com_lead*/
.com_lead{
	margin-top: 35px;
}
.com_lead h3{
	font-size:135%;
	letter-spacing: 0.18em;
	margin-bottom: 20px;
}

/*com_index1*/
.com_index1{
	line-height: 1.5em;
	padding-bottom: 30px;
	position: relative;
	text-align: center;
}
.com_index1::before{
	display:block;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: 0;
	max-width: 162px;
	height: 1px;
	background: #42381e;
}
.com_index1 .ft_filson{
	font-size:200%;
	letter-spacing: 0.1em;
	margin-bottom: 27px;
}
.com_index1 .ft_filson span{
	color:#f45252;
}
.com_index1 .ft_source{
	font-size:105%;
}

/*com_btn1*/
.com_btn1{
	text-align: center;
	margin: 0 auto;}
.com_btn1 a{
	position: relative;
	padding-bottom: 5px;
	padding-top: 5px;
	letter-spacing: 0.2em;
	display: inline-block;
	padding-right: 50px;
}
.com_btn1 a::after{
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	max-width: 40px;
	width: 40px;
	height: 40px;
	background-position: right center;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-image:url("../images/com_arrow2.svg");}
.com_btn1 a span{
	border-bottom:2px solid #ff7664;}
.com_btn1 a:hover{
	color:#ff7664;
}
.com_btn1 a:hover::after{
	animation: spin .6s ease-in-out;}
@keyframes spin {
  100% {
    transform: rotateY(360deg);
  }
}
.btn_col_2{
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
	max-width: 800px;
	margin: 0 auto;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1350px) {
.com_title .ft_source{
	font-size:3.5vw;
	letter-spacing: 0.15em;
}}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*com_title*/
.com_title{
	padding-top: 60px;
}
.com_title .ft_source{
	font-size:3.8vw;
	padding-bottom: 25px;
	margin-bottom: 20px;
}
.com_title .ft_filson{
	font-size:2.8vw;
	letter-spacing: 0.1em;
}

/*com_lead*/
.com_lead{
	margin-top: 25px;
}
.com_lead h3{
	font-size:115%;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}
	
/*com_index1*/
.com_index1{
	padding-bottom: 20px;
}
.com_index1::before{
	max-width: 140px;
}
.com_index1 .ft_filson{
	font-size:180%;
	margin-bottom: 15px;
}
.com_index1 .ft_source{
	font-size:90%;
}
	
/*com_btn1*/	
.com_btn1 a{
	padding-right: 40px;
	padding-bottom: 3px;
	padding-top: 0;
}
.com_btn1 a::after{
	width: 30px;
	height: 30px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*com_title*/
.com_title{
	padding-top: 30vw;
}
.com_title .ft_source{
	font-size:6.8vw;
	letter-spacing: 0.11em;
	line-height: 1.25em;
	padding-bottom: 4%;
	margin-bottom: 3%;
}
.com_title .ft_source::after{
	width: 25vw;
}
.com_title .ft_filson{
	font-size:4.8vw;
	letter-spacing: 0.1em;
}

/*com_lead*/
.com_lead{
	margin-top: 3%;
}
.com_lead h3{
	font-size:5vw;
	letter-spacing: 0.13em;
	margin-bottom: 3%;
}	

/*com_index1*/
.com_index1{
	padding-bottom: 6%;
}
.com_index1::before{
	max-width: 30%;
}
.com_index1 .ft_filson{
	font-size:7vw;
	margin-bottom: 4%;
}
.com_index1 .ft_source{
	font-size:4vw;
}
	
/*com_btn1*/
.com_btn1 a{
	padding-right: 7vw;
}
.com_btn1 a::after{
	width: 6.2vw;
}
.com_btn1 a{
	padding-bottom: 0;
	padding-top: 0;}		


/*btn_col_2*/
.btn_col_2{
	display: block;
	margin: 0 auto;
}
.btn_col_2 div:first-child{
	margin-bottom: 5%;
}
}





/*med_footer
---------------------------------------------------------*/
.med_footer{
	max-width:1200px;
	margin: 0 auto;
}
.med_footer p{
	text-align: center;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 2.4em;
}
.med_footer p span{
	font-weight: normal;
	font-size: 140%;
}
.med_footer p span.red{
	color: #F16655;
}
.med_ft_list{
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}
.med_footer li{
	float: left;
	line-height: 1.3em;
	width: 23%;
	margin: 0 5% 3% 0;
	max-width: 212px;
	position: relative;
	border-bottom: solid 2px #E3E1DD;
	padding: 0 0 25px 0;
	box-sizing: border-box;
}
.med_footer li:nth-child(4n){
	margin-right: 0;
}
.med_footer a{
	font-size: 105%;
	letter-spacing: 0.12em;
	font-weight: bold;
	padding: 0 0 0 60px;
	box-sizing: border-box;
}
.med_footer li:hover a{
	color:#f45252;
}
.med_footer li::after{
	content: "";
	background: url(../medical/images/med_ft_arrow.svg) no-repeat;
	background-size: 100% auto;
	max-width: 20px;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 0;
	top: 0.1em;
}
.med_footer li::before{
	content: "";
	background-image: url(../medical/images/med_menu1@2x.png);
	background-size: 100% auto;
	background-position: left center;
	background-repeat: no-repeat;
	max-width: 52px;
	width: 52px;
	height: 52px;
	position: absolute;
	left: 0;
	top: -1.2em;
}
.med_footer li:nth-child(2)::before{background-image: url(../medical/images/med_menu2@2x.png);}
.med_footer li:nth-child(3)::before{background-image: url(../medical/images/med_menu3@2x.png);}
.med_footer li:nth-child(4)::before{background-image: url(../medical/images/med_menu4@2x.png);}
.med_footer li:nth-child(5)::before{background-image: url(../medical/images/med_menu5@2x.png);}
.med_footer li:nth-child(6)::before{background-image: url(../medical/images/med_menu7@2x.png);}
.med_footer li:nth-child(7)::before{background-image: url(../medical/images/med_menu6@2x.png);}
.med_footer li:nth-child(8)::before{background-image: url(../medical/images/med_menu8@2x.png);}
.med_footer li:nth-child(9)::before{background-image: url(../medical/images/med_menu9@2x.png);}
.med_footer li:nth-child(10)::before{background-image: url(../medical/images/med_menu10@2x.png);}
.med_footer li:nth-child(11)::before{background-image: url(../medical/images/med_menu11@2x.png);}
.med_footer li:nth-child(12)::before{background-image: url(../medical/images/med_menu12@2x.png);}
.m_nav .in_menu .med_footer{
	padding: 25px 15px;
	background: rgba(245,229,218,0.95);}
.m_nav .in_menu .med_footer li{
	float: left;
	width: 32%;
	margin-right: 2%;
	line-height: 1.3em;
}
.m_nav .in_menu .med_footer li:nth-child(4n){
	margin-right: 2%;
}
.m_nav .in_menu .med_footer li:nth-child(3n){
	margin-right: 0;
}
.m_nav .in_menu .med_footer li{
	border-bottom: solid 2px rgba(255,255,255,0.80);
}
.m_nav .in_menu .med_footer li:nth-child(10),
.m_nav .in_menu .med_footer li:nth-child(11),
.m_nav .in_menu .med_footer li:nth-child(12){
	border-bottom:none;
	padding-bottom: 0;
	margin-bottom: 0;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1100px) {
.med_footer p{
	font-size: 90%;
	line-height: 1.8em;
}
.med_footer li{
	float: left;
	width: 24%;
	margin: 0 1.333% 2vw 0;
	max-width: 100%;
	padding: 0 0 2vw 0;
}
.med_footer a{
	font-size: 100%;
	letter-spacing: 0.1em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.med_footer a{
	font-size: 1.7vw;
	letter-spacing: 0.1em;
	padding: 0 0 0 4.8vw;
}
.med_footer li::after{
	width: 1.8vw;
	top: 0.5vw;
}
.med_footer li::before{
	width: 4.1vw;
	top: -2vw;}
.m_nav .in_menu .med_footer{
	background-size:35px 15px;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_footer p{
	font-size: 3.8vw;
	line-height: 1.7em;
}
.med_footer p span{
	font-size: 6vw;
}
.med_footer li{
	width: 48%;
	margin: 0 4% 4% 0;
	max-width: 100%;
	padding: 0 0 4% 0;
}
.med_footer li:nth-child(2n){
	margin-right: 0;
}
.med_footer a{
	font-size: 3.9vw;
	letter-spacing: 0.05em;
	padding: 0 0 0 10vw;
}
.med_footer li::after{
	width: 3.3vw;
	top: 1vw;
}
.med_footer li::before{
	background-position: left top;
	width: 9vw;
	top: -2vw;}
}





/*f_bnr
---------------------------------------------------------*/
.f_bnr{
	padding: 75px 3% 60px 3%;
}
.f_bnr ul{
	max-width: 700px;
	padding-left: 120px;
	margin: 0 auto;
}
.f_bnr li{
	float: left;
	max-width:185px;
	width: 21%;
	margin-right: 15%;
	padding-top: 5px;
}
.f_bnr li:last-child{
	max-width:370px;
	width: 48%;
	margin-right: 0;
	padding-top: 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.f_bnr{
	padding: 40px 3% 20px 3%;
}
.f_bnr ul{
	max-width:650px;
	padding-left: 13%;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.f_bnr{
	padding: 8% 3% 7% 3%;
}
.f_bnr ul{
	padding-left: 0;
}
.f_bnr li{
	width: 28%;
	margin-right: 0;
	padding-top: 2%;
}
.f_bnr li:nth-child(1){
	margin-left: 0%;
	margin-right: 5%;
	}
.f_bnr li:last-child{
	width: 67%;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
}
}





/*footer
---------------------------------------------------------*/
footer{
	padding-top:100px;/*揃える*/
}
footer .f_bg{
	position: relative;
	background:url("../images/bg2@2x.jpg") repeat center bottom;
	background-size:480px 480px;
}
footer .f_inbox{
	position: relative;
	z-index: 2;
	color:#ffffff;
}
footer .f_bg::before,
footer .f_bg::after{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
}
footer .f_bg::before{
	width: 100%;
	height: 166px;
	background: url("../images/f_nami@2x.png") no-repeat center top;
	background-size:100% 100%;
	top:-100px;/*揃える*/
}
footer .f_bg::after{
	width: 100%;
	height: 370px;
	background: url("../images/f_copy_bg@2x.png") no-repeat center bottom;
	background-size:100% 100%;
	bottom:0;
}
footer .f_animal li{
	position: absolute;
	max-width: 155px;
	width: 11%;
}
footer .f_animal li:nth-child(1){
	left: 0;
	top: 140px;
	transform: translate(-100%,-70px);
	transition: 2s ease-in-out;
}
footer .f_animal li:nth-child(1).anime_on{
	transform: translate(0,0);
}
footer .f_animal li:nth-child(2){
	right: 0;
	top: 240px;
	transform: translate(100%,-70px);
	transition: 3s ease-in-out;
}
footer .f_animal li:nth-child(2).anime_on{
	transform: translate(0,0);
}
.contentpage footer .f_animal li:nth-child(1){
	transform: translate(0,0);
}
.contentpage footer .f_animal li:nth-child(2){
	transform: translate(0,0);
}
footer .f_info{
	margin-bottom: 40px;
}
footer .f_clinic{
	padding:45px 0 50px 0;
	max-width: 600px;
	margin: 0 auto;
	text-align: center;
	position: relative;
}
footer .f_clinic::before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	max-width: 50px;
	width: 7%;
	height: 45px;
	background:url("../images/f_bird1@2x.png") no-repeat left top;
	background-size:100% auto;
  animation:bird1 ease-in-out 3s infinite alternate;
  -webkit-animation:bird1 ease-in-out 3s infinite alternate;
  -moz-animation:bird1 ease-in-out 3s infinite alternate;
}
footer .f_clinic address{
	font-size:105%;
	letter-spacing: 0.1em;
	margin-top: 15px;
}
footer .f_flt .col_l{
	max-width:460px;
	width: 46%;
	float: left;
}
footer .f_flt .col_r{
	max-width:495px;
	width: 50%;
	float: right;
}
footer .f_tel{
	max-width: 447px;
	margin: 0 auto 35px 0;
}
footer .f_medical{
	position:relative;
	padding-bottom: 20px;
}
footer .f_medical::before,
footer .f_medical::after{
	display: block;
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	right: 0;
	background: url("../images/f_med_dot@2x.png") repeat-x right center;
	background-size: auto 100%;
}
footer .f_medical::before{
	top:1em;
	width: calc(100% - 7em);
}
footer .f_medical::after{
	bottom:0;
}
footer .f_medical dt{
	color:#ffff1e;
	font-size:140%;
	margin-bottom: 5px;
}
footer .f_medical dd{
	line-height: 1.8em;
}
footer .f_medical dd li{
	float:left;
	letter-spacing: 0.2em;
}
footer .f_timetable{
	margin-bottom: 20px;
}
footer .f_timetable div{
	max-width:495px;
	margin: 0 auto 0.2em auto;
}
footer .f_timetable li{
	float: left;
}
footer .f_timetable li:last-child{
	float: right;
}
footer .f_timetable li span{
	display:block;
	padding-left:1.5em;
	background:url("../images/f_timetable_icon.svg") no-repeat left center;
	background-size:1em auto;
}
footer .f_acs{
	width:57%;
	float: left;
}
footer .f_insta{
	width:40%;
	max-width: 195px;
	float: right;
}
footer .f_acs > li{
	margin-bottom: 10px;
}
footer .f_acs > li:last-child{
	margin-bottom: 0;
}
footer .f_acs > li p{
	display: block;
	line-height: 1.5em;
	position: relative;
	padding: 5px 0;
	padding-left: 70px;
	min-height: 50px;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 60px auto;
	background-image:url("../images/f_acs1.svg");
}
footer .f_acs > li:last-child p{
	background-image:url("../images/f_acs2.svg");
}
footer .f_acs > li p span{
	font-size:200%;
	color:#ffff1e;
	padding: 0 0.1em;
}
footer .f_map{
	position: relative;
}
footer .f_map iframe{
	display: block;
}
footer .f_map::before{
	display: block;
	content: "";
	position: absolute;
	right:20px;
	bottom: 100%;
	max-width: 53px;
	width: 6%;
	height: 44px;
	background:url("../images/f_bird2@2x.png") no-repeat right bottom;
	background-size:100% auto;
  animation:bird2 ease-in-out 5s infinite alternate;
  -webkit-animation:bird2 ease-in-out 5s infinite alternate;
  -moz-animation:bird2 ease-in-out 5s infinite alternate;
}
footer .f_copy{
	padding: 75px 0;
	color:#60b490;
	font-size:125%;
	letter-spacing: 0.1em;
	text-align: right;
}
footer .f_mark{
	position: absolute;
	left: 25px;
	bottom:20px;
	max-width: 131px;
	width: 14%;
}
footer .f_mark ul{
	position: relative;
}
footer .f_mark li:nth-child(2){
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 0;
	animation: 60s mark_anime linear infinite;
}
@keyframes mark_anime {
0% {
	transform: rotate(0deg);
	opacity: 1;
}
50% {
	transform: rotate(180deg);
	opacity: 0.7;
}
100% {
	transform: rotate(360deg);
	opacity: 1;
}
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1350px) {
footer .f_info{
	margin-bottom: 70px;
}
footer .f_animal li:nth-child(1){
	top: 0;
	transform: translate(-100%,-70px);
}
footer .f_animal li:nth-child(2){
	top: 30px;
	transform: translate(100%,-70px);
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
footer{
	padding-top:60px;/*揃える*/
}
footer .f_bg::before{
	height: 100px;
	top:-60px;/*揃える*/
}
footer .f_bg::after{
	height: 300px;
}
footer .f_info{
	margin-bottom: 30px;
}
footer .f_clinic{
	padding:20px 0 40px 0;
}
footer .f_clinic::before{
	left: 20px;
	top: 20px;
}
footer .f_clinic div{
	max-width:412px;
	width: 60%;
	margin: 0 auto;
}
footer .f_clinic address{
	font-size:105%;
}
footer .f_tel{
	margin: 0 auto 20px 0;
}	
footer .f_medical::before{
	width: calc(100% - 6em);
}
footer .f_medical dt{
	font-size:130%;
	margin-bottom: 5px;
}
footer .f_medical dd{
	line-height: 1.6em;
}
footer .f_medical dd li{
	float: none;
	display: inline;
	letter-spacing: 0.05em;
	font-size:90%;
}
footer .f_timetable li{
	font-size:85%;
	letter-spacing: 0.05em;
}
footer .f_acs{
	width:65%;
}
footer .f_insta{
	width:35%;
}
footer .f_acs > li p{
	padding: 5px 0;
	padding-left: 7.5vw;
	min-height: auto;
	background-size: 6.5vw auto;
	font-size:2vw;
}
footer .f_acs > li p span{
	font-size:150%;
}
footer .f_map iframe{
	height: 300px;
}
footer .f_copy{
	padding: 40px 0 50px 0;
	font-size:110%;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer{
	padding-top:10vw;/*揃える*/
}
footer .f_bg::before{
	width: 100%;
	height: 15vw;
	top:-10vw;/*揃える*/
}
footer .f_bg::after{
	height: 55vw;
}
footer .f_animal li{
	width: 16%;
}
footer .f_animal li:nth-child(1){
	top: -3vw;
	transform: translate(-100%,-40px);
}
footer .f_animal li:nth-child(2){
	top: 7vw;
	transform: translate(100%,-40px);
}
footer .f_info{
	margin-bottom: 10%;
}
footer .f_clinic{
	padding:3% 0 8% 0;
}
footer .f_clinic div{
	width:73%;
	margin: 0 auto;
}
footer .f_clinic address{
	font-size:4vw;
	line-height: 1.5em;
}
footer .f_clinic::before{
	display: block;
	content: "";
	position: absolute;
	left: 13vw;
	top: -3vw;
	width: 6vw;
}
footer .f_clinic address{
	font-size:105%;
	letter-spacing: 0.1em;
	margin-top: 15px;
}
footer .f_flt .col_l{
	max-width:100%;
	width:100%;
	float: none;
	margin-bottom: 10%;
}
footer .f_flt .col_r{
	max-width:100%;
	width:100%;
	float: none;
}
footer .f_tel{
	width: 90%;
	margin: 0 auto 5% auto;
}
footer .f_medical{
	padding-bottom: 5%;
}
footer .f_medical::before{
	top:1em;
	width: calc(100% - 7em);
}
footer .f_medical dt{
	font-size:5vw;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
footer .f_medical dd{
	line-height: 1.8em;
}
footer .f_medical dd li{
	float:none;
	display: inline;
	letter-spacing: 0.1em;
}
footer .f_timetable{
	margin-bottom: 5%;
}
footer .f_timetable div{
	max-width:495px;
	margin: 0 auto 0.2em auto;
}
footer .f_timetable li{
	font-size:3.7vw;
}
footer .f_acs > li{
	margin-bottom: 5%;
}
footer .f_acs > li p{
	font-size: 3.7vw;
	display: block;
	line-height: 1.5em;
	position: relative;
	padding: 0 0;
	padding-left: 12.5vw;
	min-height: auto;
	background-size: 11vw auto;
}
footer .f_acs > li p span{
	font-size:170%;
}
footer .f_map::before{
	right:3%;
	width: 8%;
}
footer .f_map iframe{
	height: 280px;
}
footer .f_copy{
	padding: 7% 0 25vw;
	font-size:3.8vw;
	line-height: 1.5em;
	letter-spacing: 0.05em;
}
footer .f_mark{
	left: 25px;
	bottom:23vw;
	width: 22vw;
}
}





/*pagetop
---------------------------------------------------------*/
#page_top {
	max-width: 162px;
	position:fixed;
	z-index:500;
	right:30px;
	bottom:100px;
}
#page_top a{
	position: relative;
}
#page_top a::after{
	display: block;
	content: "";
	position: absolute;
	right: 15%;
	top: 13px;
	max-width: 86px;
	width: 60%;
	height: 63px;
	background:url("../images/pagetop_hover@2x.png") no-repeat center top;
	background-size:100% auto;
	z-index: -1;
  	transition: .3s ease-in-out;
}
#page_top:hover a::after {
  transform: translateY(-65px);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#page_top {
	width: 12%;
	right: 3%;
	bottom:10vw;}
#page_top a::after{
	top: 1vw;
}
#page_top:hover a::after {
  transform: translateY(-5.5vw);
}}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#page_top {
	right: 3%;
	width: 19%;
	bottom:11vw;}
#page_top a::after{
	top: 1vw;
}
#page_top:hover a::after {
  transform: translateY(-8vw);
}
}





/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
	#sp_footer {display: none !important;}
}

#sp_footer {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	z-index: 400;
	text-align: center;
	background:url("../images/sp_f_bg@2x.png") no-repeat center bottom;
	background-size:100% 100%;
}
#sp_footer .sp_f_tel{
	max-width: 606px;
	margin: 0 auto;
	width: 96%;
}

/*バナー矢印アニメーション*/
#sp_footer li .ar_line {
	width: 40%;/*スクロールライン*/
	height: 1px;
	position: absolute;
	z-index: 10;
	right: 8%;
	top: 70%;
	overflow: hidden;
}
#sp_footer li .ar_line::before {
	content: "";
	position: absolute;
	width: 0;
	height: 100%;
	left: 0;
	background: rgba(255,255,255,.7);
	animation: ar_l_animation 3.5s infinite;
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.sp_only{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;}
}