@charset "UTF-8";

/* 共通色
---------------------------------------------------------*/
/*普通色*/
.com_clr,.com_clr a,
.com_clrhover:hover,.com_clrhover a:hover,
.com_txt_link:hover,
.m_nav li a:hover,
.m_nav li a.select,
.m_nav li a:hover i,
.m_nav li a.select i{
	color: #E08B9C;
}
.com_clrbg,
.com_form input[type="submit"]:hover,
.com_form input[type="button"]:hover{
	background: #E08B9C;
}
.com_clrbdr{
	border-color: #E08B9C!important;
}

/*濃い色*/
.com_clrbg:hover{
	background: #C94E67;
}

/*薄い色*/
.com_clrbdr2{
	border-color: #E9AEBA!important;
}

/*特殊*/
.com_btn2 a{
	background: #fff5fb;
	border-color: #efc5cd!important;
}
.com_btn2 a:hover{
	background: #efc5cd;
}




/* 共通
---------------------------------------------------------*/
body {
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #000000;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 2em;
	padding:0;
	margin:0;
	background: #F5F7FA;
}

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;
	font-weight: 400;
}
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;
	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;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix {
  min-height: 1px;
}
* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
.fw_bold{font-weight: 600;}
.fw_normal{font-weight: 400;}	
.txt_al_l{text-align:left;}
.txt_al_r{text-align:right;}
.txt_al_c{text-align:center;}
.sp_txt_l{text-align:center;}
.flt_l{float:left;}
.flt_r{float:right;}
.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;*/
}

.red{	color: #ad5050;}
.gray{	color: #999999;}

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









/*共通
---------------------------------------------------------*/
/*スマホ時は隙間を広くする*/
.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;
}
.w1240 {
	width: 94%;
	padding: 0 3%;
	max-width: 1240px;
	margin: 0 auto;
	text-align: left;
}
/*スマホ時は隙間を広くする*/
.ft_min {
	font-family: "dnp-shuei-mincho-pr6n", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.ft_got {
	font-family: "century-gothic", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.com_txt_link {
	text-decoration: underline;
}
.com_txt_link:hover {
	text-decoration: none;
}
/*その場でフェードしながら出てくる*/
.fadein {
	opacity: 0;
	transition: all .8s linear;
}
span.fadein{
	display: block;
}
.anime_on .fadein{
	opacity: 1;
}
/*下からフェードしながら出てくる*/
.fadeup {
	opacity: 0;
	transform: translateY(50px);
	transition: all 1.2s ease-out;
}
span.fadeup {
	display: block;
}
.anime_on .fadeup {
	opacity: 1;
	transform: translateY(0px);
}
/*上からフェードしながら出てくる*/
.fadedown {
	opacity: 0;
	transform: translateY(-50px);
	transition: all 1.2s ease-out;
}
span.fadedown {
	display: block;
}
.anime_on .fadedown {
	opacity: 1;
	transform: translateY(0px);
}
/*その場でズームしながら出てくる*/
.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;}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.max_width,
.w1240 {
	width: 90%;
	padding: 0 5%;
}
}






/* 隙間
---------------------------------------------------------*/
.com_btm_20{
	margin-bottom: 20px;
}
.com_btm_30{
	margin-bottom: 30px;
}
.com_btm_40{
	margin-bottom: 40px;
}
.com_btm_50{
	margin-bottom: 50px;
}
.com_btm_75{
	margin-bottom: 75px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_btm_20{
	margin-bottom: 2%;
}
.com_btm_30{
	margin-bottom: 3%;
}
.com_btm_40{
	margin-bottom: 4%;
}
.com_btm_50{
	margin-bottom: 5%;
}
.com_btm_75{
	margin-bottom: 7.5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_btm_20{
	margin-bottom: 3%;
}
.com_btm_30{
	margin-bottom: 4%;
}
.com_btm_40{
	margin-bottom: 5%;
}
.com_btm_50{
	margin-bottom: 6%;
}
.com_btm_75{
	margin-bottom: 8.5%;
}
}




/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	position: absolute;
	background: url("../images/m_bg1@2x.jpg")no-repeat center center;
	background-size: cover;	
	top:0;
	left: 0;
	width: 100%;
	/*height: 100vh;*/
	z-index: 1;
}
.m_img_area::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(245,247,250,0) 0%,rgba(245,247,250,1) 100%);
	background-size: 100% auto;
	width: 100%;
	height: 40%;
	bottom: 0;
	left: 0;
}
.m_img_area .w1240{
	position: relative;
	z-index: 2;
}

/*header*/
header{
	position: relative;
	padding-top: 100px;
}
header .h_logo,
header .h_logo a{
	color: #fff;
}
header .h_logo .ft_min{
	font-size: min(290%,5vw);
	line-height: 1em;
}
header .h_logo .ft_got{
	font-size: min(80%,1.3vw);
	line-height: 1em;
	margin-top: 1em;
}

/*m_nav*/
:root {
  --start-top: 240px;      /* 初期位置 */
  --fixed-top: 50px;       /* 固定時の画面上端余白 */
  --bottom-offset: -50px;   /* 下端停止位置の余白 */
}

.m_nav {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: var(--start-top);
  z-index: 10;
}
.m_nav.pos_fix {
  position: fixed;
  top: var(--fixed-top);
}
.m_nav.pos_abs {
  position: absolute;
  /* top は JS で初期位置・下端位置を設定 */
}
.m_nav_inbox{
	position: relative;
}
.m_nav .m_nav_list{
	position: sticky;
	top:0;
	left: 0;
	width: 23%;
	max-width: 250px;
	background: #fff;
	border-radius: 13px;
	padding: 50px 0;
	box-sizing: border-box;
	font-size: min(108%,1.6vw);
	letter-spacing: 0.1em;
	box-shadow: 0 0 50px -10px rgba(0, 0, 0, 0.2); 
	text-align: center;
	transition: 1s;
}
.m_nav ul{
	display: inline-block;
}
.m_nav li{
	line-height: 1em;
	margin-bottom: 1.8em;
}
.m_nav li:last-child{
	margin-bottom: 0;
}
.m_nav li a{
	position: relative;
	display: block;
	text-align: left;
	padding-right: 1.8em;
	box-sizing: border-box;
}
.m_nav li a:hover,
.m_nav li a.select,
.m_nav li a:hover i,
.m_nav li a.select i{
	transition: 0.4s;
}
.m_nav li i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	font-size:120%;
	color: #D5D8DE;
	transition: 0.2s;
}

/*m_img1*/
.m_img1,.m_img2{
	position: absolute;
	width:28%;
	max-width: 360px;
}
.m_img1{
	top: 50px;
	right: -3%;
}

/*m_img2*/
.m_img2{
	top:780px;
	left: -11.5%;
}

/*m_got*/
.m_got{
	position: absolute;
	top:225px;
	right: 2.8%;
	font-size: min(1160%,12.5vw);
	line-height: .85em;
	color:#fff;
	text-align: right;
}
/*
.kakunin .m_got{
	display: none;
}*/

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
/*header*/
header{
	padding-top:7vw;
}

/*m_nav*/
:root {
  --start-top: 17vw;   
  --fixed-top: 4vw;     
  --bottom-offset: -5vw;  
}
.m_nav .m_nav_list{
	padding: 3.5vw 0;
}
	
/*m_img1*/
.m_img1{
	top: 3vw;
	right: 0;
}

/*m_img2*/
.m_img2{
	top: 55vw;
	left: -7%;
}

/*m_got*/
.m_got{
	top: 17vw;
}
}

/* PC調整（縦）
------------------------------------------*/
@media only screen and (min-width: 959px) and (max-height: 630px) {	
/*header*/
header{
	padding-top: 15.5vh;
}
/*m_nav*/
:root {
  --start-top: 37.5vh; 
  --fixed-top: 8vh; 
}
.m_nav .m_nav_list{
	padding: 7.5vh 0;
}
.m_nav li{
	margin-bottom: 5vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {	
/*header*/
header{
	padding-top: 4.5vw;
}

/*m_nav*/
:root {
  --start-top: 14vw;
  --fixed-top: 4vw; 
  --bottom-offset: -3vw; 
}
.m_nav .m_nav_list{
	width: 22%;
	padding: 3vw 0 3.2vw;
	letter-spacing: normal;
	box-shadow: 0 0 20px -10px rgba(0, 0, 0, 0.2); 
}
.m_nav li{
	margin-bottom: 1.5em;
}
	
/*m_img1*/
.m_img1,.m_img2{
	width:24%;
}
.m_img1{
	top: 2vw;
	right:2%;
}

/*m_img2*/
.m_img2{
	width: 25%;
	top: 52vw;
	left: -5%;
}

/*m_got*/
.m_got{
	top: 13vw;
	right: 7.5%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	background-position: left center;
}/*
.kakunin .m_got{
	display: block;
}*/
	
/*header*/
header{
	padding-top: 6vw;
}
header .h_logo .ft_min{
	font-size: 8vw;
}
header .h_logo .ft_got{
	font-size: 3.2vw;
	line-height: 1.4em;
	padding-left: 0.5em;
	margin-top: .6em;
}
.m_img_area .imgbox{
	width: 100%;
	display: flex;
    justify-content: space-between;
	margin-top: 4.5vw;
	margin-left: -6.5%;
}
.m_img_area .imgbox li{
	width: 50%!important;
}
	
/*m_img1*/
.m_img1,.m_img2{
	position: static;
	max-width: 100%;
}

/*m_got*/
.m_got{
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	top:0;
	right: -3%;
	font-size:23vw;
	text-align: left;
	opacity: .3!important;
}
}




/* フォントサイズ
---------------------------------------------------------*/
.fs15{
	font-size: 90%;
	line-height: 1.8em;
}
.fs19{
	font-size: 110%;
}
.fs21{
	font-size:120%;
}
.fs20{
	font-size:120%;
}
.fs26{
	font-size: min(155%,2.5vw);
}
.fs50{
	font-size: min(300%,3.8vw);
	line-height: 1.3em;
}
.fs70{
	font-size: min(410%,4.8vw);
	line-height: 1.3em;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.fs19{
	font-size: 95%;
}
.fs21,
.fs20{
	font-size:110%;
}
.fs26{
	font-size:105%;
}
.fs50{
	font-size: 170%;
}
.fs70{
	font-size: 240%;
}
}






/*全体共通
---------------------------------------------------------*/
#wrapper{
	position: relative;
	overflow: hidden;
}
#pagebody {
	position: relative!important;
	padding-top: 350px;
	padding-bottom: 110px;
}
.contentpage #pagebody {
	padding-top: 420px;
	padding-bottom: 180px;
}
.r_content_deco{
	position: relative;
}
.r_content_deco::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/m_deco1@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 110%;
	max-width: 953px;
	height: 953px;
	top: 57%;
	transform: translateY(-50%);
	left: 0;/*-83.5%*/
	aspect-ratio: 1 / 1;
	z-index: 9;
}
.contentpage .r_content_deco::before{
	background-position: bottom left;
	top:auto;
	transform: translateY(0);
	bottom: -550px;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#pagebody {
	padding-top: 25vw;
	padding-bottom: 8vw;
}
.contentpage #pagebody {
	padding-top: 30vw;
	padding-bottom: 10vw;
}
.contentpage .r_content_deco::before{
	bottom: -40vw;
}
}

/* PC調整（縦）
------------------------------------------*/
@media only screen and (min-width: 959px) and (max-height: 630px) {	
#pagebody {
	padding-top:55vh;
}
.contentpage #pagebody {
	padding-top:66vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#pagebody {
	padding-top: 23vw;
	padding-bottom: 8vw;
}
.contentpage #pagebody {
	padding-top: 23vw;
	padding-bottom: 10vw;
}
.r_content_deco::before{
	left: -50%;
}	
.contentpage .r_content_deco::before{
	bottom: -40vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#pagebody {
	padding-top: 68vw;
	padding-bottom: 10%;
}
.contentpage #pagebody {
	padding-top: 73vw;
	padding-bottom: 15%;
}
.r_content_deco::before{
	left: -50%;
}
.contentpage .r_content_deco::before{
	bottom: -40vw;
}
}










/* リスト
---------------------------------------------------------*/
.com_bdrlist > li{
	border-bottom: 1px solid #E6E6E6;
	padding-bottom: 50px;
	margin-bottom: 50px;
}
.com_bdrlist > li:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
.com_bdrlist .com_index3{
	margin-bottom: 30px;
}
.com_bdrlist .com_btn1{
	margin-top: 40px;
}
.frontpage .com_bdrlist .com_index3{
	margin-bottom: 50px;
}
.frontpage .com_bdrlist .com_btn1{
	margin-top: 50px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_bdrlist > li{
	padding-bottom: 4vw;
	margin-bottom: 4vw;
}
	
.com_bdrlist .com_index3{
	margin-bottom: 3%;
}
.com_bdrlist .com_btn1{
	margin-top: 4%;
}
.frontpage .com_bdrlist .com_index3{
	margin-bottom: 5%;
}
.frontpage .com_bdrlist .com_btn1{
	margin-top: 5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_bdrlist > li{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 13%;
}
.com_bdrlist .com_index3{
	margin-bottom: 4%;
}
.com_bdrlist .com_btn1{
	margin-top: 5%;
}
.frontpage .com_bdrlist .com_index3{
	margin-bottom: 6%;
}
.frontpage .com_bdrlist .com_btn1{
	margin-top: 6%;
}
}





/* 見出し等
---------------------------------------------------------*/
/*m_copy*/
.m_copy{
	max-width: 370px;
	padding-bottom: .7em;
	border-bottom: 1px solid #000;
	margin-bottom: 1.8em;
}

/*com_index1*/
.com_index1{
	color: #4D4D4D;
	background: #fff;
	border-left: 5px solid;
	font-size: min(200%,3vw);
	line-height: 1.6em;
	padding: .5em 1em;
	box-sizing: border-box;
	margin-bottom: 50px;
}

/*com_index2*/
.com_index2{
	position: relative;
	font-weight: bold;
	font-size:140%;
	border-left: 3px solid;
	margin-bottom: 1em;
}
.com_index2 .ft_got{
	font-size:130%;
	vertical-align: bottom;
	padding: 0 .2em;
	box-sizing: border-box;
}
.com_index2,
.com_inbox{
	box-sizing: border-box;
	padding-left: 1.65rem;
}

/*com_index3*/
.com_index3 span{
	display: block;
	letter-spacing: 0.05em;
	line-height: 1.2em;
}
.com_index3 strong{
	padding: 0 .1em;
	box-sizing: border-box;
	font-weight: normal;
}
.com_index3 .fs26{
	margin-bottom: .5em;
}
.frontpage .com_index3 strong{
	font-size:125%;
}
.frontpage .com_index3 .fs26{
	margin-bottom: 1em;
}
.frontpage .com_index3 .fs50{
	margin-bottom: .3em;
}

/*com_index4
.com_index4{
	padding: .7em .8em;
	box-sizing: border-box;
	font-weight: bold;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*m_copy*/
.m_copy{
	padding-bottom: .6em;
	margin-bottom: 1.5em;
}
	
/*com_index1*/
.com_index1{
	margin-bottom: 4vw;
}
	
/*com_index2*/
.com_index2{
	margin-bottom: .5em;
}
.com_index2,
.com_inbox{
	padding-left: 1rem;
}
	
/*com_index3*/
.frontpage .com_index3 .fs26{
	margin-bottom: .7em;
}
.frontpage .com_index3 .fs50{
	margin-bottom: .2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/*m_copy*/
.m_copy{
	font-size: 200%;
	padding-bottom: .6em;
	margin-bottom: 1.2em;
}
	
/*com_index1*/
.com_index1{
	font-size:5.5vw;
	padding: .7em 1em;
	margin-bottom: 6%;
}
	
/*com_index2*/
.com_index2{
	font-size: 5vw;
	border-left:none;
	border-bottom: 2px solid;
	padding-bottom: .4em;
	margin-bottom: .8em;
}
.com_index2,
.com_inbox{
	padding-left:0;
}
	
/*com_index3*/
.frontpage .com_index3 .fs26{
	margin-bottom: .8em;
}
.frontpage .com_index3 .fs50{
	margin-bottom: .2em;
}
}





/* com_attention
---------------------------------------------------------*/
.com_attention li{
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.com_attention li a{
	margin-left: 0.4em;
	box-sizing: border-box;
}

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

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






/* com_table1
---------------------------------------------------------*/
.com_table1{
	font-size: min(145%,2vw);
	line-height: 1.6em;
}
.com_table1 th,
.com_table1 td{
	vertical-align: top;
	padding-bottom: 1.2rem;
	font-weight: normal;
}
.com_table1 tr:last-of-type th,
.com_table1 tr:last-of-type td{
	padding-bottom: 0;
}
.com_table1 th{
	width: 5rem;
}
.com_table1 td{
	width: calc(100% - 5rem);
}

/*frontpage*/
.frontpage .com_table1 td{
	font-size:125%;
}
.frontpage .com_table1 td span{
	font-size:115%;
	letter-spacing: 0.01em;
	padding: 0 .2em;
	box-sizing: border-box;
}
.frontpage .com_table1 th{
	width: 6.1rem;
}
.frontpage .com_table1 td{
	width: calc(100% - 6.1rem);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_table1 th,
.com_table1 td{
	padding-bottom: .8rem;
}
.com_table1 th{
	width: 4rem;
}
.com_table1 td{
	width: calc(100% - 4rem);
}
	
/*frontpage */
.frontpage .com_table1 th{
	width: 3.5rem;
}
.frontpage .com_table1 td{
	width: calc(100% - 3.5rem);
}	
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_table1{
	width: 100%;
	font-size: 110%;
	border-top:1px solid #b2b2b2;
}
.com_table1 th,
.com_table1 td{
	padding-top: 4%!important;
	padding-bottom: 4%!important;
	border-bottom:1px solid #b2b2b2;
}
	
/*frontpage */
.frontpage .com_table1 th,
.frontpage .com_table1 td{
	width: 100%!important;
	display: block;
	padding-left: 4%;
	padding-right: 4%;
	box-sizing: border-box;
}
.frontpage .com_table1 th{
	padding-top: 5%!important;
	padding-bottom: 1%!important;
	border-bottom: none;
}
.frontpage .com_table1 td{
	padding-top: 0!important;
	padding-bottom: 5%!important;
}
}





/* com_prof
---------------------------------------------------------*/
.com_prof .prof1{
	font-size: 162%;
}
.com_prof .prof2{
	margin: 20px 0;
	line-height: 1.8em;
}
.com_prof .prof2 address{
	display: inline-block;
	margin-left: 1em;
}
.com_prof .prof3{
	letter-spacing: 0.1em;
}
.com_prof .prof3 p:nth-child(1),
.com_prof .prof3 p:nth-child(2){
	display: inline-block;
}
.com_prof .prof3 p:nth-child(1){
	margin-right: 1em;
}
.com_prof .prof3 p span{
	font-size:140%;
	letter-spacing: 0.1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_prof .prof2{
	margin: 2vw 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_prof_box{
	text-align: center;
}
.com_prof{
	text-align: left;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	/*font-size: 90%;*/
}
.com_prof .prof2{
	margin: 5vw 0 6vw;
}
.com_prof .prof2 address{
	display: block;
	margin-left: 0;
}
.com_prof .prof3{
	text-align: center;
}
.com_prof .prof3 div{
	margin-bottom: 3vw;
}
.com_prof .prof3 .btn{
	display: block;
	border:1px solid #000;
	border-radius: 50px;
	padding: .5em 0;
	box-sizing: border-box;
}
footer .com_prof .prof3 .btn,
#drawer-content .com_prof .prof3 .btn{
	border-color:rgba(255,255,255,0.70);
}
.com_prof .prof3 .btn .icon-tel{
	margin-right: .2em;
}
.com_prof .prof3 .btn .icon-mail{
	font-size: 80%;
	margin-right: 1em;
}
}






/* r_content
---------------------------------------------------------*/
.r_content{
	position: relative;
	width: 72%;
	max-width: 860px;
	margin-left: auto;
	margin-right: 0;
	z-index: 11;
	min-height: 45rem;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.r_content{
	min-height: 45vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.r_content{
	width: 100%;
	min-height: 1rem;
}
}







/* com_btn1
---------------------------------------------------------*/
.com_btn1 a{
	position: relative;
	display: inline-block;
	min-width: 290px;
	color: #fff;
	line-height: 1.5em;
	padding: .85em 4em .7em 1.5em;
	box-sizing: border-box;
	border-radius: 50px;
}
.com_btn1 a i{
	position: absolute;
	top:50%;
	transform: translateY(-50%); 
	right: 1em;
	font-size:140%;
}

/*com_btn2*/
.com_btn2_list li{
	display: inline-block;
	margin-right: .5em;
}
.com_btn2_list li:last-child{
	margin-right: 0;
}
.com_btn2 a{
	display: inline-block;
	line-height: 1.5em;
	padding: .95em 0 .85em;
	box-sizing: border-box;
	border-radius: 50px;
	min-width: 22em;
	border:1px solid;
	text-align: center;
}
.com_btn2 a span{
	position: relative;
	padding-right: 1.5em;
}
.com_btn2 a span i{
	position: absolute;
	top: 55%;
	transform: translateY(-50%); 
	right: 0;
	font-size: 60%;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.com_btn1{
	text-align: center;
}
.com_btn1 a{
	text-align: left;
	min-width: 80%;
}
	
/*com_btn2*/
.com_btn2_list li{
	display: block;
	margin-right: 0;
	margin-bottom: .6em;
}
.com_btn2_list li:last-child{
	margin-bottom: 0;
}
.com_btn2 a{
	padding: .9em 0 .8em;
	width: 100%;
	min-width:auto;
}
.com_btn2 a span{
	padding-right: 1.3em;
}
}



/* footer
---------------------------------------------------------*/
footer{
	position: relative;
	color: #fff;
	background: #4D4D4D;
	padding: 110px 0;
	z-index: 9;
}
footer > .w1240{
	text-align: right;
}
footer .linkbox{
	margin-top: 90px;
	position: relative;
	padding-right: 5.5rem;
	box-sizing: border-box;
}
footer .linkbox .inbox{
	font-size:80%;
	letter-spacing: 0.15em;
	line-height: 1em;
}
footer .linkbox ul{
	margin-bottom: 1em;
}
footer .linkbox ul li{
	display: inline-block;
	border-right: rgba(255,255,255,0.5) 1px solid;
	padding-right: .4em;
	margin-right: .4em;
	box-sizing: border-box;
}
footer .linkbox ul li:last-child{
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}
footer .linkbox .btn{
	position: absolute;
	bottom:-0.1em;
	right: -0.2em;
	letter-spacing: 0;
	font-size: 380%;
}
footer .linkbox .btn i,
footer .linkbox .btn i:hover{
	transition: 0.4s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer{
	padding: 8vw 0;
}
footer .linkbox{
	margin-top: 8vw;
	padding-right: 4.5rem;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer{
	position: relative;
	padding: 12% 0 16%;
}
footer > .w1240{
	text-align: center;
}
footer .linkbox{
	position: static;
	margin-top: 6%;
	padding-right: 0;
}
footer .linkbox .inbox{
	font-size: 75%;
}
footer .linkbox ul{
	margin-bottom: 1em;
}
footer .linkbox ul li{
	margin-bottom: 1em;
}
footer .linkbox ul li:nth-child(4){
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}
footer .linkbox .btn{
	bottom: 3vw;
	right: 0;
	font-size: 12vw;
}
}




/* drawer
---------------------------------------------------------*/
.drawer_box1{
	background: #f5f7fa;
	padding: 12vw 5% 15%;
	box-sizing: border-box;
	text-align: center;
}
.drawer_box1 ul{
	width: 21rem;
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}
.drawer_box1 ul li{
	font-size:120%;
	letter-spacing: 0.1em;
	margin-bottom: 1.7em;
}
.drawer_box1 ul li:last-child{
	margin-bottom: 0;
}
.drawer_box1 ul li .normal{
	font-size:70%;
}
.drawer_box1 ul li a{
	position: relative;
	display: block;
	padding-left: 2.5em;
	box-sizing: border-box;
}
.drawer_box1 ul li a i{
	position: absolute;
	top:-0.05em;
	left: 0;
	font-size:110%;
}
.drawer_box1 ul li span{
	display: block;
}
.drawer_box2{
	padding: 10% 5%;
	box-sizing: border-box;
	color: #fff;
}







/*開閉アイコン
---------------------------------------------------------
.icon_open {
	letter-spacing: normal;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	width: 1.4em;
	height: 1.4em;
	background: rgba(49,37,32,0.1);
	border-radius: 50%;
	margin-left: .5em;
	transform: translateY(-.1em);
	position: relative;
}
.icon_open::before,
.icon_open::after {
	content: "";
	position: absolute;
	width: .5em;
	height: 1px;
	background: #312520;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.icon_open::after {
	transform: rotate(90deg);
	transition: all 0.4s;
}
.active .icon_open::after {
	transform: rotate(0deg);
}




/* 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;}
}