@charset "utf-8";
/*===============================================================
	
	2016/6/6
	
===============================================================*/

/* 初期化
----------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
	outline: none;
}
blockquote, q {	quotes: none;	}
blockquote:before, blockquote:after,
q:before, q:after {	content: '';	content: none;}
input, textarea { margin: 0;	padding: 0;}
table{	border-collapse: collapse; border-spacing:0;	}
body { font-family:'Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック',Osaka,sans-serif; }
h1,h2,h3,h4,h5,h6,p,li,th,td,dt,dd { font-size:14px; line-height:22px; }
caption,th,td { text-align:left; vertical-align:top; }
img { vertical-align:top; border:0; }
ul,li { list-style:none; }
option { padding-right:1em; }
address,caption { font-style:normal; font-weight:normal; }
a { outline:none;	text-decoration:underline; }
a:focus {	outline:none;	}
ul a ,li a {	zoom:1;	}
strong{ font-weight: bold; }
em{ font-style: italic; }

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

/* 文字サイズ、装飾
----------------------------------------------------------------*/
.bold	{	font-weight:bold; }
.cap {
	font-size:12px;
	line-height:15px;
	}		
.red	{	color:#943023;		}
.yellow	{	color:#cbb847;		}
.blue	{	color:#0047a2;		}
.lightblue { color:#00afd7; }
.green	{	color:#5b9000;	}
.brown	{	color:#633;		}
.pink	{	color:#f3c;		}
.gray	{	color:#eaeeed;		}
.deepgray { color:#92999f ;}
.align_center	{	text-align:center;		}
.align_right	{	text-align:right;		}
.replace {	overflow:hidden;	white-space:nowrap;	text-indent:100%;	}

/* フロート関係
----------------------------------------------------------------*/
.clear {
	width:100%;
	overflow:hidden;
}
.clearboth {
	clear:both;
}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
  *zoom: 1;
}
.flol {
	float:left;
}
.flor {
	float:right;
}
/* マージン
----------------------------------------------------------------*/
.mt0	{	margin-top:0px !important; }
.mt05	{	margin-top:5px;		}
.mt10	{	margin-top:10px;	}
.mt15	{	margin-top:15px;	}
.mt20	{	margin-top:20px;	}
.mt25	{	margin-top:25px;	}
.mt30	{	margin-top:30px;	}
.mt40	{	margin-top:40px;	}
.mt50	{	margin-top:50px;	}
.mt60	{	margin-top:60px;	}
.mt70	{	margin-top:70px;	}
.mt80	{	margin-top:80px;	}
.mt90	{	margin-top:90px;	}
.mt100	{	margin-top:100px;	}

.mb05	{	margin-bottom:5px;	}
.mb10	{	margin-bottom:10px;	}
.mb15	{	margin-bottom:15px;	}
.mb20	{	margin-bottom:20px;	}
.mb25	{	margin-bottom:25px;	}
.mb30	{	margin-bottom:30px;	}
.mb40	{	margin-bottom:40px;	}
.mb50	{	margin-bottom:50px;	}

/* html/body設定
----------------------------------------------------------------*/
html {
}
body {
	width: 100%;
	color:#3e3a39;
	background:#fff;
	text-align:left;
	font-size:14px;
	line-height:25px;
	-webkit-text-size-adjust:none; /* 縦横文字サイズ同じ */
	-webkit-font-smoothing: antialiased;
}
a {
	color: #ff4c68;
	-webkit-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-ms-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;  
	-moz-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-o-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	text-decoration:none;
}
a:hover { color:#ffafbb }

.boxshadow {
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.20);
	-moz-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.20);
	-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.20);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～640px */
@media only screen and (max-width: 736px) {
}	/* for SP max-width: 736px */

/*===============================================================
	
	基本文字サイズ
	
===============================================================*/
h2 {
	/*font-size:172%;	/* 24px */
	font-weight:bold;
}
h3 {
	/*font-size:172%;	/* 24px */
	font-weight:bold;
}
h4 {
	/*font-size:115%;	/* 16px */
	line-height:1.4;
	font-weight:bold;
}
p {
	/*font-size:100%;	/* 14px */
	line-height:1.8;
}
sup {
	margin:0;
	padding:0;
	font-size:11px;
	line-height:15px;
}
/*===============================================================
	
	PC/SP/TABLET
	
===============================================================*/
.sp {
	display:none;
}
.pc {
}
.tablet {
	display:none;
}
.sp {
	display:none;
}
.sp_tablet {
	display:none;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.pc {
	display:none;
}
.tablet,
.pc_tablet,
.sp_tablet {
	display:block;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.sp {
	display:block;
}
.pc_tablet,
.tablet {
	display:none;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	img fig
	
===============================================================*/
.fig img,
.fitimg img, 
.photo img {
	width:100%;
	height:auto;
}

.fig {
	border:solid 1px #ddd;
}
.content .fig {
	margin-top:30px;
}
.borderimg {
	border:solid 1px #ddd;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.content .fig {
	margin-top:15px;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	レイアウト
	
===============================================================*/
.wrapper {
	overflow: hidden;
}
.content_width {
	width:1000px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.narrow_width {
	width:700px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.content_width {
	width:100%;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.narrow_width {
	width:100%;
}
}	/* for SP max-width: 736px */
/*===============================================================
	
	ヘッダ
	
===============================================================*/
.header_wrp {
	width:100%;
}
.header_upper {
	height: 20px;
	background: #ffb3ae;
}
.header_upper .content_width {
	position: relative;
}
.header_upper h1 {
	color: #231815;
	font-size: 11px;
	line-height: 20px;
}
.header_upper .name {
	position: absolute;
	top: 50%;
	right: 0;
	height: 14px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.header_upper .name img {
	display: block;
	height: 100%;
	width: auto;
}
.header,
.footer {
	position:relative;
	width:100%;
	height:140px;
}
.header .logo,
.footer .logo {
	position:absolute;
	width:690px;
	top:50%;
	left:0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.header .logo img,
.footer .logo img {
	width:100%;
	height:auto;
}
.header .info,
.footer .info {
	position:absolute;
	top:50%;
	right:0;
	width: 300px;
	width: 290px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.header .info .address,
.footer .info .address {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.header .info .tel,
.footer .info .tel {
	color: #ff8880;
	font-size: 32px;
	line-height: 1;
	font-weight: bold;
	background: url(../../common/images/icon_tel.svg) no-repeat left center;
	background-size: auto 30px;
	padding-left: 35px;
	margin-bottom: 5px;
}
.header .info .tel a,
.footer .info .tel a {
	color: #ff8880;
	text-decoration: none;
}
.header .info .lower,
.footer .info .lower {
	/*display: flex;*/
}
.header .info .business,
.footer .info .business {
	width: 76%;
}
.header .info .no_reservation,
.footer .info .no_reservation {
	/*justify-content: center;
	align-items: center;*/
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	font-weight: bold;
	background: #ff4c68;
	text-align: center;
}
.header .info .business_hours,
.header .info .reception_time,
.footer .info .business_hours,
.footer .info .reception_time {
	font-size: 9px;
	line-height: 1.4;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.header_wrp {
	height:59px;
}
.header_upper {
	/*display: none;*/
	height: 15px;
	position:fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index:500;
}
.header_upper h1 {
	font-size: 8px;
	line-height: 11px;
	text-align: center;
	padding: 2px 0;
}
.header_upper .name {
	display: none;
}
.header {
	width:100%;
	height:44px;
	position:fixed;
	top: 15px;
	left: 0;
	background:#fff;
	z-index:500;
	/*box-shadow:0px 0px 3px rgba(0, 0, 0, 0.20);*/
}
.header .logo {
	left: 10px;
	width: auto;
	height: 24px;
}
.header .logo img {
	width:auto;
	height:100%;
}
.footer {
	height: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
	padding: 15px;
}
.footer .logo {
	position: static;
	width: 80%;
	-webkit-transform: none;
	transform: none;
	margin: 0 auto 15px;
}
.footer .info {
	position:static;
	width: 270px;
	-webkit-transform: none;
	transform: none;
	margin: 0 auto;
}

.footer .info .address {
	font-size: 12px;
}
.footer .info .tel {
	color: #ff8880;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	background: url(../../common/images/icon_tel.svg) no-repeat left center;
	background-size: auto 20px;
	padding-left: 25px;
	margin-bottom: 5px;
}
.footer .info .lower {
	display: flex;
}
.footer .info .business {
	width: 76%;
}
.footer .info .no_reservation {
	width: 100%;
	font-size: 10px;
	line-height: 1.5;
}
.footer .info .business_hours,
.footer .info .reception_time {
	font-size: 8px;
	line-height: 1.4;
}
.header .nav {
	display:none;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.header_wrp {
	height:70px;
}
.header_upper {
	height: 26px;
}
.header {
	top: 26px;
}
.footer .info .lower {
	display: block;
}
.footer .info .business {
	width: 100%;
	margin-bottom: 5px;
}
.footer .info .business_hours,
.footer .info .reception_time {
	font-size: 10px;
}
.footer .info .no_reservation {
	width: 100%;
	padding: 3px 0;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	navigation
	
===============================================================*/
.navigation_outer {
	width:100%;
	height:45px;
}
.navigation_wrp {
	width:100%;
	position:relative;
	background:#f0f0f0;
	z-index:999;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.navigation_outer {
	width:100%;
	height:0;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	navigation	
-------------------------------------------------------------*/
.navigation {
	position:relative;
}
.navigation ul {
	width:100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow:hidden;
	border-left: 1px solid #d3d3d3;
	border-right: 1px solid #d3d3d3;
}
.navigation ul li {
	width:16.6666666666%;
	width: 20%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float:left;
}
.navigation ul li a {
	display:block;
	text-align:center;
	font-size:15px;
	line-height:42px;
	text-decoration:none;
	color:#3e3a39;
	border-right: 1px solid #d3d3d3;
	border-bottom:solid 3px #f0f0f0;
}
.navigation ul li:last-child a {
	border-right: none;
}
.navigation ul li a:hover {
	border-bottom:solid 3px #ffb3ae;
}
.navigation ul li.current a {
	border-bottom:solid 3px #ff8880;
}
.navigation ul li.active a {
	border-bottom:solid 3px #f4e228;
}
.navigation ul li .subnav {
	display:none;
	position:absolute;
	top:43px;
	left:0;
	width:100%;
	padding:30px;
	background:#fff;
	border:solid 1px #ddd;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.navigation ul li .subnav li {
	width:33%;
	float:left;
}
.navigation ul li .subnav li a {
	position:relative;
	text-align:left;
	/*
	background-image:url(../images/asset/txtlink_arw.png);
	background-repeat:no-repeat;
	background-position:left center;
	*/
	padding-left:13px;
	font-size:14px;
	line-height:40px;
	border:0;
	color:#000;
}
.navigation ul li .subnav li a:hover {
	border:0;
	color:#6d6886;
}
.navigation ul li .subnav li a:after {
	position:absolute;
	content:" ";
	width:5px; height:5px;
	top:0; bottom:0; left:0; right:auto;
	margin:auto;
	border-top:solid 1px #c00;
	border-left:solid 1px #c00;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.navigation_wrp .navigation {
	display:none;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*-------------------------------------------------------------
	subnav	
-------------------------------------------------------------*/
.subnav .icon {
	margin-left:5px;
	font-weight:bold;
}
.navigation_wrp .subnav .icon {
	color:#6d6886;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	フッタ
	
===============================================================*/
.footer_wrp {}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.footer_sitemap
-------------------------------------------------------------*/
.footer_sitemap_wrp {
	width:100%;
	background:#000;
	padding-bottom:20px;
}
.footer_sitemap {
	text-align:left;
}
.footer_sitemap a {
	text-decoration:none;
	color:#fff;
}
.footer_sitemap .blank_link a {
	background-repeat:no-repeat;
	background-image:url(../images/asset/icon-blank-pc.gif);
	background-position:right -3px;
	padding-right:20px;
}
.footer_sitemap ul {
	width:25%;
	float:left;
}
.footer_sitemap ul li {
	font-size:14px;
	line-height:25px;
	font-weight:bold;
	margin-top:20px;
}
.footer_sitemap ul li ul {
	width:100%;
	float:none;
}
.footer_sitemap ul li ul li {
	font-size:12px;
	line-height:20px;
	font-weight:normal;
	margin-top:0px;
}
.footer_sitemap_wrp .menubtn {
	display:none;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.footer_sitemap {
	display:none;
}
.footer_sitemap_wrp .menubtn {
	display:block;
	padding-top:20px;
}
.footer_sitemap_wrp .menubtn a {
	display:block;
	border:solid 1px rgba(255,255,255,0.5);
	border-radius:5px;
	width:100px;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	color:#fff;
	text-align:center;
	margin:0 auto;
	text-decoration:none;
	line-height:40px;
}

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	footer_txt_wrp	
-------------------------------------------------------------*/
.footer_txt_wrp {
	width:100%;
	text-align:center;
}
.footer {
	text-align:left;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	footer_copy_wrp	
-------------------------------------------------------------*/
.footer_copy_wrp {
	width:100%;
	height: 20px;
	background: #595959;
	text-align:center;
}
.footer_copy_wrp .copyright {
	color:#fff;
	font-size: 11px;
	line-height: 20px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*===============================================================
	
	MENU
	
===============================================================*/

/* タブレット以下 */
@media screen and (max-width: 960px) {
.menu_bg {
	background:#f0f0f0;
	position:absolute;
	z-index:300;
	top:0;
	left:0;
}
.menu_icon {
	position:fixed;
	top:25px;
	right:10px;
	z-index:300;
}
.menu .menu_nav {
	background:#f0f0f0;
	position:absolute;
	top:59px;
	width:100%;
	z-index:300;
}
.menu .navlist {
	width:100%;
	overflow:hidden;
}
.menu .navlist li a {
	position:relative;
	width:100%;
	display:block;
	border-bottom:solid 1px #d3d3d3;
	font-size:14px;
	line-height:40px;
	text-decoration:none;
	padding:0 20px;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	color:#3e3a39;
}
.menu .navlist li a:after {
	position:absolute;
	content:" ";
	width:8px; height:8px;
	top:0; bottom:0; left:auto; right:18px;
	margin:auto;
	border-top:solid 2px #3e3a39;
	border-left:solid 2px #3e3a39;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
.menu .navlist li .subnav li a {
	font-weight:normal;
	font-size:14px;
	line-height:40px;
	padding:0 20px 0 40px;
	color:#6d6886;
	background:#fff;
	border-bottom:solid 1px rgba(0,0,0,0.1);
}
.menu .navlist li .subnav li a:after {
	width:10px; height:10px;
	top:0; bottom:0; left:auto; right:20px;
	margin:auto;
	border-top:solid 1px #999;
	border-left:solid 1px #999;
}
.menu .closebtn {
	padding:30px 0;
}
.menu .closebtn a {
	display:block;
	border:solid 1px #d3d3d3;
	border-radius:5px;
	width:100px;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	color:#3e3a39;
	text-align:center;
	margin:0 auto;
	text-decoration:none;
	line-height:40px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.menu_icon {
	top:36px;
}
.menu .menu_nav {
	top:70px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	menu-trigger
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 960px) {
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .3s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 30px;
	height: 20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 10px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
/* animation */
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
	-moz-transform: translateY(10px) rotate(-45deg);
	-ms-transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
	-webkit-transform: translateY(0) rotate(180deg);
	transform: translateY(0) rotate(45deg);
	-moz-transform: translateY(0) rotate(45deg);
	-ms-transform: translateY(0) rotate(45deg);
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
	-moz-transform: translateY(-10px) rotate(45deg);
	-ms-transform: translateY(-10px) rotate(45deg);
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	grid
	
===============================================================*/
.gridconatiner {
	margin-top:-50px;
}
.gridconatiner .grid {
	float:left;
}
.grid {
	margin-top:50px;
}
/*	gridSize :445 gutterSize :50 column :2 */
.gridwrp_2 { width:105.319%;}
.gridwrp_2 .grid_2 { width:94.949%; margin-right:5.051%; }
.gridwrp_2 .grid_1 { width:44.949%; margin-right:5.051%; }
.gridwrp_2 .grid:nth-child(2n+1) {
	clear:both;
}

/*	gridSize :280 gutterSize :50 column :3 */
.gridwrp_3 { width:105.319%;}
.gridwrp_3 .grid_3 { width:94.949%; margin-right:5.051%; }
.gridwrp_3 .grid_2 { width:61.616%; margin-right:5.051%; }
.gridwrp_3 .grid_1 { width:28.283%; margin-right:5.051%; }
.gridwrp_3 .grid:nth-child(3n+1) {
	clear:both;
}

/*	gridSize :210 gutterSize :40 column :4 */
.gridwrp_4 { width:104.167%;}
.gridwrp_4 .grid_4 { width:96.000%; margin-right:4.000%; }
.gridwrp_4 .grid_3 { width:71.000%; margin-right:4.000%; }
.gridwrp_4 .grid_2 { width:46.000%; margin-right:4.000%; }
.gridwrp_4 .grid_1 { width:21.000%; margin-right:4.000%; }
.gridwrp_4 .grid:nth-child(4n+1) {
	clear:both;
}

.column + .gridconatiner {
	margin-top:-20px;
} 

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.gridconatiner {
	margin-top:-20px;
}
.gridwrp_3,
.gridwrp_3 .grid_1,
.gridwrp_2,
.gridwrp_2 .grid_1 {
	width:100%; margin-right:0;
}
.gridwrp_4 { width:105.000%;}
.gridwrp_4 .grid_1 { width:45.238%; margin-right:4.762%; }

.grid {
	margin-top:20px;
}
.grid:first-child {
	/*margin-top:0px;*/
}
.gridwrp_4 .grid:nth-child(2) {
	/*margin-top:0;*/
}

.sp_gridwrp2 .gridwrp_3 { width:105.319%;}
.sp_gridwrp2 .gridwrp_3 .grid_2 { width:94.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_3 .grid_1 { width:44.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_3 .grid:nth-child(2n+1) {
	clear:both;
}
.sp_gridwrp2 .gridwrp_3 .grid:nth-child(3n+1) {
	clear:none;
}
.sp_gridwrp2 .gridwrp_2 { width:105.319%;}
.sp_gridwrp2 .gridwrp_2 .grid_2 { width:94.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_2 .grid_1 { width:44.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_2 .grid:nth-child(2n+1) {
	clear:both;
}
.sp_gridwrp2 .gridwrp_2 .grid:nth-child(3n+1) {
	clear:none;
}
.sp_gridwrp2 .linkarea p {
	padding: 0;
}
.column + .gridconatiner {
	margin-top:0;
} 
}	/* for SP max-width: 736px */

/*===============================================================
	
	fixed
	
===============================================================*/
.fixed {
	position: fixed;
	top: 0;
}
.bg_fixed {
	background-attachment: fixed;
}
/* タブレット以下 */
@media screen and (max-width: 940px) {
.fixed {
	position: fixed;
	top: 0;
}
}	/* for tablet max-width: 940px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	PAGETOP
	
===============================================================*/
#btn_pagetop {
	width:100%;
	overflow:hidden;
}
#btn_pagetop a {
	display:block;
	position:absolute;
	right:-300px; top:0;
	width:50px; height:50px;
	color:#fff;
	background-color:#ff4c68;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
	z-index:101;
	position:fixed;
	border-radius:30px;
	transition: .2s;
}
#btn_pagetop a:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}
#btn_pagetop a:after {
	position:absolute;
	content:" ";
	width:14px; height:14px;
	top:20px; left:0; right:0; bottom:auto;
	margin:auto;
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-radius:2px;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
#btn_pagetop a {
	width:40px;
	height:40px;
	background-size:40px 40px;
}
#btn_pagetop a:after {
	width:12px; height:12px;
	top:17px; left:0; right:0; bottom:auto;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	テーブル
	
===============================================================*/
table {
	width:100%;
	text-align:left;
	font-size:14px;
	line-height:20px;
	border-collapse: separate;
    border-spacing: 0;
	border-bottom:solid 1px #ddd;
}
table th {
	padding:10px;
	font-weight:bold;
	border:solid 1px #ddd;
	border-right:0;
	border-bottom:0;
	background:rgba(0,0,0,0.05);
	color:#000;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
table td {
	padding:10px;
	border:solid 1px #ddd;
	border-bottom:0;
	color:#000;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
table tr:nth-child(odd) {
	background:#fff;
}
table tr:nth-child(even) {
 	background:rgba(0,0,0,0.05);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
table {
	padding:0;
	margin-top:0px;
}
table th {
	display: list-item;
	list-style:none;
	width:100%;
	padding:10px;
	font-size:16px;
}
table td {
	display: list-item;
	list-style:none;
	width:100%;
	padding:10px;
	font-size:14px;
	line-height:1.6;
}
table tr:nth-child(odd) ,
table tr:nth-child(even) {
 	background:#fff;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	フォーム
	
===============================================================*/
.form {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*===============================================================
	
	btn_detail
	
===============================================================*/
.btn_detail {
	width:400px;
	margin:0 auto;
	margin-top:40px;
}
.btn_detail a {
	position:relative;
	text-decoration:none;
	display:block;
	background-color:#1d50a2;
	text-align:center;
	color:#fff;
	font-size:20px;
	line-height:20px;
	font-weight:bold;
	padding:20px 0;
	border-radius:5px;
	box-shadow:rgba(0, 0, 0, 0.2) 0px 2px 0px 0px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0px 2px 0px 0px;
	-moz-box-shadow:rgba(0, 0, 0, 0.2) 0px 2px 0px 0px;
}
.btn_detail a:after {
	position:absolute;
	content:" ";
	width:13px; height:13px;
	top:0; left:auto; bottom:0; right:10px;
	margin:auto;
	border-top:solid 1px #fff;
	border-left:solid 1px #fff;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
.btn_detail a:hover {
	text-decoration:none;
	background-color:#2b6bec;
}
.btn_detail_red a {
	background-color:#c91b36;
}
.btn_detail_red a:hover {
	background-color:#e31838;
}
.btn_detail_black a {
	background-color:#000;
}
.btn_detail_black a:hover {
	background-color:#222;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.btn_detail {
	width:100%;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.btn_detail {
	width:100%;
	margin:0 auto;
	margin-top:20px;
}
.btn_detail a {
	font-size:16px;
	background-size:18px 30px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	btn_white	
-------------------------------------------------------------*/
.btn_white {
	width:300px;
	margin:0 auto;
	margin-top:30px;
}
.btn_white a {
	text-decoration:none;
	display:block;
	background-color:#fff;
	text-align:center;
	color:#1d50a2;
	font-size:18px;
	line-height:20px;
	font-weight:bold;
	padding:15px 0;
	border:solid 1px #1d50a2;
}
.btn_white a:hover {
	text-decoration:none;
	color:#fff;
	background-color:#1d50a2;
}
.btn_white a:after {
	border-top:solid 1px #1d50a2;
	border-left:solid 1px #1d50a2;
}
.btn_white a:hover:after {
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.btn_white {
	width:80%;
	margin:0 auto;
	margin-top:20px;
}
.btn_white a {
	font-size:14px;
	line-height:20px;
	padding:10px 0;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	headline
	見だし
	
===============================================================*/
.headline {
	position: relative;
	margin-bottom: 20px;
}
.headline h2 {
	display: inline-block;
	min-width: 4em;
	color: #ff8880;
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	border-bottom: 5px solid #ffb3ae;
	padding-bottom: 5px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.headline h2 {
	font-size: 20px;
	border-bottom: 4px solid #ffb3ae;
	padding-bottom: 6px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
}	/* for SP max-width: 736px */
/*===============================================================
	
	subhead
	小見出し
	
===============================================================*/
.subhead {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*===============================================================
	
	背景
	
===============================================================*/
.bg_graytile {
	background-image:url(../images/asset/bg_graytile.jpg);
	background-position:top center;
	background-repeat:repeat;
}

/*===============================================================
	
	seciton
	headlineとcontentなど、複数の要素、機能を取りまとめるコンテナ的な親要素。
	幅はsection_innerに記述する
	
===============================================================*/
.section_wrp {
	padding-bottom: 50px;
}
.section {
	width:100%;
}
.section_inner {
	margin:0 auto;
	padding:40px 0;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.section_inner {
	margin:0 auto;
	padding:15px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_wrp {
	padding-bottom: 30px;
}
.section_inner {
	margin:0 auto;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	content 
	個別のコンテンツ
	
===============================================================*/
.content {
}
.headline + .content {
	margin-top:30px;
}
.content + .content {
	margin-top:80px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.content {
	width:100%;
	margin:0 auto;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.content {
	width:100%;
	margin:0 auto;
}
.headline + .content {
	margin-top:20px;
}
.content + .content {
	margin-top:30px;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	column
	囲み、メモなどサブ的な括り。
	
===============================================================*/
.column {
	width:700px;
	margin:0 auto;
}
.column h3 {
	font-size:20px;
	font-weight:bold;
	text-align:center;
	margin-top:30px;
}
.column h4 {
	font-size:18px;
	font-weight:bold;
	text-align:center;
	margin-top:30px;
}
.column p {
	margin-top:30px;
	font-size:16px;
}
.column * + p {
	margin-top:20px;
	font-size:16px;
}
.column p.caution {
	font-size:12px;
}
.column .bbottom {
	border-bottom:1px solid #000;
	padding-bottom:10px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.column {
	width:100%;
	margin:0 auto;
}
.column h3 {
	font-size:18px;
	margin-top:15px;
}
.column h4 {
	font-size:16px;
	margin-top:15px;
}
.column p {
	margin-top:10px;
	font-size:14px;
	line-height:1.6;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.notes	
-------------------------------------------------------------*/
.notes {
	background:#eee;
	padding:20px;
	margin-top:20px;
}
.notes p {
	font-size:12px;
	line-height:20px;
}
.notes > p {
	margin-top:0;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*===============================================================
	
	txtlink 2016/11/16
	
===============================================================*/
.txtlink a {
	padding-left:15px;
	color:#000;
	text-decoration:none;
	position:relative;
	display:inline-block;
}
.txtlink a:hover {
	color:#c00;
}
.txtlink a:after {
	position:absolute;
	content:" ";
	width:6px; height:6px;
	top:7px; bottom:auto; left:0; right:auto;
	margin:auto;
	border-top:solid 2px #c00;
	border-left:solid 2px #c00;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
.txtlink.arw_prev a {
}
.txtlink.arw_prev a:after {
	top:7px; bottom:auto; left:3px; right:auto;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.txtlink.arw_after a {
	padding-left:0;
	padding-right:10px;
}
.txtlink.arw_after a:after {
	left:auto; right:0;
}
.txtlink.arw_down a:after {
	top:7px; bottom:auto; left:2px; right:auto;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.txtlink.arw_after_down a {
	padding-left:0;
	padding-right:10px;
}
.txtlink.arw_after_down a:after {
	top:7px; bottom:auto; left:auto; right:0;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
/*	arw_box */
.txtlink.arw_box a {
	padding-left:25px;
}
.txtlink.arw_box a:before {
	content:' ';
	width:20px;
	height:20px;
	background:#000;
	position:absolute;
	top:2px; bottom:auto; left:0; right:auto; margin:auto;
}
.txtlink.arw_box a:after {
	border-top:solid 1px #fff;
	border-left:solid 1px #fff;
	top:8px; bottom:auto; left:5px; right:auto;
}

/*===============================================================
	
	基本のレイアウト
	section_contents
	
===============================================================*/
.section_contents {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	headline	
-------------------------------------------------------------*/
.section_contents .headline {
	text-align:center;
}
.section_contents .headline .title {
	font-size:35px;
	line-height:1.5;
}
.section_contents .headline .read {
	font-size:22px;
	line-height:1.5;
	font-weight:bold;
	margin-top:5px;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_contents .headline {
	text-align:left;
}
.section_contents .headline .title {
	font-size:20px;
}
.section_contents .headline .read {
	font-size:16px;
	line-height:1.4;
	font-weight:bold;
	margin-top:5px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	content margin	
-------------------------------------------------------------*/
.section_contents .visual {
	margin-top:30px;
}
.section_contents .headline + .content, 
.section_contents .visual + .content {
	margin-top:30px;
}
.section_contents .content + .content {
	margin-top:80px;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_contents .visual {
	margin-top:15px;
}
.section_contents .headline + .content, 
.section_contents .visual + .content {
	margin-top:15px;
}
.section_contents .content + .content {
	margin-top:30px;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	top / information
	
===============================================================*/
.information {
	border-top: 2px solid #ffb3ae;
}
.information .content {
	display: flex;
}
.information .twitter {
	width: 660px;
	margin-right: 20px;
}
.information .twitter h2 {
	background: #ff8880;
	padding: 10px;
	margin-bottom: 10px;
}
.information .twitter h2 img {
	display: block;
	height: 14px;
	width: auto;
}
.information .twitter .timeline {
	width: 660px;
	height: 315px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/*
	overflow-y: scroll;
	*/
	border: 1px solid #e3e9ed;
	border-right: 0;
}
.information .other {
	width: 320px;
}
/* お悩みをご相談ください！ */
.information .other .consultation {
	background: #fff0de;
	overflow: hidden;
	padding: 15px;
}
.information .other .consultation h3 {
	color: #ff655b;
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
	border-bottom: 2px solid #ffb3ae;
	padding-bottom: 5px;
	margin-bottom: 10px;
}
.information .other .consultation p {
	font-size: 13px;
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph; /* IE均等割り付け */
}
.information .other .consultation .space {
	float: right;
	height: 7.8rem;
}
.information .other .consultation .director {
	position: relative;
	float: right;
	width: 30%;
	clear: both;
	margin-left: 10px;
}
.information .other .consultation .director .photo,
.information .other .consultation .director .photo img {
	width: 100%;
}
.information .other .consultation .director .name {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-size: 11px;
	line-height: 1;
	text-align: center;
}
/* 県立浦和高校同窓会ボタン */
.information .other .reunion {
	margin-top: 10px;
}
.information .other .reunion a {
	position: relative;
	display: block;
	color: #595757;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background: #b6e7f7;
	border: 5px solid #b6e7f7;
	padding: 10px 0;
}
.information .other .reunion a:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	box-shadow: 0 0 0 2px #ffb3ae;
	transition: .2s;
}
.information .other .reunion a:hover:after {
	box-shadow: 0 0 0 5px #ffb3ae;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.information .content {
	display: block;
}
.information .twitter {
	width: 100%;
	margin-right: 0;
	margin-bottom: 15px;
}
.information .twitter h2 {
	margin-bottom: 5px;
}
.information .twitter h2 img {
	height: 10px;
}
.information .twitter .timeline {
	width: 100%;
	height: 315px;
	border-right: 1px solid #e3e9ed;
}
.information .other {
	width: 100%;
}
/* お悩みをご相談ください！ */
.information .other .consultation h3 {
	font-size: 20px;
}
.information .other .consultation p {
	font-size: 13px;
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph; /* IE均等割り付け */
}
.information .other .consultation .space {
	display: none;
}
.information .other .consultation .director {
	width: 80px;
	margin-bottom: 10px;
}
.information .other .consultation .director .name {
	font-size: 10px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.information .other .consultation p {
	font-size: 13px;
	line-height: 1.6;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	top / welcome
	
===============================================================*/
.welcome {
	background: #fff0de;
}
.welcome .section_inner {}
.welcome .content {
	background: #fff;
	border-radius: 15px;
	padding: 20px;
}
.welcome .content h2 {
	display: inline-block;
	color: #ff8880;
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
	margin-bottom: 10px;
}
.welcome .content .photo {
	float: right;
	width: 300px;
	margin-left: 20px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.welcome .content {
	padding: 15px;
}
.welcome .content h2 {
	display: block;
	font-size: 18px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.welcome .content .photo {
	float: none;
	width: 100%;
	margin-left: 0;
	margin-bottom: 10px;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	top / outline
	
===============================================================*/
.outline {}
.outline .section_inner {
	padding-bottom: 0;
}
.outline .content .department {
	/*margin-bottom: 10px;*/
}

.outline .content .department dl {
	width:100%;
	overflow:hidden;
}
.outline .content .department dt {
	width:8em;
	float:left;
	font-size: 18px;
	line-height: 1.6;
	font-weight:bold;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.outline .content .department dd {
	padding-left:8em;
	font-size: 18px;
	line-height: 1.6;
	margin-bottom: 20px;
	font-weight: bold;
}
.outline .content .department dd dt {
	font-size: 18px;
	float: none;
	width:100%;
}
.outline .content .department dd dd {
	font-size: 15px;
	font-weight: normal;
	padding-left:0;
	margin-bottom: 5px;
}
.outline .content .department_wrp {
	border: 1px solid #ff8880;
	border-radius: 10px;
	box-sizing: border-box;
	font-size: 14px;
	margin-top: 20px;
	padding: 20px;
}
.outline .content .department_wrp h3 {
	color: #ff8880;
	font-weight: normal;
}
.outline .content .department_wrp p {
	margin-top: 10px;
}
.outline .content .box {
	display: flex;
	margin-top: 20px;
}
.outline .content .box .left {
	display: flex;
	width: 660px;
	margin-right: 20px;
}
.outline .content .box .left .doctor_list {
	width: 50%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 2px solid #ff8880;
	padding: 10px 10px 10px 0;
}
.outline .content .box .left .doctor_list:last-child {
	border-left: 0;
}
.outline .content .box .doctor {
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
}
.outline .content .box .doctor:last-child {
	margin-bottom: 0;
}
.outline .content .box .doctor h3 {
	display: inline-block;
	width: 20%;
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	background: #ff8880;
	margin-right: 10px;
}
/* 2文字 文字間 */
.outline .content .box .doctor h3 span {
	font-weight: bold;
	letter-spacing: 1em;
	margin-right: -1em;
}
.outline .content .box .doctor .name {
	font-weight: bold;
}
.outline .content .box .doctor ul li {
	font-size: 11px;
	line-height: 1.3;
}
.outline .content .box .right {
	width: 320px;
}
.outline .content .box .right .photo {
	margin-bottom: 10px;
}
.outline .content .box .right p {
	font-size: 12px;
	line-height: 1.5;
	text-align: justify;
	text-justify: inter-ideograph; /* IE均等割り付け */
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.outline .content .department_wrp {
	font-size: 16px;
	line-height: 1.5;
}

.outline .content .department dt {
	width:6em;
	font-size: 15px;
	line-height: 1.6;
}
.outline .content .department dd {
	padding-left:6em;
	font-size: 15px;
}
.outline .content .department dd dt {
	font-size: 15px;
}
.outline .content .department dd dd {
	font-size: 14px;
}
.outline .content .box .left {
	display: block;
	width: 55%;
	margin-right: 2%;
}
.outline .content .box .left .doctor_list {
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 2px solid #ff8880;
	border-bottom: 0;
	padding: 10px 10px 10px 0;
}
.outline .content .box .left .doctor_list:last-child {
	border-top: 0;
	border-bottom: 2px solid #ff8880;
	border-left: 2px solid #ff8880;
	padding: 0 10px 10px 0;
}
.outline .content .box .doctor {
	display: flex;
	align-items: flex-start;
	margin-bottom: 10px;
}
.outline .content .box .doctor:last-child {
	margin-bottom: 0;
}
.outline .content .box .doctor h3 {
	width: 22%;
}
.outline .content .box .doctor .profile {
	width: 78%;
}
/* 2文字 文字間 */
.outline .content .box .doctor h3 span {
	font-weight: bold;
	letter-spacing: 1em;
	margin-right: -1em;
}
.outline .content .box .doctor .name {
	font-weight: bold;
}
.outline .content .box .doctor ul li {
	font-size: 11px;
	line-height: 1.3;
}
.outline .content .box .right {
	width: 43%;
}
.outline .content .box .right p {
	font-size: 14px;
	line-height: 1.8;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.outline .content .department_wrp {

}
.outline .content .department dl {
	margin-top: -20px;
}
.outline .content .department dt {
	width:100%;
	float:none;
	padding:15px 0 0 0;
	font-size:14px;
	font-weight:bold;
}
.outline .content .department dd {
	padding:0px 0 0 0;
	font-size:14px;
	line-height:1.5;
	margin: 0;
}
.outline .content .box {
	display: block;
}
.outline .content .box .left {
	width: 100%;
	margin-right: 0;
	margin-bottom: 10px;
}
.outline .content .box .right {
	width: 100%;
}
.outline .content .box .right .photo {
	margin-bottom: 10px;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	top / medical
	
===============================================================*/
.medical {}
.medical .section_inner {
	padding-bottom: 0;
}
.medical .headline + .content {
	margin-top: 0;
}
.medical .headline .no_reservation {
	position: absolute;
	top: 50%;
	right: 0;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	font-weight: bold;
	background: #ff4c68;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	padding: 5px;
	margin-top: 20px;
}
.medical .timetable {
	background: #b6e7f7;
	padding: 8px;
	margin-bottom: 5px;
}
.medical .timetable ul {
	display: flex;
	margin-bottom: 3px;
}
.medical .timetable ul:first-child {
	margin-bottom: 5px;
}
.medical .timetable ul:last-child {
	margin-bottom: 0;
}
.medical .timetable ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 1;
	text-align: center;
	margin-right: 3px;
}
.medical .timetable ul li:last-child {
	margin-right: 0;
}
.medical .timetable ul.am li,
.medical .timetable ul.pm li {
	min-height: 58px; /* 16px * 1.5 * 2行 + padding上下10 */
	line-height: 1.5;
	background: #fff;
	padding: 5px 0;
}
.medical .timetable ul .time {
	width: 8%;
}
.medical .timetable ul.am .time img,
.medical .timetable ul.pm .time img {
	width: 40px;
	height: auto;
	margin: 0 auto;
}
/*.medical .timetable ul.am .time {
	background: url(../../common/images/icon_am.svg) no-repeat 10px center #fff;
	background-size: 30px auto;
}
.medical .timetable ul.pm .time {
	background: url(../../common/images/icon_pm.svg) no-repeat 10px center #fff;
	background-size: 30px auto;
}
*/
.medical .timetable ul .business_day {
	width: 15%;
}
.medical .timetable ul .holiday {
	width: 8%;
}
.medical .timetable ul.am .holiday,
.medical .timetable ul.pm .holiday {
	color: #ff4c68;
	font-weight: bold;
}
.medical .caution span {
	font-weight: bold;
}
.medical .timetable ul.pm .monday {
	font-size: 14px;
	line-height: 1.2;
}
.medical .timetable ul.pm .monday p {
	line-height: 1.3;
}
.medical .timetable ul.pm .monday p small {
	font-size: 11px;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.medical .timetable ul li {
	font-size: 12px;
}
.medical .timetable ul.pm .monday p {
	font-size: 12px;
	line-height: 1.2;
}
.medical .timetable ul.pm .monday p small {
	font-size: 11px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.medical .headline .no_reservation {
	font-size: 13px;
}
.medical .timetable {
	display: flex;
	padding: 1.5%;
	margin-bottom: 10px;
}
.medical .timetable ul {
	display: block;
	width: 44%;
	margin-right: 1.5%;
	margin-bottom: 0;
}
.medical .timetable ul:first-child {
	width: 10%;
	margin-bottom: 0;
}
.medical .timetable ul:last-child {
	margin-right: 0;
	margin-bottom: 0;
}
.medical .timetable ul li {
	min-height: 58px; /* 16px * 1.5 * 2行 + padding上下10 */
	font-size: 12px;
	margin-right: 0;
	margin-bottom: 3px;
}
.medical .timetable ul li:last-child {
	margin-right: 0;
	margin-bottom: 0;
}
.medical .timetable ul.am li,
.medical .timetable ul.pm li {
	font-size: 14px;
	line-height: 1.5;
	background: #fff;
	padding: 5px 0;
}
.medical .timetable ul .time {
	width: 100%;
}

.medical .timetable ul .business_day {
	width: 100%;
}
.medical .timetable ul .holiday {
	width: 100%;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	top / access
	
===============================================================*/
.access {}
.access .section_inner {
	padding-bottom: 0;
}
.access .content .box {
	display: flex;
}
.access .content .box .left {
	width: 350px;
	margin-right: 20px;
}
.access .content .box .right {
	width: 630px;
}
.access .content .box .right .logo {
	position: relative;
	margin-bottom: 10px;
}
.access .content .box .right .logo img {
	display: block;
	width: 440px;
}
.access .content .box .right .logo span {
	position: absolute;
	bottom: 10px;
	right: 0;
	display: block;
	color: #ff4c68;
	font-size: 16px;
	font-weight: bold;
	border-bottom: 3px solid #ff4c68;
	padding: 0 5px;
}
.access .content .box .right .address {
	font-size: 16px;
	margin-bottom: 5px;
}
.access .content .box .right .tel {
	color: #ff8880;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	background: url(../../common/images/icon_tel.svg) no-repeat left center;
	background-size: auto 20px;
	padding-left: 25px;
	margin-bottom: 20px;
}
.access .content .box .right .tel a {
	color: #ff8880;
	text-decoration: none;
}
.access .content .box .right .photo {
	display: flex;
}
.access .content .box .right .photo li {
	width: 32%;
	margin-right: 2%;
}
.access .content .box .right .photo li:last-child {
	margin-right: 0;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.access .section_inner {
	padding-bottom: 0;
}
.access .content .box {
	display: block;
}
.access .content .box .left {
	width: 100%;
	margin-right: 20px;
	margin-bottom: 10px;
}
.access .content .box .right {
	width: 100%;
}
.access .content .box .right .address {
	font-size: 12px;
	line-height: 1.5;
}
.access .content .box .right .tel {
	margin-bottom: 10px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.access .content .box .right .logo {
	position: relative;
	text-align: center;
	margin-bottom: 10px;
}
.access .content .box .right .logo img {
	display: block;
	width: 100%;
}
.access .content .box .right .logo span {
	position: static;
	display: inline-block;
	font-size: 14px;
	padding: 0 5px;
	margin-top: 10px;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	top / Q&A
	
===============================================================*/
.faq {}
/* 文字間 */
.faq .headline h2 span {
	font-weight: bold;
	letter-spacing: 0.3em;
	margin-right: -0.3em;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
}	/* for SP max-width: 736px */

/*===============================================================
	
	faq_accordion
	
===============================================================*/

.faq_btns {
	position: absolute;
	top: 50%;
	right: 0;
	width:260px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.faq_btns .btn {
	width:120px;
	float:left;
}
.faq_btns .btn:first-child {
	margin-right:20px;
}
.faq_btns .btn a {
	display:block;
	color:#fff;
	font-size:14px;
	line-height:20px;
	font-weight:bold;
	text-align:center;
	text-decoration: none;
	padding:5px 0;
	background:#ff4c68;
}
.faq_btns .btn a:hover {
	opacity: .8;
	text-decoration:none;
}
.faq_accordion {
	text-align:left;
	border-top:1px solid #ddd;
}
.faq_accordion .title {
	color:#000;
	font-size:26px;
	line-height:32px;
	font-weight:bold;
	padding:10px 0 5px;
	border-bottom:1px solid #000;
}
.faq_accordion .title + .question {
	margin-top:20px;
	border-top:1px solid #ddd;
}

/* タブレット以下 */
@media screen and (max-width: 1040px) {

}	/* for tablet max-width: 1040px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.faq_btns {
	width:170px;
}
.faq_btns .btn {
	width:80px;
}
.faq_btns .btn:first-child {
	margin-right:10px;
}
.faq_btns .btn a {
	font-size:12px;
}
}	/* for SP max-width: 736px */


/*-------------------------------------------------------------
	.question
-------------------------------------------------------------*/
.question {
	position:relative;
	padding:20px 60px 20px 30px;
	cursor:pointer;
	transition:all 0.1s linear;
	border-bottom:1px solid #ddd;
	background:#fff;
}
.question:hover {
	background:#fee;
}
.question.active {
	background:#fff0de;
}
.question p {
	font-size:14px;
	line-height:1.5;
}
.question .icon {
	position:absolute;
	width:32px;
	height:32px;
	right:20px;
	top:50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index:100;
}
.question .icon span {
	display:inline-block;
	transition:all .3s;
	box-sizing:border-box;
	position:absolute;
	top:15px;
	right:12px;
	width:20px;
	height:2px;
	background-color:#ccc;
	-webkit-border-radius:1px;
	border-radius:1px;
}
.question .icon span:nth-of-type(1) {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.question .icon span:nth-of-type(2) {
	-webkit-transform:translateX(13px) rotate(-45deg);
	-moz-transform:translateX(13px) rotate(-45deg);
	-ms-transform:translateX(13px) rotate(-45deg);
	transform:translateX(13px) rotate(-45deg);
}
.question.active .icon span:nth-of-type(1) {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.question.active .icon span:nth-of-type(2) {
	-webkit-transform:translateX(13px) rotate(45deg);
	-moz-transform:translateX(13px) rotate(45deg);
	-ms-transform:translateX(13px) rotate(45deg);
	transform:translateX(13px) rotate(45deg);
}
.question::after {
	content: 'Q';
	display: inline-block;
	font-weight: bold;
	color: #ff8880;
	font-size: 18px;
	line-height: 20px;
	height: 20px;
	position: absolute;
	top: 0; bottom: 0; left: 10px;
	margin: auto;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
	
.question {
	padding:15px 50px 15px 30px;
}
.question p {
	font-size:14px;
	line-height:24px;
}
.question .icon {
	width:24px;
	height:24px;
	right:15px;
}
.question .icon span {
	top:10px;
	right:8px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.answer
-------------------------------------------------------------*/
.answer	{
	background:#fff;
	padding:20px;
	border-bottom:1px solid #ddd;
	
}
.answer p{
	font-size:14px;
	line-height:1.5;
}
.answer p sup {
	margin:0;
	margin-left:-5px;
	padding:0;
	font-size:10px;
	line-height:1;
	vertical-align:super;
}
.answer	p a {
	color:#f00;
	font-weight:bold;
}
.answer	p a:hover {
	text-decoration:underline;
}
.answer .caution {
	margin-top:5px;
	font-size:13px;
	line-height:22px;
}
.answer .btn {
	width:230px;
	margin:0 auto;
	margin-top:15px;
}
.answer .btn a {
	display:block;
	color:#fff;
	background:#000;
	text-align:center;
	font-size:16px;
	line-height:20px;
	font-weight:bold;
	padding:13px 0;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
}
.answer .btn a:hover {
	background-color:#333;
	text-decoration:none;
}

/*****２つのボタン*****/

.answer .btns {
	width:480px;
	margin:0 auto;
}
.answer .btns .btn {
	float:left;
}
.answer .btns .btn:first-child {
	margin-right:20px;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

.answer .btn {
	width:70%;
}
.answer .btn a {
}
.answer .btn a:hover {
	background-color:#000;
}
.answer .btns {
	width:100%;
}
.answer .btns .btn {
	float:none;
}
.answer .btns .btn:first-child {
	margin-right:auto;
}

}	/* for SP max-width: 736px */

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.answer	{
	padding:15px 15px 30px;
}
.answer p	{
	color:#000;
	font-size:14px;
	line-height:24px;
}
.answer .caution {
	font-size:12px;
	line-height:20px;
}

}	/* for SP max-width: 736px */

/*===============================================================
	
	.carousel_slider .slider
	
===============================================================*/
#slide .section_inner {
	padding: 20px 0;
}
.carousel_slider {
	max-height: 320px;
	overflow: hidden;
}
.carousel_slider .slider {
	position:relative;
	background:#fff;
}
.carousel_slider .slider .slide {
	width:100%;
	position:relative;
}
.carousel_slider .slider .owl-controls {
	display:none;
}

/* タブレット以下 */
@media screen and (max-width: 940px) {
#slide .section_inner {
	padding: 0 0 15px;
}
}	/* for tablet max-width: 940px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.carousel_slider .slider .slide ,
.carousel_slider .slider .slide:nth-child(even) {
	float:none;
	width:100%;
}
.carousel_slider .slider .slide img {
	width:100%;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.carousel_slider .slider .pager
-------------------------------------------------------------*/
.carousel_slider .slider .pager {
	position:absolute;
	top:0;
	bottom:0;
	margin:auto;
	width:50px;
	height:50px;
	z-index:5;
}
.carousel_slider .slider .prev {
	left:10px;
}
.carousel_slider .slider .next {
	right:10px;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.carousel_slider .slider .pager {
	width:20px;
	height:20px;
}
.carousel_slider .slider .prev {
	left:5px;
}
.carousel_slider .slider .next {
	right:5px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.carousel_slider .slider .pager a
-------------------------------------------------------------*/
.carousel_slider .slider .pager a {
	display:block;
	width:50px;
	height:50px;
	border:solid 1px #fff;
	border-radius:50% 50%;
	overflow:hidden;
	text-indent:-200%;
	position:relative;
}
.carousel_slider .slider .pager a:hover {
	background:rgba(255,255,255,0.3);
}
.carousel_slider .slider .pager a:after {
	content:'';
	position:absolute;
	top:0; bottom:0; left:0; right:0; margin:auto;
	border-right:solid 1px #fff;
	border-bottom:solid 1px #fff;
	width:12px;
	height:12px;
	-webkit-transform: rotate(-45deg) translate(-2px,-2px);
	-moz-transform: rotate(-45deg) translate(-2px,-2px);
	-ms-transform: rotate(-45deg) translate(-2px,-2px);
	transform: rotate(-45deg) translate(-2px,-2px);
	transition: all .3s;
}
.carousel_slider .slider .prev a:after {
	-webkit-transform: rotate(135deg) translate(-2px,-2px);
	-moz-transform: rotate(135deg) translate(-2px,-2px);
	-ms-transform: rotate(135deg) translate(-2px,-2px);
	transform: rotate(135deg) translate(-2px,-2px);
}
.carousel_slider .slider .pager a:hover:after {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.carousel_slider .slider .pager a {
	width:20px;
	height:20px;
}
.carousel_slider .slider .pager a:after {
	width:8px;
	height:8px;
	-webkit-transform: rotate(-45deg) translate(-1px,-1px);
	-moz-transform: rotate(-45deg) translate(-1px,-1px);
	-ms-transform: rotate(-45deg) translate(-1px,-1px);
	transform: rotate(-45deg) translate(-1px,-1px);
}
.carousel_slider .slider .prev a:after {
	-webkit-transform: rotate(135deg) translate(-1px,-1px);
	-moz-transform: rotate(135deg) translate(-1px,-1px);
	-ms-transform: rotate(135deg) translate(-1px,-1px);
	transform: rotate(135deg) translate(-1px,-1px);
}
}	/* for SP max-width: 736px */


/*-------------------------------------------------------------
	.carousel_slider .slider .slide .photo
-------------------------------------------------------------*/
.carousel_slider .slider .slide .photo img {
	width: inherit;
	max-width: 100%;
	min-width: 100%;
	height: auto;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.carousel_slider .slider .slide .txt
-------------------------------------------------------------*/
.carousel_slider .slider .slide .txt {
	position:absolute;
	width:400px;
	height:160px;
	top:0; bottom:0; left:0; right:0; margin:auto;
	text-align:center;
	background:rgba(0,0,0,0.5);
	padding:20px;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.carousel_slider .slider .slide .txt h3 {
	font-size:25px;
	line-height:30px;
}
.carousel_slider .slider .slide .txt .btn {
	width:200px;
	margin:0 auto;
	margin-top:20px;
}
.carousel_slider .slider .slide .txt .btn a {
	display:block;
	font-size:16px;
	line-height:20px;
	padding:10px 0;
	text-align:center;
	color:#fff;
	text-decoration:none;
	border:solid 3px #fff;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.carousel_slider .slider .slide .txt .btn a:hover {
	background:#fff;
	color:#000;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	cms_content
	
===============================================================*/

.cms_area {
	background: #fff;
	padding: 20px;
	border: solid 1px #ddd;
	margin-top: 15px;
  max-height:268px;
  overflow: scroll;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}/* for SP max-width: 736px */


/*===============================================================
	
	CMS表示 フロント、管理画面どちらにも必要
	
===============================================================*/
.cms_text {
	font-size:14px;
	line-height:1.8;
}
.cms_text {
}
.cms_text h3 {
	font-weight:bold;
	font-size:18px;
	line-height: 1.5;
	margin-bottom:0px;
	color:#3e3a39;
	/*border-bottom:double 3px #ccc;*/
	padding-bottom:0px;
}
.cms_text a {
  color:#ff4c68;
}
.cms_text a:hover {
	color:#ffafbb;
}
.cms_text .btn a {
	display: inline-block;
	padding: 8px 20px;
	background:#ff4c68;
	font-size: 16px;
	line-height: 1.5;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	transition: background 0.3s;
	font-weight: bold;
}
.cms_text .btn a:hover {
  opacity: 0.7;
}


/* タブレット以下 */
@media screen and (max-width: 960px) {

}/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.cms_text h3 {
	font-size:5vw;

}
.cms_text p {
	font-size:4vw;
	line-height:1.7;
}
.cms_text .btn a {
	font-size: 4vw;
	line-height: 1.5;
}

}/* for SP max-width: 736px */