@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: #000;
	font-size: 17px;
	font-weight: normal;
	font-feature-settings: "halt";
	letter-spacing: .2em;
	line-height: 2.3em;
	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-weight: 400;
	font-style:normal;
}

img{
	display: block;
    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: separate;
	border-spacing: 0;
}

address{
	font-style:normal;
}

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

a{
	color:#000;
	text-decoration:none;
	outline:0;
	transition: 0.6s;
}
a:hover{
	transition: 0.3s;
}

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

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

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



/*共通
---------------------------------------------------------*/
.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;
}
.w1420 {
	width: 94%;
	padding: 0 3%;
	max-width: 1420px;
	margin: 0 auto;
	text-align: left;
}
.w1380 {
	width: 94%;
	padding: 0 3%;
	max-width: 1380px;
	margin: 0 auto;
	text-align: left;
}
.w1340 {
	width: 94%;
	padding: 0 3%;
	max-width: 1340px;
	margin: 0 auto;
	text-align: left;
}
.w1260 {
	width: 94%;
	padding: 0 3%;
	max-width: 1260px;
	margin: 0 auto;
	text-align: left;
}
.w1200 {
	width: 94%;
	padding: 0 3%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
.w1190 {
	width: 94%;
	padding: 0 3%;
	max-width: 1190px;
	margin: 0 auto;
	text-align: left;
}
.ft_udkakugo {
	font-family: fot-udkakugo-large-pr6n,sans-serif;
	font-weight: 600;
	font-style: normal;
}
.ft_agenda {
	font-family: agenda, sans-serif;
	font-weight: 500;
	font-style: normal;
}
.fs15 {
	font-size: 90%;
	letter-spacing: .2em;
	line-height: 2.0em;
}
.red, .red a {color: #C1272D;}
.orange, .orange a {color: #F15A24;}

/*本院*/
.bg_honin {
	background: #3FA9F5 !important;
}
.col_honin, .col_honin a {
	color: #3FA9F5 !important;
}

.marker {background: rgba(239,247,72,0.7);}

.com_txt_link {
	text-decoration: underline;
}
.com_txt_link:hover {
	text-decoration: none;
	color: #FC975D;
}

.fuwafuwa {
	animation: fuwafuwa 8s infinite linear;
}
@keyframes fuwafuwa {
	0% {
		transform: translateY(0%) rotate(0deg);
	}
	25% {
		transform: translateY(-10%) rotate(5deg);
	}
	50% {
		transform: translateY(0%) rotate(10deg);
	}
	75% {
		transform: translateY(10%) rotate(5deg);
	}
	100% {
		transform: translateY(0%) rotate(0deg);
	}
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fs15 {
	font-size: 90%;
	letter-spacing: normal;
	line-height: 1.8em;
}
}



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



/*メインナビ
---------------------------------------------------------*/
.m_nav {
	text-align: center;
}
.m_nav img {
	margin: auto;
}
.m_nav > li > a {
	display: block;
}
.m_nav > li > a > span {
	display: block;
	padding-bottom: 20px;
	position: relative;
}
.m_nav > li > a > span::before {
	font-family: 'fontello';
	content: '\e801';
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	transform: translateY(-70%);
	margin: auto;
	transition: all 0.4s;
}
.m_nav > li > a:hover > span::before {
	transition: all 0.2s;
	font-size: 200%;
	transform: translateY(-60%);
}
.m_nav > li:nth-child(1) > a:hover > span::before {color: #3FA9F5;}
.m_nav > li:nth-child(2) > a:hover > span::before {color: #F998B5;}
.m_nav > li:nth-child(3) > a:hover > span::before {color: #21D6BF;}
.m_nav > li:nth-child(4) > a:hover > span::before {color: #B682CC;}
.m_nav > li:nth-child(5) > a:hover > span::before {color: #FCA675;}
.m_nav > li:nth-child(6) > a:hover > span::before {color: #3FA9F5;}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_nav > li > a > span {
	padding-bottom: 1.0em;
}
}



/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	display: none;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	background: #FCFCFC;
	transform: translateY(-100%);
}
#scl_header::before {
content: "";	/* 影 */
position: absolute;
z-index: 0;
width: 100%;
height: 15px;
left: 0;
top: 100%;
opacity: 0.2;
background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
}
#scl_header img {
	margin: auto;
}
#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;
    align-items: center;
}
#scl_header .scl_flex .scl_nav_area {
	width: 45%;
	max-width: 720px;
	box-sizing: border-box;
	padding: 0;
}
#scl_header .scl_flex .scl_contact {
	width: 55%;
	max-width: 850px;
	background: #FC975D;
	display: flex;
    justify-content: space-between;
}

#scl_header .m_nav {
	display: flex;
}
#scl_header .m_nav > li {
	box-sizing: border-box;
	border-left: solid 1px #ccc;
}
#scl_header .m_nav > li:first-child {
	border-left: none;
}
#scl_header .m_nav > li > a {
	display: block;
}
#scl_header .m_nav > li:nth-child(1) {width: 25%;}
#scl_header .m_nav > li:nth-child(2) {width: 13%;}
#scl_header .m_nav > li:nth-child(3) {width: 17%;}
#scl_header .m_nav > li:nth-child(4) {width: 25%;}
#scl_header .m_nav > li:nth-child(5) {width: 20%;}

#scl_header .scl_contact li.scl_tel {
	width: 26%;
}
#scl_header .scl_contact li.scl_web {
	width: 22%;
}
#scl_header .scl_contact li.scl_tel {
	text-align: left;
	color: #fff;
background: rgb(103,193,224);
background: -moz-linear-gradient(left,  rgba(103,193,224,1) 0%, rgba(123,198,224,1) 100%);
background: -webkit-linear-gradient(left,  rgba(103,193,224,1) 0%,rgba(123,198,224,1) 100%);
background: linear-gradient(to right,  rgba(103,193,224,1) 0%,rgba(123,198,224,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#67c1e0', endColorstr='#7bc6e0',GradientType=1 );
}
#scl_header .scl_contact li.honin {
background: rgb(63,169,245);
background: -moz-linear-gradient(left,  rgba(63,169,245,1) 0%, rgba(86,178,245,1) 100%);
background: -webkit-linear-gradient(left,  rgba(63,169,245,1) 0%,rgba(86,178,245,1) 100%);
background: linear-gradient(to right,  rgba(63,169,245,1) 0%,rgba(86,178,245,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3fa9f5', endColorstr='#56b2f5',GradientType=1 );
}
#scl_header .scl_contact li.scl_tel a {
	color: #fff;
}
#scl_header .scl_contact li.scl_tel dl {
	padding: .6em 6%;
}
#scl_header .scl_contact li.scl_tel dt {
	width: 100%;
	max-width: 165px;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2em;
	position: relative;
}
#scl_header .scl_contact li.scl_tel dt span {
	font-size: 65%;
	font-weight: normal;
	letter-spacing: .05em;
	line-height: 1.2em;
	position: absolute;
	right: 0;
	top: .2em;
}
#scl_header .scl_contact li.scl_tel dd.tel {
	white-space: nowrap;	/*改行禁止*/
	letter-spacing: normal;
	line-height: 1.2em;
	margin: .4em 0 .2em;
}
#scl_header .scl_contact li.scl_tel dd.time {
	margin-left: 0;
}
#scl_header .scl_contact li.scl_web a {
	display: block;
	padding: 1.1em 6%;
}
#scl_header .scl_contact li.scl_web a:hover {
	background: rgba(252,252,117,0.2);
}
/* 1300px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1520px) {
#scl_header .scl_contact li.scl_tel dd.tel {
	font-size: 1.1vw;
}
}

/* 1300px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1300px) {
#scl_header .scl_flex .scl_nav_area {
	width: 40%;
}
#scl_header .scl_flex .scl_contact {
	width: 60%;
}
#scl_header .m_nav img {
	height: 3.0vw;
	width: auto;
}
#scl_header .scl_contact li.scl_tel dt {
	font-size: 90%;
}
#scl_header .scl_contact li.scl_tel dd.tel {
	font-size: 1.2vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#scl_header .scl_flex .scl_nav_area {
	width: 35%;
}
#scl_header .scl_flex .scl_contact {
	width: 65%;
}

#scl_header .m_nav {
    flex-wrap: wrap;
}
#scl_header .m_nav > li {
	width: 33.3333% !important;
	padding: 0 1%;
}
#scl_header .m_nav > li:nth-child(3n-2) {
	border-left: none;
}
#scl_header .m_nav > li:nth-child(-n+3) {
	margin-bottom: .6em;
}
#scl_header .m_nav > li > a > span {
	padding-bottom: 0;
}
#scl_header .m_nav > li > a > span::before {
	display: none;
}
#scl_header .m_nav img {
	height: auto;
	width: 100%;
}

#scl_header .scl_contact li.scl_tel {
	width: 27%;
}
#scl_header .scl_contact li.scl_web {
	width: 19%;
}
#scl_header .scl_contact li.scl_tel dt {
	font-size: 90%;
}
#scl_header .scl_contact li.scl_tel dd.tel {
	font-size: 1.35vw;
}
}

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

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



/*スマホメニュー
---------------------------------------------------------*/
.drw_inbox {
	padding: 18vw 6%;
	text-align: left;
	font-size: 90%;
}
.drw_inbox .drw_nav {
	margin-bottom: 8%;
}
.drw_inbox .drw_nav li {
	font-style: normal;
}
.drw_inbox .drw_nav li:first-child {
	border-top: solid 1px #000;
}
.drw_inbox .drw_nav li a {
	display: block;
	padding: 1.0em 0;
	padding-left: calc(5% + 2.5em);
	position: relative;
	border-bottom: solid 1px #666;
	font-family: fot-udkakugo-large-pr6n,sans-serif;
	font-weight: 600;
	letter-spacing: .15em;
}
.drw_inbox .drw_nav li a::before {
	content: "";
	position: absolute;
	width: 1.8em;
	height: 1.8em;
	left: 5%;
	top: 50%;
	transform: translateY(-50%);
	background: url("../images/arrow1@2x.png") no-repeat center center;
	background-size: contain;
}
.drw_inbox .drw_web {
	width: 100%;
	margin: 0 auto;
}
.drw_inbox .drw_web a {
	display: block;
	background: #FC975D;
	padding: 1.0em 18%;
	border-radius: 4em;
}
.drw_inbox .drw_web a img {
	width: 65%;
	margin: auto;
}



/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	width: 100%;
	background: #FCFC75;
	position: relative;
	overflow: hidden;
}
.m_img_area header {
	width: 570px;	/*左側*/
	box-sizing: border-box;
	padding: 4.5em 3%;
	position: relative;
	z-index: 5;
	text-align: center;
}
.m_img_area .m_img {
	position: absolute;	/*右側*/
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 540px;
	top: 0;
}
.m_img_area .abs_list2 li {
	position: absolute;
	z-index: 1;
}

/*下層：右側*/
.contentpage .m_img_area .m_img {
	background: url("../images/counseling/m_img@2x.jpg") no-repeat left center;
	background-size: auto 100%;
}

/*左側*/
.m_img_area header .h_logo,
.m_img_area header .m_copy1,
.m_img_area header .m_nav_area {
	width: 100%;
	max-width: 430px;
	margin-left: auto;
	margin-right: auto;
}
.m_img_area header .h_txt {
	font-size: 140%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.8em;
	margin: .8em 0 .8em;
}
.m_img_area header .site_name dt {
	font-size: 235%;
	letter-spacing: .2em;
	line-height: 1.4em;
	padding-top: .8em;
	background: url("../images/m_line@2x.png") no-repeat center top;
	background-size: auto .3em;
}
.m_img_area header .site_name dd {
	font-size: 125%;
	letter-spacing: .2em;
	line-height: 1.4em;
}
.m_img_area header .site_name dt span:nth-child(1) {color: #3FA9F5;}
.m_img_area header .site_name dt span:nth-child(2) {color: #F998B5;}
.m_img_area header .site_name dt span:nth-child(3) {color: #21D6BF;}
.m_img_area header .site_name dt span:nth-child(4) {color: #B682CC;}
.m_nav_area .m_nav {
	margin-top: 2.0em;
	display: flex;
    flex-wrap: wrap;
}
.m_nav_area .m_nav > li {
	width: 31%;
	margin-right: 3.5%;
	border-bottom: solid 1px #000;
}
.m_nav_area .m_nav > li:nth-child(3n) {
	margin-right: 0;
}
.m_nav_area .m_nav > li:nth-child(-n+3) {
	border-top: solid 1px #000;
}
.m_nav_area .m_nav > li > a {
	padding: 1.5em 0 1.0em;
}

/*飾り*/
.m_img_area .abs_list2 li:nth-child(1) {
	width: 45%;
	max-width: 647px;
	left: 0;
	top: 0;
	transform: translate(-23%, -22%);
}
.m_img_area .abs_list2 li:nth-child(2) {
	width: 20%;
	max-width: 300px;
	left: 0;
	bottom: 0;
}
.m_img_area .abs_list2 li:nth-child(3) {
	width: 10%;
	max-width: 141px;
	left: 30%;
	bottom: 0;
	transform: translateY(15%);
}

/* 1500px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1500px) {
.m_img_area {
	font-size: 1.15vw;
}
.m_img_area header {
	width: 38%;
}
.m_img_area .m_img {
	left: 36%;
}
}

/* 高さ：1130px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 1130px) {
.m_img_area {
	font-size: max(1.5vh, 10px);	/*10px以下にしない*/
}
.m_img_area header {
	padding-top: 7vh;
	padding-bottom: 7vh;
}
.m_img_area header .h_logo,
.m_img_area header .m_copy1 {
	width: 36vh;
	min-width: 280px;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	font-size: 1.4vw;
}
.m_img_area header {
	width: 40%;
	padding-top: 2em;
	padding-bottom: 2em;
}
.m_img_area header .h_txt {
	letter-spacing: .05em;
}
.m_img_area header .m_nav_area {
	width: 120%;
	margin-left: 0;
	margin-right: auto;
}
.m_nav_area .m_nav > li > a {
	padding: 1.0em 0 .5em;
}
	
.contentpage .m_img_area .m_img {
	left: 40%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area header {
	width: 100%;
	padding: 4% 4% 30vw;
	text-align: left;
}
.m_img_area header .sp_inst {
	position: absolute;
	z-index: 1;
	top: 2vw;
	right: 16vw;
	font-size: 80%;
	letter-spacing: normal;
	line-height: 1.2em;
}
.m_img_area header .sp_inst a {
	display: block;
	background: #B8B8B6;
	color: #fff;
	width: 4.2em;
	height: 4.2em;
	border-radius: 50%;
	text-align: center;
	position: relative;
}
.m_img_area header .sp_inst i {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 180%;
}

.m_img_area header .h_logo,
.m_img_area header .m_copy1,
.m_img_area header .m_nav_area {
	max-width: 100%;
}
.m_img_area header .h_logo {
	width: 60%;
	margin-left: 0;
	margin-right: auto;
}
.m_img_area header .h_txt {
	font-size: 75%;
	letter-spacing: normal;
	line-height: 1.6em;
	margin: .8em 0 1.2em;
}
.m_img_area header .site_name {
	position: relative;
	z-index: 1;
}
.m_img_area header .site_name dt {
	font-size: 140%;
	padding-top: .5em;
	background-position: left top;
}
.m_img_area header .site_name dd {
	font-size: 80%;
}
	
.contentpage .m_img_area .m_img {
	width: 78%;
	left: 22%;
	background-image: url("../images/counseling/m_img_sp.jpg");
	background-size: 100% auto;
	background-position: left bottom;
}	
.contentpage .m_img_area header .site_name {
	font-size: 85%;
}
.contentpage .m_nav_area {
	display: none;
}

/*飾り*/
.m_img_area .abs_list2 li:nth-child(1) {
	width: 70%;
	transform: translate(-23%, -22%);
}
.contentpage .m_img_area .abs_list2 li:nth-child(2) {
	display: none;
}
.m_img_area .abs_list2 li:nth-child(3) {
	width: 12%;
	left: auto;
	bottom: auto;
	right: 6%;
	top: 25%;
	transform: none;
}
}



/*共通
---------------------------------------------------------*/
#pagebody {
	max-height: 100%;
}

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

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



/*下層共通
---------------------------------------------------------*/
.contentpage #pagebody {
	line-height: 1.8em;
	letter-spacing: .04em;
}

.com_pagetitle {
	width: 100%;
	box-sizing: border-box;
	padding: 90px 3% 60px;
	text-align: center;
}
.com_pagetitle p {
	font-size: 235%;
	font-weight: bold;
	letter-spacing: .14em;
	line-height: 1.4em;
}
.com_pagetitle h1 {
	font-size: 335%;
	font-weight: bold;
	letter-spacing: .14em;
	line-height: 1.4em;
	margin-top: .2em;
}
.com_pagetitle .ft_agenda {
	color: #21D6BF;
	font-size: 235%;
	letter-spacing: normal;
	line-height: 1.2em;
	margin-top: .4em;
}

.com_bg {
	background: #F2F2F2;
	padding: 80px 0;
}

/*.com_index1*/
.com_bg .com_index1 {
	text-align: center;
	background: #21D6BF;
	color: #fff;
	font-size: 160%;
	font-weight: bold;
	letter-spacing: .04em;
	line-height: 1.6em;
	padding: 1.0em 3%;
	margin-bottom: 40px;
}
.com_index1_inbox {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/*com_index2*/
.com_index2 {
	background: #EBEAE0;
	border-radius: 8px;
	font-size: 130%;
	font-weight: bold;
	letter-spacing: .04em;
	line-height: 1.6em;
	padding: .8em 3%;
	margin-bottom: 25px;
}
.com_index2 .ft_agenda {
	font-size: 140%;
	letter-spacing: .04em;
	margin-right: .1em;
}
.com_index2_list > dd {
    margin-bottom: 30px;
}
.com_index2_list > dd:last-of-type {
    margin-bottom: 0;
}

/*com_index3*/
.com_index3{
    text-align: center;
	font-size: 160%;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.6em;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    padding: 1.0em 0;
    margin-bottom: 30px;
}

/*com_fltbox*/
.com_fltbox .imgbox{
    width: 37%;
    max-width: 440px;
}
.com_fltbox .imgbox.flt_l{       
    margin-right: 5%;
}
.com_fltbox .imgbox.flt_r{   
    margin-left: 5%;
}
.com_fltbox .txtbox{
    width: 58%;
}

/*com_btn1*/
.com_btn1 {
    margin-top: 1.7em;
}
.com_btn1 a {
	text-decoration: underline;
	padding-left: 2.5em;
	position: relative;
}
.com_btn1 a:hover {
	text-decoration: none;
	color: #666;
}
.com_btn1 a::before {
	content: "";
	position: absolute;
	width: 1.8em;
	height: 1.8em;
	left: 0;
	top: -.4em;
	background: url("../images/arrow1@2x.png") no-repeat center center;
	background-size: contain;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_pagetitle {
	padding: 5% 3% 4%;
	font-size: 1.4vw;
}
.com_pagetitle h1 {
	margin-top: .1em;
}
.com_pagetitle .ft_agenda {
	margin-top: .2em;
}

.com_bg {
	padding: 6% 0;
}

/*.com_index1*/
.com_bg .com_index1 {
	font-size: 150%;
	padding: .8em 3%;
	margin-bottom: 4%;
}

/*com_index2*/
.com_index2 {
	font-size: 120%;
	padding: .5em 3%;
	margin-bottom: 20px;
}
.com_index2_list > dd {
    margin-bottom: 4%;
}

/*com_index3*/
.com_index3{
	font-size: 150%;
    padding: .8em 0;
	margin-bottom: 4%;
}

/*com_fltbox*/
.com_fltbox .imgbox{
	margin-bottom: 1.0em;
}
.com_fltbox .txtbox{
	float: none !important;
    width: 100%;
}

/*com_btn1*/
.com_btn1 {
    margin-top: 1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.contentpage #pagebody {
	font-size: 90%;
	line-height: 1.6em;
	letter-spacing: normal;
}

.com_pagetitle {
	padding: 6% 0 5%;
}
.com_pagetitle p {
	font-size: 110%;
	letter-spacing: .1em;
}
.com_pagetitle h1 {
	font-size: 160%;
	letter-spacing: .1em;
	margin-top: .1em;
}
.com_pagetitle .ft_agenda {
	font-size: 130%;
	margin-top: .1em;
}

.com_bg {
	padding: 10% 0;
}

/*.com_index1*/
.com_bg .com_index1 {
	font-size: 140%;
	padding: .6em 0;
	margin-bottom: 6%;
}

/*com_index2*/
.com_index2 {
	font-size: 120%;
	padding: .4em 5%;
	margin-bottom: .8em;
}
.com_index2_list > dd {
    margin-bottom: 6%;
}

/*com_index3*/
.com_index3 {
	font-size: 140%;
	letter-spacing: .04em;
    padding: .6em 0;
	margin-bottom: 6%;
}

/*com_fltbox*/
.com_fltbox .imgbox{
	float: none !important;
    width: 70%;
	margin: 0 auto 1.0em !important;
}
.com_fltbox .txtbox{
	float: none !important;
    width: 100%;
}

/*com_btn1*/
.com_btn1 {
    margin-top: 1em;
}
.com_btn1 a {
	padding-left: 2.3em;
}
.com_btn1 a::before {
	top: -.3em;
}
}



/*下層共通
---------------------------------------------------------*/
/*隙間*/
.com_btm_150 {
	margin-bottom: 150px;
}
.com_btm_120 {
	margin-bottom: 120px;
}
.com_btm_100 {
	margin-bottom: 100px;
}
.com_btm_80 {
	margin-bottom: 80px;
}
.com_btm_70 {
	margin-bottom: 70px;
}
.com_btm_60 {
	margin-bottom: 60px;
}
.com_btm_40 {
	margin-bottom: 40px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*隙間*/
.com_btm_150 {
	margin-bottom: 12%;
}
.com_btm_120 {
	margin-bottom: 10%;
}
.com_btm_100 {
	margin-bottom: 8%;
}
.com_btm_80 {
	margin-bottom: 7%;
}
.com_btm_70 {
	margin-bottom: 6%;
}
.com_btm_60 {
	margin-bottom: 5%;
}
.com_btm_40 {
	margin-bottom: 4%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*隙間*/
.com_btm_150 {
	margin-bottom: 14%;
}
.com_btm_120 {
	margin-bottom: 13%;
}
.com_btm_100 {
	margin-bottom: 12%;
}
.com_btm_80 {
	margin-bottom: 10%;
}
.com_btm_70 {
	margin-bottom: 9%;
}
.com_btm_60 {
	margin-bottom: 8%;
}
.com_btm_40 {
	margin-bottom: 6%;
}
}



/*.f_bnr
---------------------------------------------------------*/

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

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



/*footer
---------------------------------------------------------*/
footer {
	padding: 50px 2%;
	text-align: right;
	font-size: 80%;
	letter-spacing: .2em;
	line-height: 1.4em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
footer {
	padding-top: 6%;
	padding-bottom: 4%;
	letter-spacing: .1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer {
	padding: 6% 4% 100px;
	text-align: center;
	letter-spacing: normal;
}
}



/*スマホフッター
---------------------------------------------------------*/
@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;
	background: #FCFCFC;
	box-sizing: border-box;
	text-align: center;
}
#sp_footer::before {
content: "";	/* 影 */
position: absolute;
z-index: 0;
width: 100%;
height: 15px;
left: 0;
bottom: 100%;
opacity: 0.2;
background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%);
background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#a6000000',GradientType=0 );
}
#sp_footer ul {
	display: flex;
    justify-content: space-between;
	text-align: center;
}
#sp_footer li {
	width: 25%;
	position: relative;
}
#sp_footer li a {
	display: block;
}
#sp_footer li.sp_f_tel {
	color: #67C1E0;
	font-size: 100%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2em;
	padding: .5em 0;
}
#sp_footer li.sp_f_tel a {
	color: #67C1E0;
}
#sp_footer li.sp_f_tel img {
	display: block;
	height: 1.5em;
	width: auto;
	margin: .2em auto 0;
}
#sp_footer li.sp_f_tel::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 60%;
	background: #ccc;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#sp_footer li.sp_f_tel:first-of-type,
#sp_footer li.sp_f_tel:first-of-type a {
	color: #3FA9F5;
}
#sp_footer li.sp_f_tel:first-of-type::before {
	display: none;
}
#sp_footer li.sp_f_web {
	width: 30%;
	background: #FC975D;
}
#sp_footer li.sp_f_web a {
	padding: 1.0em 8% 1em;
}
#sp_footer li.sp_f_acc {
	width: 20%;
	background: #9A919C;
	font-size: 95%;
}
#sp_footer li.sp_f_acc a {
	color: #fff;
	padding: .7em 0 0em;
}
#sp_footer li.sp_f_acc span {
	display: block;
	position: relative;
	padding-top: 1.2em;
}
#sp_footer li.sp_f_acc span::before {
	font-family: 'fontello';
	content: '\e800';
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
}



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