﻿@import url("font.css");
@charset "UTF-8";

/*------------------------------------------------------------
reset
------------------------------------------------------------*/
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, 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-size:100%;
  font:inherit;
  vertical-align:baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display:block;
}

body{
  line-height:1;
}
ol,ul{
  list-style:none;
}

blockquote,q{
  quotes:none;
}

blockquote:before,blockquote:after,q:before,q:after{
  content:'';
  content:none;
}

table{
  border-collapse:collapse;
  border-spacing:0;
}

img {
  vertical-align: bottom;
  font-size:0;
  line-height: 0;
}


/*------------------------------------------------------------
common setting
------------------------------------------------------------*/

html {
  font-size: 87.5%;/* 14px */
}

body {
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  color: #333;
  font-size: 1rem;
}

@media screen and (min-width : 768px) {
  body {
    padding-top: 0 !important;
  }
}

/*--------------------
  Noto Serif
--------------------*/

/* Medium */
.serif{
  font-family: 'Noto Serif Japanese', serif;
  font-weight: 500;
}

/* Regular */
.serif_l{
  font-family: 'Noto Serif Japanese', serif;
  font-weight: 400;
}

/* Bold */
.serif_b{
  font-family: 'Noto Serif Japanese', serif;
  font-weight: 800;
}

.cf::after {
  content: "";
  display: block;
  clear: both;
}

a, a:hover, a:visited {
  color: #333;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}



/*--------------------
  文字・インデント
--------------------*/

.ti_1 {
  text-indent: -1em;
  padding-left: 1em;
}

.ls_05 {
  letter-spacing: 0.5px;
}

.t_center {
  text-align: center;
}

.t_left {
  text-align: left;
}

.t_right {
  text-align: right;
}

.fw_b {
  font-weight: bold;
}

.disc {
  list-style: disc;
  margin-left: 20px;
}

.pc_obj {
  display: block;
}
.sp_obj {
  display: none;
}

@media screen and (max-width : 767px) {
  
  html {
    font-size: 87.5% !important;
  }
  img {
    width: 100%;
  }
  .pc_obj {
    display: none;
  }
  .sp_obj {
    display: block;
  }
  
}



/* header
/*----------------------*/

header {
  width: 100%;
  padding: 6px 0 15px;
  background: rgba(255,255,255,.85);
  border-top: 5px solid #a18aed;
  border-bottom: 1px solid #e6e6e6;
}


/*　各ブロック 
----------------------*/

.logo {
	width: 25%;
	float: left;
/*background: #000;*/
}

.header_right {
	float: right;
	width: 70%;
	max-width: 626px;
	margin-top: 10px;
/*background: #c0c0c0;*/ 
}

.ul_header {
	float: left;
	width: 36.7%;
	margin-top: 10px;
/*background: #c030c0;*/
}

.fontBlock {
	float: right;
	width: 52.7%;
	max-width: 330px;
/*background: #c0c030;*/
}

.font_change {
  float:left;
  max-width: 220px;
  width: 66.6%;
/*background: #30c0c0;*/
}

#head_spot {
  float: right;
  max-width: 77px;
  width: 23.3%;
/*background: #3030c0;*/
}

#fontSize {
	float:right;
	margin-top: 0px;
}


@media screen and (max-width : 980px) {  /*ヘッダー右部分調整*/
	
  .header_right{
		max-width: 410px;
	}
	
  .ul_header{
		float:none;
		width: 100%;
		max-width: 100%;
		margin:8px 0 15px;
		text-align: right;
  }
	
	.fontBlock {
		float: right;
		width: 100%;
	}
	
}

@media screen and (max-width : 768px) {
	
  .header_right {display: none;}
	
}


/* ロゴ
---------------------*/

.logo a {display: block;}
.logo a img {
	width: 100%;
	max-width: 156px;
}


/* ヘッダーメニュー 
----------------------*/

.ul_header li {
  margin: 0 0 0 7%;
  padding: 0 6% 0 3%;
  display: inline-block;
  border-left: 1px solid #ccc;
  font-size: .86rem;
  line-height:1.4;
}

.ul_header li:first-child {
  margin: 0;
  border-left: none;
}

.ul_header a {
  position: relative;
}

.ul_header a:hover {
  text-decoration:underline;
}
 

.ul_header a::after {
  content: '';
  width: 15px;
  height: 15px;
  display: block;
  position: absolute;
  background: url(../img/ico_target.png) no-repeat;
  top:0;
  right:-25px;
}


/* 文字サイズ変更 
----------------------*/

.fcTit {
	float: left;
	font-size: 12px;
	padding: 10px 0 0;
}

#fontSize li {
  float: left;
  margin: 0 0 0 5px;
  padding: 8px;
  font-size: 12px;
  font-weight: bold;
  border: 1px solid #bfbfbf;
  border-radius: 3px;
}

#fontSize li:first-child {
  margin: 0;
}

#fontSize li:nth-child(3){
  padding: 8px 12px;
}

#fontSize li.active {
  padding: 7px;
  border: 2px solid #a18aed/*#99c639*/;
  color: #a18aed/*#99c639*/;
}

#fontSize li:nth-child(3).active {
  padding: 7px 12px;
}

#fontSize li:hover {
  cursor: pointer;
}


/* ヘッダー電話番号 
----------------------*/

.tel_header {
  text-align: right;
  font-size: 1.93rem;
  margin: 3px 0 0;
}

.tel_header p {
  display: inline-block;
  position: relative;
	padding: 10px 0 0;

}

.tel_header p::before {
  display: block;
  position: absolute;
  top: 12px;
  left: -20px;
  content: '';
  width: 16px;
  height: 23px;
  background: url(../img/ico_tel.png) no-repeat;
}

.tel_header span {
  text-align: right;
  font-size: 1.15rem;
}



@media screen and (max-width : 768px) {

	/*.menu_inner {
		background: url("../img/logoSp_40th.png") no-repeat 20px 10px;
		background-size: 48% auto;
	}*/

}





/*-- リンク共通装飾 --*/
.arrow li a span{
    text-indent: -18px;
    display: inline-block;
    margin-left: 18px;
}
.arrow li a span::before {
  content: '';
  width: 6px;
  height: 6px;
  display: inline-block;
  border-top: 2px solid #a18aed;
  border-right: 2px solid #a18aed;
  transform: rotate(45deg);
  transition: .3s;
  position: relative;
  top: -1px;
  left: 0;
  margin-right:10px;
}


/*------------------------------------------------------------
layout setting
------------------------------------------------------------*/

#wrapper {
  min-width: 980px;
  overflow: hidden;
}

.inner {
  max-width: 1300px;
  width: 96%;
  margin: 0 auto;
}

@media screen and (max-width : 768px) {
  #wrapper {
    min-width: 100%;
  }
}


/*-- コンテンツレイアウト --*/
main {
  margin: 0 0 80px;
}
@media screen and (max-width : 768px) {
  main {
    position: relative;
  }
}

/*-- 1カラムレイアウト --*/

.single .wrap_inner{
  max-width:920px;
}

.single .wrap_inner .box_2main{
  border-left:none;
}

@media all and (min-width: 768px) {

  .single .breadcrumb {
    max-width: 1300px;
    margin: 0 auto;
    border-left: 0;
  }

}

.single .box_2main {
  padding: 40px 0 68px;
  position: relative;
}

@media screen and (max-width : 768px) {
  
  .single .box_2main {
    padding: 8.6% 4% 0;
    border-left: none;
  }

}

.single .box_2main section + section {
  margin-top: 8.6%;
}


/*-- 2カラムレイアウト --*/
.contents_wrap {
  position: relative;
  background: url(../img/bg_line_straight.gif) repeat-x center 60px;
}

.wrap_inner {
  display: flex;
  flex-direction: row-reverse;
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
}

.wrap_inner main {
  margin: 0 auto;
  -webkit-box-flex: 1 0 0%;
  -moz-box-flex: 1 0 0%;
  box-flex: 1 0 0%;
  -webkit-flex: 1 0 0%;
  -moz-flex: 1 0 0%;
  -ms-flex: 1 0 0%;
  flex: 1 0 0%;
}

@media all and (max-width: 767px) {
  
  .contents_wrap {
    background:none;
  }
  
  .wrap_inner {
    width: 100%;
    flex-direction: column;
    display:block;
  }

  .wrap_inner main {
    padding: 0 0 100px;
  }
  
}

/* 追記 */
.single .box_2main section + section {
  margin-top: 8.6%;
}


/*------------------------------------------------------------
  aside
------------------------------------------------------------*/

aside {
  width: 250px;
  padding:0 30px 0 0;
}

.ttl_aside {
  height: 60px;
  padding: 22px 0 21px 30px;
  font-size: 1.15rem;
  font-family: 'Noto Serif Japanese', "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", serif;
  font-weight: bold;
  position: relative;
  box-sizing: border-box;
}

@media screen and (min-width : 769px) {
  
  .ttl_aside {
    height: 60px;
  }
  .breadcrumb {
    height: 60px;
    box-sizing: border-box;
  }
}

.ttl_aside::before {
  content: '';
  width: 16px;
  height: 3px;
  display: block;
  background: #a18aed;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.box_aside {
  padding:15px 0 0 30px;
}

.ul_aside {
  margin: 0 0 20px;
}

.ul_aside li a {
  padding: 20px 0 19px;
  display: block;
  background: url(../img/bg_line-dot.gif) repeat-x bottom left;
  line-height:1.4;
}

.ul_aside li.current a{
  padding-left:1em;
  background:url(../img/bg_line-dot.gif) repeat-x bottom left #faf7f0 !important;
}

.ul_aside li:last-child a {
  background:none;
}

.ul_aside li.exception a {
  background: url(../img/bg_line-dot.gif) repeat-x bottom left !important;
}

/*--------------------
  サイド アイコンリンク
--------------------*/

.btn_aside{
  margin:0 0 10%;
}

.btn_aside img{
  width:100%;
}

.btn_aside a{
  padding:0;
  position:relative;
  display: block;
  font-size: .86rem;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  line-height: 1.5;
}

.btn_aside li + li a {
  border-top: none;
}

.btn_aside li a:hover{
  text-decoration: none;
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

.btn_aside a:before{
  content:none;
}

.btn_aside dl{
  width:100%;
  display:table;
  padding:16px 15px 16px 10px;
/*	height:64px;*/
  min-height:64px;
  background:url(../../hospital/common/img/arrow_hospital.html) no-repeat 96% center;
  background-size:7px 12px;
  box-sizing:border-box;
}

@media all and (min-width: 768px) {
  
  .btn_aside dl {
  height: auto !important;/* matchHeight打消し */
  }
  
}

.btn_aside dl.icon_blank{
  background:url(../img/ico_target.png) no-repeat 96% center;
  background-size:12px 12px;
}

.btn_aside dl.icon_doc{
  background:none;
}

.btn_aside dl.icon_doc dd:after{
  content: 'PDF';
  color: #f46162;
  font-size: 0.72rem;
  display: inline-block;
  vertical-align: middle;
  padding-left: 15px;
  line-height: 1.8;
  min-height: 13px;
  background: url(../img/ico_pdf_02.png) left center no-repeat;
  margin-left: 1rem;
  margin-top: -2px;
  text-decoration: none;
}

.btn_aside dl dt{
  width:20%;
  display:table-cell;
  vertical-align:middle;
}

.btn_aside dl dd{
  width:75%;
  display:table-cell;
  vertical-align:middle;
  box-sizing:border-box;
  padding-left:10px;
  font-size:0.86rem;
}

@media screen and (max-width : 767px) {

  .wrap_inner main,
  aside {
    width: 100%;
  }

  
  aside{
    padding: 0 0 70px;
    margin:0;
  }

  .ttl_aside {
    width: 100%;
    padding: 22px 0 21px 28px;
    font-size: 1.15rem;
    color: #fff;
    background: #a18aed;
  }
  
  .ttl_aside::before {
    background: #fff;
  }
  
  .ttl_aside a{
    color:#fff;
  }
  
  .box_aside {
    width: 92%;
    margin: 0 auto;
    padding: 0;
  }
  
  .ul_aside {
    width: 100%;
    max-width: 100%;
    /*margin: 0 0 40px;*/
    margin: 0;
  }
  
  .ul_aside li a {
    padding: 20px 0 19px;
  }
  
  .btn_aside{
    margin:0 0 10%;
  }
  
  .btn_aside li a{
    width:50%;
    float:left;
  }
  
  .btn_aside li.only a{
    width:100%;
    float:none;
  }
  
/*  .btn_aside li:nth-child(even) a{
    border-left:none;
  }
  
  .btn_aside li:nth-child(2) a{
    border-top:1px solid #e5e5e5;
  }*/
  
  .btn_aside li:nth-child(odd) a{
    clear:both;
  }
  
  .btn_aside dl{
    min-height:auto;
    padding:8% 22px 8% 10px;
  }

  .btn_aside li.only a dl{
    min-height:auto;
    padding:3.5% 22px 3.5% 10px;
  }
  
  .btn_aside dl dt{
    width:24%;
  }
  
  .btn_aside li.only a dl dt{
    width:11%;
  }

  .btn_aside dl dd{
    width:76%;
  }

  .btn_aside li.only a dl dd{
    width:89%;
  }

}


/*トップへ戻るボタン*/
.topBtn {
  position:fixed;
  bottom:20px;
  right:20px;
  display:block;
  z-index: 1000;
}

.pagetop img {
  width: 53px;
}

@media all and (max-width: 767px) {
  
  .pagetop a {
    width: 12.5%;
    max-width: 46px;
  }
  
  .pagetop img {
    width: 100%;
  }
  
}

/*-- パンくず --*/
.breadcrumb {
  padding: 24px 20px 23px 62px;
  border-left: 1px solid #e5e5e5;
}

.ul_breadcrumb {
  font-size: .86rem;
}

.ul_breadcrumb li {
  float: left;
  margin: 0 0 0 30px;
  position: relative;
}

.ul_breadcrumb li::before {
  content: '>';
  color: #b2b2b2;
  position: absolute;
  left: -18px;
}

.ul_breadcrumb li:first-child {
  margin: 0;
}

.ul_breadcrumb li.home::before {
  content: '';
  background: url(../img/ico_home_pc.png) no-repeat top center;
  width: 25px;
  height: 32px;
  display: block;
  top: -4px;
  left: -29px;
}

@media screen and (max-width : 768px) {
  
  .breadcrumb {
    box-sizing: border-box;
    padding: 15px 4% 15px calc( 4% + 27px );
    overflow-x: auto;
    border-bottom: 1px solid #e5e5e5;
    border-left: none;
  }
  
  .ul_breadcrumb {
    font-size: .79rem;
    white-space:nowrap;
  }
  
  .ul_breadcrumb li {
    float: none;
    display: inline-block;
  }
  
  .ul_breadcrumb li.home::before {
    background: url(../img/ico_home_sp.png) no-repeat top center;
    background-size: 100%;
    width: 15px;
    height: 22px;
    top: -4px;
    left: -29px;
  }
  
  .ul_breadcrumb li::before {
    content: '<';
  }

}


@media screen and (min-width : 768px) {
  /*-- hover opacity --*/
  .hover {
  -webkit-transition-property: opacity;
  -webkit-transition-duration: 0.2s;
  transition-property: opacity;
  transition-duration: 0.2s;
  }
  
  .hover:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
  }
}



/* nav
/*----------------------*/

nav {
  position: relative;
  -webkit-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.06);
  -moz-box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.06);
  box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.06);
}

.gnav li {
  float: left;
}

.gnav > li {
  width: 16.6666666%;
  font-size: 1.08rem;
  text-align: center;
}

.gnav > li:first-child {
  background: url(../img/gnav_line.gif) no-repeat left center;
}

.gnav > li > a {
  padding: 19px 0;
  display: block;
  background: url(../img/gnav_line.gif) no-repeat right center;
  border-bottom: 3px solid #fff;
}

.gnav > li > a:hover {
  text-decoration: none;
  border-bottom: 3px solid #a18aed;
}

.gnav > li > a.current{
  border-bottom: 3px solid #a18aed;
}

.dropmenu li .in_drop {
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  background: #faf7f0;
  -webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.09);
  -moz-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.09);
  box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.09);
  z-index: 100;
  
  visibility: hidden;
  opacity: 0;
  -webkit-transition-property: opacity;
  -webkit-transition-duration: 0.4s;
  transition-property: opacity;
  transition-duration: 0.4s;
}

.dropmenu li:hover .in_drop {
  visibility: visible;
  opacity: 1;
}

.dropmenu li .in_drop .drop_ttl{
  text-align:left;
  padding:30px 0 25px;
  border-bottom:1px solid #e1e7dd;
}

.dropmenu li .in_drop .drop_ttl a{
    position:relative;
    display: inline-block;
    padding-left: 18px;
}

.dropmenu li .in_drop .drop_ttl a:after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #a18aed;
  border-right: solid 2px #a18aed;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top:50%;
  left:0;
  margin-top:-3px;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.dropmenu li .in_drop .drop_ttl a:hover{
  opacity:0.8;
}

.dropmenu li .in_drop .drop_ttl a:hover::after {
  right:-20px;
}

.dropmenu li .in_drop ul:after {
  content:" ";
  display:block;
  clear:both;
}

.dropmenu li .in_drop li {
  width: 18.7%;
  margin: 0 0 0 1.6%;
  text-align: left;
}

.dropmenu li .in_drop li:first-child,
.dropmenu li .in_drop li:nth-child(5n+1){
  margin: 0;
}

.dropmenu li .in_drop li a {
  padding: 30px 0;
  display: block;
}

.dropmenu li .in_drop li a:hover {
  opacity: .7;
}

.dropmenu li .in_drop li a img {
  margin: 0 0 15px;
}

.dropmenu li .in_drop li a p {
  display: inline-block;
  text-align: left;
  font-size: 1rem;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  line-height:1.4;
}

.dropmenu li .in_drop li a p span{
    position:relative;
    display: inline-block;
    padding-left: 18px;
}

.dropmenu li .in_drop li a p span:after {
  content: '';
  width: 6px;
  height: 6px;
  display: block;
  border-top: 2px solid #a18aed;
  border-right: 2px solid #a18aed;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 0;
  margin-top:6px;
  z-index: 1;
}

.dropmenu li .in_drop li a img {
  width:100%;
  margin: 0 0 15px;
}

@media all and (max-width: 767px) {

  /* nav SP
  /*----------------------*/
  
  body {
    overflow-x: hidden !important;
    box-sizing: border-box;
    width: 100%;
  }

  header {
    top: 0;
    left: 0;
    width: 100%;
  }

  header {
    padding: 0;
    padding-top: 16%;
    background: #fff;
    position: relative;
  }
  
  header .logo {
    width: 29.5%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-top: -2px;/* ボーダー分 */
    left: 4%;
  }

  header .menu_open {
    position: absolute;
    top: 50%;
    right: 4%;
    transform: translateY(-50%);
    cursor: pointer;
    width: 6.9%;
  }
  
  /* メニュー内部 */
  header .menu_sp {
    width: 81.6vw;
    height: calc(100vh - 5px);
    background: #fff;
    position: absolute;
    top: 0;
    right: -81.6vw;
    z-index: 10000;
    transition-property: right;
    transition-duration: 0.3s;
    overflow: auto;
    display: none;
    -webkit-overflow-scrolling: touch;
  }
  
  header .menu_sp.open {
    right: 0;
    display: block;
  }

  header .menu_sp .menu_inner {
    padding: 16% 0 100px;
  }

  header .menu_close {
    position: absolute;
    top: 12px;
    right: 6.2%;
    cursor: pointer;
    width: 6.9%;
  }
  
  header .overlay{
    display: none;
    background: rgba(0,0,0,.5);
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 9999;
    cursor: pointer;
  }
  
  header .menu_sp .menu_area {
    width: 90%;
    margin: 0 auto;
  }
  
  header .menu_sp p a,
  header .menu_sp dt {
    font-size: 1.08rem;
    padding: 1em 3%;
    margin: 0;
  }
  
  header .menu_sp p,
  header .menu_sp dl {
    border-bottom: 1px solid #e6e6e6;
    position: relative;
  }
  
  header .menu_sp dt a {
    pointer-events: none;
  }
  
  header .menu_sp p a {
    display: block;
  }
  
  header .menu_sp p a:after {
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid #a18aed;
    border-right: 2px solid #a18aed;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    right: 8px;
    top: calc(50% - 4px);
  }
  
  header .menu_sp p.icon a:after {
    content: '';
    width: 15px;
    height: 15px;
    background: url(../img/ico_target2.png) no-repeat center right;
    background-size: 15px 15px;
    border-top: none;
    border-right: none;
    transform: rotate(0deg);
    display: block;
    position: absolute;
    right: 4px;
    top: calc(50% - 4px);
  }

  header .menu_sp dt a:after {
    content: '＋';
    position: absolute;
    right: 2px;
    color: #a18aed;
    font-size: 1.28rem;
    font-weight: bold;
  }
    
  header .menu_sp dt a.active:after {
    content: '－';
  }
  
  header .menu_sp dd {
    background: #f7f7f7;
    font-size: 0.89rem;
    display:none;
  }
  
  header .menu_sp dd ul {
    padding: 2% 6%;
  }
  
  header .menu_sp dd li {
    border-top: 1px solid #e6e6e6;
    position: relative;
  }
  
  header .menu_sp dd li:first-child {
    border-top: none;
  }
  
  header .menu_sp dd li:after {
    content: '';
    width: 4px;
    height: 4px;
    border-top: 2px solid #a18aed;
    border-right: 2px solid #a18aed;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    right: 8px;
    top: calc(50% - 2px);
  }
  
  header .menu_sp dd li a {
    padding: 1em 1em 1em 0;
    line-height:1.4;
    display: block;
  }
  
  header .menu_sp .colum02 p {
    width: 50%;
    float: left;
    box-sizing: border-box;
    display: table;
    height: 4em;
    border-left: 1px solid #e6e6e6;
    font-size: 0.89rem;
    line-height: 1.56;
  }

  header .menu_sp .colum02 p a{
    display:table-cell;
    vertical-align:middle;
  }
  
  header .menu_sp .colum02 p:after {
    content: '';
    width: 4px;
    height: 4px;
    border-top: 2px solid #82be3d;
    border-right: 2px solid #82be3d;
    transform: rotate(45deg);
    display: block;
    position: absolute;
    right: 8px;
    top: calc(50% - 2px);
  }
  
  header .menu_sp .colum02 p:nth-child(odd) {
    clear: both;
    border-left: 0;
  }

  header .menu_sp .colum02 p.icon:after {
    content:none;
  }

  header .menu_sp .colum02 p.icon a{
    background:url(../img/ico_target.png) no-repeat 100% center;
    background-size:12px 12px;
    padding-right:10%;
  }
  
  /* 追加 下部閉じるボタン */
  header .menu_close_btm {
    width: 6.9%;
    margin-left: auto;
    margin-right: 6.2%;
    margin-top: 12px;
    cursor: pointer;
  }
}

/* iphone5のみ */
@media all and (max-width: 320px) {
  
  header .menu_sp .colum02 p {
    font-size: 0.8rem;
  }

}


/*------------------------------------------------------------
  footer
------------------------------------------------------------*/

footer {
  padding: 43px 0 0;
  background: #f9f9f9;
  border-top: 2px solid #e6e6e6;
}

.footer_nav {
  margin: 0 0 38px;
}

/* footer_ul */

.footer_ul {
  max-width: 1140px;
  width: 96%;
  margin: 0 auto;
  display: table;
}

.footer_ul > li {
  padding: 0 3%;
  display: table-cell;
  border-left: 1px solid #e8e8e8;
  box-sizing: border-box;
  vertical-align:top;
}

.footer_ul > li:first-child {
  width:19%;
  border: none;
  padding:0 3% 0 0;
}

.footer_ul > li:nth-child(2) {
  width: 25%;
}

.footer_ul > li:nth-child(3) {
  width: 20%;
}

.footer_ul > li:nth-child(4) {
  width: 17%;
}

.footer_ul > li:last-child {
  width:19%;
}

.footer_ul li a {
  position: relative;
  display: inline-block;
  padding-left:20px;
}

/* footerの＞ */
.footer_ul > li a:after, .footer_ul dd li a:after {
  content: '';
  width: 6px;
  height: 6px;
  display: block;
  border-top: 1px solid #a18aed;
  border-right: 1px solid #a18aed;
  transform: rotate(45deg);
  position: absolute;
  left:0;
  top: 50%;
  margin-top:-3px;
  z-index: 1;
}

.footer_ul > li p.icon a:after,
.footer_ul dd li p.icon a:after {
  content: '';
  width: 15px;
  height: 15px;
  background:url(../img/ico_target2.png) no-repeat center right;
  background-size:15px 15px;
  display: block;
  border-top: none;
  border-right:none;
  transform: rotate(0deg);
  position: absolute;
  right: -20px;
  top: 50%;
  margin-top:2px;
  z-index: 1;
}

/* 小さい方 */
.footer_ul > li a:after {
  width: 7px;
  height: 7px;
  border-top: 2px solid #a18aed;
  border-right: 2px solid #a18aed;
  margin-top:-5px;
}

.footer_ul a:hover {
  text-decoration: underline;
}

.footer_ul li p,
.footer_ul li dt {
  margin: 0 0 20px;
  font-size: 1rem;
  line-height:1.4;
}

.footer_ul li * + dl,
.footer_ul li * + p {
  margin: 36px 0 0;
}

.footer_ul > li:last-child * + p {
  margin: 29px 0 0;
}

.footer_ul dd li {
  margin: 0 0 12px;
  padding: 0;
  font-size: .86rem;
  line-height:1.4;
}
.footer_ul dd li:first-child {
  margin: 20px 0 0;
}

/* 電話番号改行対策 */
footer .inline_b {
  display: inline-block;
  margin-top: 0.4rem;
}

@media screen and (max-width : 767px) {

  /* footer SP
  /*----------------------*/

  footer {
    padding: 0;
  }
  
  .footer_nav {
    margin: 0 0 25px;
  }
  
  /* footer_ul */
  
  .footer_ul {
    width: 100%;
    margin: 0 auto;
    display: block;
    -webkit-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.09);
    -moz-box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.09);
    box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.09);
  }
  
  .footer_ul > li,
  .footer_ul > li:first-child,
  .footer_ul > li:nth-child(2),
  .footer_ul > li:nth-child(3),
  .footer_ul > li:nth-child(4),
  .footer_ul > li:nth-child(5) {
    width: 100%;
    padding: 0;
    display: block;
    border-left: none;
  }
  
  .footer_ul > li:first-child {
    padding: 0;
  }
  
  .footer_ul > li a {
    padding: 6% 3%;
    display: block;
  }

  .footer_ul > li p.icon a:after,
  .footer_ul dd li p.icon a:after {
    right:1.2rem;
    margin-top:-8px;
  }
  
  .footer_ul li p,
  .footer_ul li dt {
    margin: 0;
    font-size: 1.08rem;
    padding:0;
  }
  
  .footer_ul > li dt a {
    pointer-events: none;/* リンク無効 */
  }
  
  .footer_ul li dd {
    padding: 0;
    display: none;
  }
  
  .footer_ul li dd ul {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #f1f1f1;
  }
  
  .footer_ul > li p,
  .footer_ul > li dt,
  .footer_ul > li dd ul,
  .footer_ul > li dd ul li:not(:first-child){
    border-top: 1px solid #e0e0e0;
  }
  
  .footer_ul dd li,
  .footer_ul li p,
  .footer_ul li * + dl,
  .footer_ul li * + p,
  .footer_ul dd li:first-child,
  .footer_ul > li:last-child * + p {
    margin: 0;
  }
  
  /* 矢印 */
  .footer_ul > li a:after,
  .footer_ul dd li a:after {
    content: '';
    width: 6px;
    height: 6px;
    display: block;
    border-top: 1px solid #a18aed;
    border-right: 1px solid #a18aed;
    transform: rotate(45deg);
    position: absolute;
    right: -10px;
    left:auto;
    top: 3px;
    z-index: 1;
  }

  .footer_ul > li a:after,
  .footer_ul li dt a:after,
  .footer_ul dd li a:after {
    width: 8px;
    height: 8px;
    top: calc(50% + 0px);
    right: 1.4rem;
    border-top: 2px solid #a18aed;
    border-right: 2px solid #a18aed;
  }

  .footer_ul li dt a:after {
    content: '\ff0b';
    width: 26px;
    color: #a18aed;
    font-size: 1.4rem;
    top: calc(50% - 6px);
    right: .6rem;
    border: none;
    transform: rotate(0);
    font-weight:bold;
  }
  
  .footer_ul li dt a.active:after {
    content: '\ff0d';
  }
  
  /* footer_harf */
  
  li.footer_harf p {
    width: 50%;
    float: left;
    font-size: .86rem;
    box-sizing: border-box;
    line-height:1.4;
  }
  
  .footer_harf p:nth-child(odd) {
    border-right: 1px solid #e6e6e6;
  }

  .footer_harf p:nth-child(5) {
    border-bottom: none;
  }
  
  .footer_harf p a {
    padding: 9% 10% 9% 6%;
  }
  
  .footer_harf p a::after {
    width: 7px;
    height: 7px;
    right: 6%;
    top:calc(50% + 0px);
  }
  
  /* blackアイコン */
  .footer_harf p.icon a {
    background:url(../../img/icon_blank_green.html) no-repeat 96% center !important;
    background-size:15px 15px;
    padding-right:10%;
  }
}


/* copyright
/*----------------------*/

.copyright_box {
  max-width: 1140px;
  width: 96%;
  margin: 0 auto;
  padding: 0 0 30px;
  font-size: .86rem;
}

.copyright_box .left_box {
  float: left;
  width: 50%;
}

.copyright_box .right_box {
  float: right;
  width: 50%;
  padding: 0 3.1% 0 0;
  text-align: right;
  box-sizing: border-box;
}

.copyright_box .company_name {
  margin: 0 0 13px;
  font-size: 1rem;
}

.copyright_box .footer_link li {
  margin: 0 0 16px;
  padding: 0 0 0 2%;
  display: inline-block;
  border-left: 1px solid #e8e8e8;
}

.copyright_box .footer_link li:first-child {
  padding: 0 5% 0 0;
  border: none;
}

.copyright_box .footer_link li a:hover{
  text-decoration:underline;
}

/* blankアイコン */
.copyright_box .footer_link a:after {
content: '';
display: inline-block;
width: 12px;
height: 12px;
background: url(../img/ico_target2.png) center no-repeat;
background-size:100%;
vertical-align: middle;
margin-left: 5px;
margin-right: -1rem;
margin-top: -3px;
}

@media screen and (max-width : 767px) {
  .copyright_box {
    width: 100%;
    padding: 6% 2% 4%;
    background: #fff;
    box-sizing: border-box;
  }
  .copyright_box .left_box,
  .copyright_box .right_box {
    float: none;
    width: 100%;
    padding: 0;
    text-align: center;
  }
  .copyright_box .left_box {
    margin: 0 0 6.5%;
  }
  .copyright_box .company_name {
    margin: 0 0 1.6%;
  }
  .copyright_box .footer_link {
    margin: 0 0 6.5%;
  }
  .copyright_box .footer_link li {
    margin: 0;
  }
  .copyright {
    font-size: .72rem;
  }
}


/* group_box
/*----------------------*/

.group_box {
  max-width: 1140px;
  width: 96%;
  margin: 0 auto 24px;
  padding: 30px 0 20px;
  border-top: 1px solid #e8e8e8;
  border-bottom: 1px solid #e8e8e8;
  box-sizing:border-box;
}

.group_box img{
  width:100%;
}

.group_box p{
  width:13%;
  float:left;
  padding-right:2%;
  border-right:1px solid #e8e8e8;
}

.group_box p{
  max-width:104px;
}

.group_box .gu_outer{
  width:82%;
  float:left;
  margin-left:2%;
}

.group_box .group_ul{
  float:left;
}

.group_box .group_ul li a{
  display:block;
}

.group_box .group_ul li a:hover{
  opacity:0.8;
}

.group_box .group_ul.gu01{
  width:37%;
}

.group_box .group_ul.gu01 .gp_gp{
  width:50.5%;
  float:left;
}

.group_box .group_ul.gu01 .gp_gp dl{
  display:table;
}

.group_box .group_ul.gu01 .gp_gp dl dt{
  display:table-cell;
  width:32%;
}

.group_box .group_ul.gu01 .gp_gp dl dd{
  display:table-cell;
  vertical-align:middle;
  font-size:1rem;
  color:#5c7b1a;
  padding-left:5%;
  line-height:1.4;
}

.group_box .group_ul.gu01 .gp_gp dl dd span{
  background:url(../img/ico_target_gp.png) no-repeat right center;
  background-size:13px 13px;
  padding-right:18px;
}

.group_box .group_ul.gu01 .gp_hos{
  width:49.5%;
  float:left;
}

.group_box .group_ul.gu01 .gp_hos dl{
  display:table;
}

.group_box .group_ul.gu01 .gp_hos dl dt{
  display:table-cell;
  width:32.76%;
}

.group_box .group_ul.gu01 .gp_hos dl dd{
  display:table-cell;
  vertical-align:middle;
  font-size:1rem;
  color:#5c7b1a;
  padding-left:5%;
  line-height:1.4;
}

.group_box .group_ul.gu01 .gp_hos dl dd span{
  background:url(../img/ico_target_hos.png) no-repeat right center;
  background-size:13px 13px;
  padding-right:18px;
}

.group_box .group_ul.gu02{
  width:43%;
}

.group_box .group_ul.gu02 .gp_sol{
  width:53.7%;
  float:left;
}

.group_box .group_ul.gu02 .gp_sol dl{
  display:table;
}

.group_box .group_ul.gu02 .gp_sol dl dt{
  display:table-cell;
  width:24.8%;
}

.group_box .group_ul.gu02 .gp_sol dl dd{
  display:table-cell;
  vertical-align:middle;
  font-size:0.72rem;
  color:#ac1454;
  padding-left:5%;
  line-height:1.4;
  letter-spacing:-0.02rem;
}

.group_box .group_ul.gu02 .gp_sol dl dd span{
  font-size:1rem;
  letter-spacing:-0.08rem;
}

.group_box .group_ul.gu02 .gp_sol dl dd span{
  background:url(../img/ico_target_sol.png) no-repeat right center;
  background-size:13px 13px;
  padding-right:18px;
}

.group_box .group_ul.gu02 .gp_cli{
  width:46.3%;
  float:right;
}

.group_box .group_ul.gu02 .gp_cli dl{
  display:table;
}

.group_box .group_ul.gu02 .gp_cli dl dt{
  display:table-cell;
  width:28.8%;
}

.group_box .group_ul.gu02 .gp_cli dl dd{
  display: table-cell;
  vertical-align: middle;
  font-size: 1rem;
  color: #86731b;
  padding-left: 5%;
  line-height: 1.3;
  letter-spacing: -0.05rem;
}

.group_box .group_ul.gu02 .gp_cli dl dd span{
  font-size:1rem;
  letter-spacing:-0.05rem;
  background:url(../img/ico_target_cli.png) no-repeat right center;
  background-size:13px 13px;
  padding-right:18px;
}

.group_box .group_ul.gu03{
  width:17.5%;
}

.group_box .group_ul.gu03 .gp_hom{
  width:100%;
}


.group_box .group_ul.gu03 .gp_hom dl{
  display:table;
}

.group_box .group_ul.gu03 .gp_hom dl dt{
  display:table-cell;
  width:33.7%;
}

.group_box .group_ul.gu03 .gp_hom dl dd{
  display:table-cell;
  vertical-align:middle;
  font-size:0.72rem;
  color:#3a2190;
  padding-left:5%;
  line-height:1.4;
  letter-spacing:-0.02rem;
}

.group_box .group_ul.gu03 .gp_hom dl dd span{
  font-size:1rem;
  letter-spacing:-0.05rem;
  background:url(../img/ico_target_hom.png) no-repeat right center;
  background-size:13px 13px;
  padding-right:18px;
}


@media screen and (max-width : 767px) {

  .group_box {
    max-width: 100%;
    width: 92%;
    margin: 0 auto 7%;
    padding: 0;
    border-top:none;
    border-bottom:none;
  }


  .group_box p{
    width:74%;
    float:none;
    padding-left:13%;
    padding-right:13%;
    padding-bottom:4.7%;
    border-right:none;
    border-bottom:1px solid #e8e8e8;
    margin-bottom:6.6%;
  }

  .group_box p{
    max-width:100%;
  }

  .group_box .gu_outer{
    width:100%;
    float:none;
    margin-left:0;
  }

  .group_box .group_ul{
    float:none;
  }

  .group_box .group_ul.gu01{
    width:100%;
    margin-bottom:6.5%;
  }

  .group_box .group_ul.gu01 .gp_gp{
    width:48.5%;
    float:left;
  }

  .group_box .group_ul.gu01 .gp_gp dl dt{
    display:table-cell;
    width:28.4%;
  }

  .group_box .group_ul.gu01 .gp_gp dl dd{
    display:table-cell;
    vertical-align:middle;
    font-size:1rem;
    color:#5c7b1a;
    padding-left:5%;
    line-height:1.4;
  }

  .group_box .group_ul.gu01 .gp_gp dl dd span{
    background-size:10px 10px;
    padding-right:13px;
  }


  .group_box .group_ul.gu01 .gp_hos{
    width:48.5%;
    float:left;
  }

  .group_box .group_ul.gu01 .gp_hos dl dt{
    display:table-cell;
    width:28.4%;
  }

  .group_box .group_ul.gu01 .gp_hos dl dd{
    display:table-cell;
    vertical-align:middle;
    font-size:1rem;
    color:#5c7b1a;
    padding-left:5%;
    line-height:1.4;
  }

  .group_box .group_ul.gu01 .gp_hos dl dd span{
    background-size:10px 10px;
    padding-right:13px;
  }

  .group_box .group_ul.gu02{
    width:100%;
    margin-bottom:6.5%;
  }

  .group_box .group_ul.gu02 .gp_sol{
    width:48.5%;
    float:left;
  }

  .group_box .group_ul.gu02 .gp_sol dl{
    display:table;
  }

  .group_box .group_ul.gu02 .gp_sol dl dt{
    display:table-cell;
    width:28.4%;
  }

  .group_box .group_ul.gu02 .gp_sol dl dd{
    display:table-cell;
    vertical-align:middle;
    font-size:0.72rem;
    color:#ac1454;
    padding-left:5%;
    line-height:1.4;
    letter-spacing:-0.02rem;
  }

  .group_box .group_ul.gu02 .gp_sol dl dd span{
    font-size:1rem;
    letter-spacing:-0.08rem;
  }

  .group_box .group_ul.gu02 .gp_sol dl dd span{
    background-size:10px 10px;
    padding-right:13px;
  }

  .group_box .group_ul.gu02 .gp_cli{
    width:51.5%;
    float:right;
  }

  .group_box .group_ul.gu02 .gp_cli dl{
    display:table;
  }

  .group_box .group_ul.gu02 .gp_cli dl dt{
    display:table-cell;
    width:26.5%;
  }

  .group_box .group_ul.gu02 .gp_cli dl dd{
    display:table-cell;
    vertical-align:middle;
    font-size:1rem;
    color:#86731b;
    padding-left:5%;
    line-height:1.3;
    letter-spacing:-0.05rem;
  }

  .group_box .group_ul.gu02 .gp_cli dl dd span{
    background-size:10px 10px;
    padding-right:13px;
  }

  .group_box .group_ul.gu03{
    width:100%;
  }

  .group_box .group_ul.gu03 .gp_hom{
    width:48.5%;
  }

  .group_box .group_ul.gu03 .gp_hom dl{
    display:table;
  }

  .group_box .group_ul.gu03 .gp_hom dl dt{
    display:table-cell;
    width:28.4%;
  }

  .group_box .group_ul.gu03 .gp_hom dl dd{
    display:table-cell;
    vertical-align:middle;
    font-size:0.72rem;
    color:#3a2190;
    padding-left:5%;
    line-height:1.4;
    letter-spacing:-0.02rem;
  }

  .group_box .group_ul.gu03 .gp_hom dl dd span{
    font-size:1rem;
    letter-spacing:-0.05rem;
    background-size:10px 10px;
    padding-right:13px;
  }

}




/* ここからuseful.css------------------------------------------------------------- */

/* 改行対策 */
@media all and (min-width: 768px) {
  br.pc_obj {
    display: inline-block;
  }
}

/*------------------------------------------------------------
  共通MV
------------------------------------------------------------*/

.mv_area .inner{
  height: 180px;
  display:table;
}

.mv_area .ttl_mv {
  display:table-cell;
  vertical-align:middle;
  color: #7962c5;/* 通常より濃い */
  font-size: 2.14rem;
  line-height: 1.35;
  padding-left:25px;
  -moz-text-shadow: #fbfcf7 1px 1px 15px, #fbfcf7 -1px 1px 15px,#fbfcf7 1px -1px 15px, #fbfcf7 -1px -1px 15px, #fbfcf7 0px 0px 15px, #fbfcf7 1px 1px 15px, #fbfcf7 -1px 1px 15px,#fbfcf7 1px -1px 15px, #fbfcf7 -1px -1px 15px, #fbfcf7 0px 0px 15px,#fbfcf7 1px 1px 15px, #fbfcf7 -1px 1px 15px, #fbfcf7 1px -1px 15px, #fbfcf7 -1px -1px 15px, #fbfcf7 0px 0px 15px;
  text-shadow: #fbfcf7 1px 1px 15px, #fbfcf7 -1px 1px 15px,#fbfcf7 1px -1px 15px, #fbfcf7 -1px -1px 15px, #fbfcf7 0px 0px 15px, #fbfcf7 1px 1px 15px, #fbfcf7 -1px 1px 15px,#fbfcf7 1px -1px 15px, #fbfcf7 -1px -1px 15px, #fbfcf7 0px 0px 15px,#fbfcf7 1px 1px 15px, #fbfcf7 -1px 1px 15px, #fbfcf7 1px -1px 15px, #fbfcf7 -1px -1px 15px, #fbfcf7 0px 0px 15px;
}

/* タイトル一行目小さい */
.mv_area .ttl_mv.small:first-line {
  font-size: 1.28rem;/* 18 */
}

@media screen and (max-width : 768px) {
  
  .mv_area {
    padding: 10% 0;
    background-color: #f7f7f0;
    background-image: none;
  }
  
  .mv_area:not(.top) {
    background: #f7f7f0 !important;
  }
  
  .mv_area .inner{
    height:auto;
    display:block;
  }

  .mv_area .ttl_mv {
    display:block;
    vertical-align:middle;
    font-size: 1.72rem;
    font-weight: bold;
    text-align: center;
    padding-left:0;
  }
  
  .mv_area:not(.top) .ttl_mv {
    text-shadow: none !important;
  }
}

/* トップのみ */

.mv_area.top .inner{
  height:320px;
}

.mv_area.top .ttl_mv {
  font-size:2.42rem;
}


@media screen and (max-width : 768px) {
  
  .mv_area.top {
    padding-top: 45%;
    background-size: cover !important;
    position: relative;
  }

  .mv_area.top .inner{
    height: auto;
  }
  
  .mv_area.top .ttl_mv {
    display:block;
    width: 92%;
    position: absolute;
    top: 50%;
    left: 4%;
    font-size: 1.72rem;
    font-weight: bold;
    text-align: center;
    padding-left:0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

}


/*--------------------
  box_2main
--------------------*/

.box_2main {
  padding: 40px 20px 110px 35px;
  border-left: 1px solid #e5e5e5;
  position: relative;
}

.box_2main img{
  width:100%;
  height:auto;
}

.box_2main .space{
  text-indent:1em;
}

.box_2main .m_space{
  margin-left:1em;
}

.box_2main .one_block {
  margin-bottom:5.7%;
}

@media all and (max-width: 767px) {

  .box_2main {
    padding: 8.6% 4% 0;
    border-left: none;
  }

  /* SP版間隔 */
  .box_2main section + section {
    margin-top: 13.8%;
  }

}


/*--------------------
  レイアウト周り
--------------------*/

/* sidebar 高さが足りない場合 asideを高くする指定
  .contents_wrapにclass="aside_s" を追加 */

@media all and (min-width: 768px) {
  
  .aside_s .wrap_inner main{
    border-left: 1px solid #e5e5e5;
  }

  .aside_s .breadcrumb{
    border-left:none;
  }

  .aside_s .box_2main{
    border-left:none;
  }

  .aside_s .box_aside {
    padding-bottom: 130px;
  }

}



/*--------------------
  タイトル指定
--------------------*/

/* h2 横に線つき レイアウト */
.box_2main .side {
  font-size: 1.71rem;
  padding: 6px 0 10px 12px;
  border-left: 2px solid #a18aed;
  line-height: 1;
  font-family: 'Noto Serif Japanese', serif;
  font-weight: 800;
  margin-bottom:1.6rem;
}

.box_2main .side02 {
  font-size: 1.15rem;
  padding: 6px 0 10px 12px;
  border-left: 2px solid #dd960f;
  line-height: 1;
  font-family: 'Noto Serif Japanese', serif;
  font-weight: 800;
  margin-bottom:1.6rem;
}


.box_2main span.date {
  vertical-align: middle;
  font-size: 1rem;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
  padding-left: 10px;
  font-weight:normal;
}

.box_2main .ttl_area{
  position:relative;
}

.box_2main .ttl_area span.date{
  position:absolute;
  right:0;
  bottom:10px;
}


/*もともとh3 fontsize 1.14 */
.box_2main .subttl_b{
  font-size: 1.14rem;
  font-weight: bold;
  line-height: 1.78;
  margin-bottom: 1rem;
}

/*もともとh4* font-size:1 */
.box_2main .subttl_s{
  font-weight: bold;
  line-height: 1.78;
  margin-bottom: 1rem;
  font-size:1rem;
}

/* 緑下線 */
.box_2main .under {
  font-size: 1.14rem;
  padding-bottom: .3rem;
  border-bottom: 1px solid #a18aed;
  margin-bottom: 1.3rem;
  font-weight:bold;
}

/* ドット付タイトル */
.box_2main .ttl_dots{
  font-weight: bold;
  margin-bottom: 1.2rem;
  line-height:1;
  font-size:1.08rem;
}

.box_2main .ttl_dots:before {
  content: '';
  display: inline-block;
  width:11px;
  height: 11px;
  border-radius: 50%;
  background-color: #a18aed;
  vertical-align: middle;
  margin-right: 10px;
  margin-top:-2px;
}

@media screen and (max-width : 768px) {

  .box_2main .side {
    font-size: 1.36rem;
    line-height: 1.4;
    padding: 2% 3% 2.5% 2%;
    margin-bottom: 6%;
  }

  .box_2main span.date {
    font-size: 0.86rem;
  }

  /*もともとh3*/
  .box_2main .subttl_b{
    font-size: 1.14rem;
    font-weight: bold;
    line-height: 1.78;
    margin-bottom: 1.5%;
  }

  /*もともとh4*/
  .box_2main .subttl_s{
    font-size: 1.08rem;
    font-weight: bold;
    line-height: 1.78;
    margin-bottom: 1.5%;
  }

  .box_2main .under {
      margin-bottom: 3%;
  }
  
  /*どっとタイトル*/
  .box_2main .ttl_dots{
    line-height:1.4;
    margin-left:15px;
    text-indent:-17px;
  }

  .box_2main .ttl_dots:before {
    margin-right: 5px;
  }

}

/*お問い合わせBOX*/

.box_2main .tel_box {
  background: #faf7f0;
  padding: 3.2%;
}

.box_2main .tel_box .num{
  font-size:2.5rem;
  line-height:1;
  text-align:center;
}

.box_2main .tel_box .num span{
  font-size:1.5rem;
  padding:0 35px;
  margin-right:2%;
  display:inline-block;
  line-height:2.5rem;
  vertical-align:top;
}

@media screen and (max-width : 768px) {

/*
  .box_2main .tel_box {
    padding: 5% 4%;
    }
*/

  .box_2main .tel_box {
    padding: 5.5% 3.2%;
  }
  
/*
  .box_2main .tel_box .num{
    font-size:1.65rem;
    line-height:1;
    padding-left:25px;
  }
*/
  
  .box_2main .tel_box .num{
    padding-left:0;
    font-size:1.78rem;
  }

  .box_2main .tel_box .num span{
    display:inline-block;
    padding: 0;
    text-align: left;
    min-width: 1px;
    font-size: 0.92rem;
    vertical-align: middle;
    margin-right: 16px;
    line-height:1;
    margin-bottom:2.5%;
  }

}

.box_2main .pdf a:after {
  content: 'PDF';
  color: #f46162;
  font-size: 0.72rem;
  display: inline-block;
  vertical-align: middle;
  padding-left: 15px;
  line-height: 1.8;
  min-height: 13px;
  background: url(../img/ico_pdf_02.png) left center no-repeat;
  margin-left: 1rem;
  margin-top: -2px;
  margin-right: -1rem;/* 追記 */
}

.box_2main .word a:after {
  content: 'DOC';
  color: #323fe4;
  font-size: 0.72rem;
  display: inline-block;
  vertical-align: middle;
  padding-left: 15px;
  line-height: 1.8;
  min-height: 13px;
  background: url(../img/ico_word_02.png) left center no-repeat;
  margin-left: 1rem;
  margin-top: -2px;
}

.box_2main .kome{
  font-size:0.93rem;
  margin-left:1em;
  text-indent:-1em;
  line-height:1.78;
}

/* paddingありの汎用ボックス */
.box_2main .box_wrap {
  padding: 3.2%;
}

/*--------------------
  基本テキスト
--------------------*/

/* リード文 */
.box_2main .lead {
  font-size: 1.14rem;
  line-height: 1.86;
  margin-bottom: 4%;
  text-indent: 1em;
}

.box_2main .lead + .lead {
  margin-top: -4%;
}

.box_2main .text {
  line-height:1.78;
}

.box_2main .text02 {
  line-height:2;
}

.box_2main .font_b {
  font-weight:bold;
}

.box_2main .nowrap {
  white-space: nowrap;
}


/* キャプション */
.box_2main span.caption {
  display: block;
  margin-top: 0.7rem;
  font-size: 0.86rem;
  line-height: 1.6;
}

@media all and (max-width: 767px) {

  .box_2main .lead {
    font-size: 1rem;
    line-height: 1.78;
    margin-bottom:8%;
  }

  .box_2main .text{
    font-size:0.93rem;
    line-height:1.84;
  }

}


/*--------------------
  基本ボタン
--------------------*/

/* 薄紫背景 黒文字 紫矢印 */
.box_2main .btn a,
.box_2main .btn_blank a,
.box_2main .btn_glass a {
  display: block;
  background: #f9f7fc;
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #a18aed;
  border-radius: 2px;
  padding: 0.7rem 2rem 0.7rem 1.2rem;
  line-height: 1.5;
  text-align:center;
}

.box_2main .btn span,
.box_2main .btn_blank span,
.box_2main .btn_glass span{
  display: inline-block;
  position: relative;
}

/* → */
.box_2main .btn a span:after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-top: 2px solid #a18aed;
  border-right: 2px solid #a18aed;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 10px;
  vertical-align: middle;
  margin-top: -3px;
  position: absolute;
  right: -13px;
  top: 50%;
  -webkit-transition: right 0.2s;
  transition: right 0.2s;
}

.box_2main .btn a:hover span:after {
  right: -16px;
}

/* blankアイコン */
.box_2main .btn_blank a span:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../img/ico_target.png) center no-repeat;
  vertical-align: middle;
  margin-left: 10px;
  margin-right: -1rem;
  margin-top: -1px;
}

/* 日野病院blankアイコン */
.box_2main .btn_glass a span:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 20px;
  background: url(../../about/img/icon_glass.png) center no-repeat;
  background-size:100% auto;
  vertical-align: middle;
  margin-left: 10px;
  margin-right: -1rem;
  margin-top: -1px;
}

.box_2main .btn a:hove,
.box_2main .btn_blank a:hover{
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}

/*お問い合わせなど 紫背景 白文字 白矢印 */
.box_2main .btn_blank.white a,
.box_2main .btn.white a {
  background: #a18aed;
  border: 1px solid #a18aed;
  color: #fff;
}

/* → */
.box_2main .btn.white a span:after {
  border-top: 2px solid  #fff;
  border-right: 2px solid  #fff;
}

/*お問い合わせなど 緑背景 白文字 blank */

.box_2main .btn_blank.white a span:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../img/ico_target_w.html) center no-repeat;
  vertical-align: middle;
  margin-left: 10px;
  margin-right: -1rem;
  margin-top: -1px;
}


/*--------------------
  カラムレイアウト
--------------------*/

/* ワンカラム */
.box_2main .one_box{
  line-height:1.78;
}

.box_2main .one_box dt{
  font-weight: bold;
  margin-bottom: 0.3rem;
}

.box_2main .one_box dd:not(:last-of-type) {
  margin-bottom: 1em;
  padding-bottom: 0.7em;
  border-bottom: 1px solid #e0e0e0;
}


/* 左2/3テキスト */
.box_2main .two_box01{
  margin-bottom:5.7%;
}

.box_2main .two_box01 .left {
  float: left;
  width: 66%;
  line-height: 1.78;
}


.box_2main .two_box01 .right {
  width: 31%;
  float: right;
  line-height: 1.5;
}


/* 左2/3テキスト 左側上下にわかれている */
.box_2main .two_box02{
  margin-bottom:5.7%;
}

.box_2main .two_box02 .text.first{
  border-bottom:1px solid #e0e0e0;
  padding-bottom:2%;
  margin-bottom:3%;
}

.box_2main .two_box02 .left {
  float: left;
  width: 66%;
  line-height: 1.78;
}

.box_2main .two_box02 .left dl dt{
  font-weight:bold;
  margin-bottom:0.3rem;
}

.box_2main .two_box02 .left dl dd:not(:last-of-type) {
  margin-bottom: 1em;
  padding-bottom: 0.7em;
  border-bottom: 1px solid #e0e0e0;
}


.box_2main .two_box02 .right {
  width: 31%;
  float: right;
  line-height: 1.5;
}


/* 右2/3テキスト */
.box_2main .two_box03{
  margin-bottom:5.7%;
}

.box_2main .two_box03 .left {
  float: left;
  width: 31%;
  line-height: 1.5;
}

.box_2main .two_box03 .right {
  width: 66%;
  float: right;
  line-height: 1.78;
}

/*右2/3画像 SP時に画像2カラム*/
.box_2main .two_box04{
  margin-bottom:5.7%;
}

.box_2main .two_box04 .left {
  float: left;
  width: 31%;
  line-height: 1.78;
}


.box_2main .two_box04 .right {
  width: 65.5%;
  float: right;
  line-height: 1.5;
}

.box_2main .two_box04 .right ul li{
  width:47.33%;
  float:left;
}

.box_2main .two_box04 .right ul li:last-child{
  float:right;
  margin-right:0;
}

/* 3画像横並び */
.box_2main .three_box{
  margin-bottom:5.7%;
}

.box_2main .three_box ul li{
  width:31%;
  float:left;
  margin:0 3.5% 0 0;
  line-height:1.78;
}

.box_2main .three_box ul li:last-child{
  margin: 0;
}

.box_2main .sepa_box{
  margin:0 0 5.7%;
}

.box_2main .sepa_box .one_box{
  width:46%;
}

.box_2main .sepa_box .one_box.left{
  float:left;
}

.box_2main .sepa_box .one_box.right{
  float:right;
}


@media screen and (max-width : 768px) {

  /*ワンカラム*/
  .box_2main .one_box{
    font-size:0.93rem;
  }

  /*左2/3テキスト sp*/
  .box_2main .two_box01 {
    margin-bottom: 8%;
  }
  
  .box_2main .two_box01 .left {
    float: none;
    width: 100%;
    margin:0 0 3%;
    font-size:0.93rem;
  }

  .box_2main .two_box01 .right {
    width: 100%;
    float: none;
    line-height: 1.5;
    font-size:0.93rem;
  }

  /*左2/3テキスト 左側上下にわかれている sp*/
  .box_2main .two_box02 .left {
    float: none;
    width: 100%;
    margin:0 0 3%;
    font-size:0.93rem;
  }

  .box_2main .two_box02 .right {
    width: 100%;
    float: none;
    font-size: 0.93rem;
    line-height: 1.5;
  }

  /*右2/3テキスト sp*/
  .box_2main .two_box03 .left {
    float: none;
    width: 100%;
    font-size:0.93rem;
  }

  .box_2main .two_box03 .right {
    width: 100%;
    float: none;
    font-size:0.93rem;
    line-height: 1.5;
    margin:0 0 3%;
  }

  /*右2/3画像 SP時に画像2カラム*/

  .box_2main .two_box04 .left {
    float: none;
    width: 100%;
    margin:0 0 3%;
    font-size:0.93rem;
  }


  .box_2main .two_box04 .right {
    width: 100%;
    float: none;
    font-size:0.93rem;
    line-height: 1.5;
  }

  /*3画像横並び sp*/

  .box_2main .three_box ul li{
    width:100%;
    float:none;
    margin:0 0 5.7%;
  }

  .box_2main .three_box ul li:last-child{
    margin: 0;
  }

  .box_2main .sepa_box .one_box{
    width:100%;
  }

  .box_2main .sepa_box .one_box.left{
    float:none;
    margin:0 0 10%;
  }

  .box_2main .sepa_box .one_box.right{
    float:none;
  }

}


/*--------------------
  リスト関連
--------------------*/

/* ドットつきリスト */
.box_2main .dots li{
  border-bottom:1px solid #ededed;
  padding: 0.7rem 5px;
  line-height: 1.85;
  margin-left:16px;
  text-indent:-16px;
}

.box_2main .dots li:before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #000000;
  vertical-align: middle;
  margin-right: 10px;
}

/* リスト前に数字付きのボックス */
.box_2main .numbox {
  margin-top: -1.7%;
}

.box_2main .numbox li {
  line-height: 1.8;
  padding: 1.7% 0;
  text-indent: -2em;
  padding-left: 2em;
  border-bottom: 1px solid #e0e0e0;
}

.box_2main .numbox span {
  width: 2em;
  height: 2em;
  margin-right: 0.5em;
  text-align: center;
  display: inline-block;
  background: #a18aed;
  color: #fff;
  font-weight: bold;
  line-height: 2;
  vertical-align: middle;
  text-indent: 0;
  margin-top: -2px;
  font-size: 0.85rem;
}

@media all and (max-width: 767px) {

  /*ドットつきリスト*/
  .box_2main .dots li{
    line-height: 1.8;
    margin-left:1em;
    text-indent:-1em;
    font-size:0.93rem;
  }

  /* リスト前に数字付きのボックス */
 .box_2main .numbox {
    margin-top: 0;
  }

 .box_2main .numbox li {
    padding: 3.6% 0;
    line-height: 1.45;
    text-indent: -2.3em;
    padding-left: 2.3em;
    font-size: 0.92rem;
  }

}


/*--------------------
  テーブルレイアウト
--------------------*/

.box_2main table.tbl01 {
  width: 100%;
}

.box_2main table.tbl01 th,
.box_2main table.tbl01 td {
  border-bottom: 1px solid #e0e0e0;
  box-sizing: border-box;
  padding: 0.7rem;
  line-height: 1.5;
  text-align: left;
  line-height: 1.85;
  vertical-align:middle;
}

.box_2main table.tbl01 th {
  width: 18%;
  padding-left: 1em;
  box-sizing: border-box;
}

.box_2main table.tbl01 td ul li{
  margin-left:14px;
  text-indent:-14px;
}

.box_2main table.tbl01 td ul li:before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #000000;
  vertical-align: middle;
  margin-right: 10px;
}

@media screen and (max-width : 768px) {

  .box_2main table.tbl01 {
    width: 100%;
    font-size:0.93rem;
  }

  .box_2main table.tbl01 th,
  .box_2main table.tbl01 td {
    display: block;
    width: 100%;
    line-height: 1.8;
    padding:0.7rem 0;
  }

  .box_2main table.tbl01 th {
    width: 100%;
    padding-bottom:0;
    box-sizing: border-box;
    border-right:none;
    border-bottom:none;
    font-weight: bold;
  }

}


/*--------------------
  ボックスレイアウト
--------------------*/

/*クリーム色背景 ボックス */
.box_2main .band{
  background: #a18aed;
  font-size:1.43rem;
  text-align:center;
  padding:2.5%;
  margin:0 0 2%;
  color: #fff;
}

@media all and (max-width: 767px) {

  .box_2main .band{
    font-size:1.15rem;
    padding:2%;
    line-height:1.4;
    margin:0 0 4%;
  }

}

/* ページ上部にあるSPでアコーディオンボックスになるボタン*/


.box_2main .top_links {
  margin-bottom: 6.5%;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
}


@media all and (min-width: 768px) {

  .box_2main .top_links {
    display: block !important;
    font-family: 'Noto Serif Japanese', serif;
    font-weight: 500;
    max-width:960px;
  }
}

.box_2main .top_links li {
  float: left;
  text-align: center;
  border-top: 1px solid #e0e0e0;
  border-left: 1px solid #e0e0e0;
  box-sizing: border-box;
  display: table;
  line-height:1.4;
}

.box_2main .top_links li a {
  padding: 1rem 0;
  text-decoration: none;
  font-size: 1.14rem;
  display:table-cell;
  vertical-align:middle;
  position:relative;
}

/* 下向き矢印 */
.box_2main .top_links li a:after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-bottom: 2px solid #a18aed;
  border-right: 2px solid #a18aed;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 10px;
  vertical-align: middle;
  margin-top: -4px;
  -webkit-transition: margin-top 0.2s;
  transition: margin-top 0.2s;
}

.box_2main .top_links li a:hover:after {
  margin-top: 4px;
}

.box_2main .top_links li.active a:before,
.box_2main .top_links li a:hover:before {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #a18aed;
  position: absolute;
  bottom: -1px;
}


/* 横向き矢印はclass="arrow_r" */
.box_2main .top_links.arrow_r li a:after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-top: 2px solid #a18aed;
  border-right: 2px solid #a18aed;
  border-bottom: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 10px;
  vertical-align: middle;
  margin-top: -4px;
  position: relative;
  left: 0;
  -webkit-transition: left 0.2s;
  transition: left 0.2s;
}

.box_2main .top_links.arrow_r li a:hover:after {
  left: 4px;
  margin-top: -4px;
}


@media all and (max-width: 767px) {

  /* SPのみプルダウン */
  .pull_wrap {
    border: 1px solid #e0e0e0;
    text-align: center;
    margin-bottom: 15.8%;
  }

  .pull_wrap .pull_btn {
    padding: 1.5em;
    cursor: pointer;
    font-size: 1rem;
  }

  .pull_wrap .pull_btn:after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-right: 2px solid #a18aed;
    border-bottom: 2px solid #a18aed;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 10px;
    vertical-align: middle;
    margin-top: -4px;
    position: relative;
    left: 0;
    -webkit-transition: transform 0.2s;
    transition: transform 0.2s;
  }


  .pull_wrap .pull_btn.active:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

  .box_2main .top_links {
    width: 100%;
    margin: 0 auto;
    border-right: none;
    border: none;
  }

  .box_2main .top_links li {
    width : 100%;
    float: none;
    border: none;
    border-top: 1px solid #e6e6e6;
  }

  .box_2main .top_links li a {
    font-size: 1rem;
    display:block;
}

  /* ホバーアニメなし */
  .box_2main .top_links li a:after {
    content: none;
  }

  .box_2main .top_links li.active a:before,
  .box_2main .top_links li a:hover:before {
    content: none;
  }

}


/* お問い合わせエリア--*/
/* /access/bus.html */

.box_2main .contact_box {
  background: #faf7f0;
  padding: 5.5% 3.2%;
}

.box_2main .contact_box .left {
  float: left;
  width: 46.5%;
}

.box_2main .contact_box h4 {
  font-weight: bold;
  margin-bottom: 5.5%;
}

.box_2main .contact_box h4:before {
  content: '';
  display: inline-block;
  width:11px;
  height: 11px;
  border-radius: 50%;
  background-color: #a18aed;
  vertical-align: top;
  margin-right: 5px;
}

/* left */

.box_2main .contact_box .left dl {
  margin-top: 3%;
}

.box_2main .contact_box .left dl:first-of-type dd {
  font-size: 2.42rem;
}

.box_2main .contact_box .left dt {
  display: inline-block;
/*  background: #fff;*/
  padding: 0.5em 1em;
  text-align: center;
  min-width: 4em;
  font-size: 1.5rem;
  vertical-align: middle;
  margin-right: 16px;
}

.box_2main .contact_box .left dd {
  display: inline-block;
  font-size: 1.42rem;
  vertical-align: middle;
}

/* right */

.box_2main .contact_box .right {
  float: right;
  /*width: 46.5%;*/
  width: 50%;
}

.box_2main .contact_box .right p a {
  display: block;
  background: #a18aed;
  text-decoration: none;
  border-radius: 3px;
  font-weight: bold;
  text-align: center;
  padding: 0.8em;
  color: #fff;
}

.box_2main .contact_box .right p a:not(.blank):after {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 10px;
  vertical-align: middle;
  position: relative;
  left: 0;
  -webkit-transition: left 0.2s;
  transition: left 0.2s;
}

/* 矢印のみアニメーション */
.box_2main .contact_box .right p a:not(.blank):hover:after {
  left: 6px;
}

.box_2main .contact_box .right p a.blank:after {
  content: '';
  display: inline-block;
  width: 15px;
  height: 15px;
  background: url(../img/ico_target_w.html) center no-repeat;
  vertical-align: middle;
  margin-left: 10px;
  margin-top: -1px;
  transform: none;
}

@media all and (max-width :767px) {

  .box_2main .contact_box .left,
  .box_2main .contact_box .right {
    float: none;
    width: 100%;
  }

  .box_2main .contact_box .left {
    margin-bottom: 6.5%;
  }

  .box_2main .contact_box .right p a {
    display: block;
    background: #a18aed;
    text-decoration: none;
    border-radius: 3px;
    font-weight: bold;
    text-align: center;
    padding: 1.2em;
    color: #fff;
  }

  .box_2main .contact_box .right p a:not(.blank):after {
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-left: 10px;
    vertical-align: middle;
    position: relative;
    left: 0;
    -webkit-transition: left 0.2s;
    transition: left 0.2s;
  }

  /* 矢印のみアニメーション */
  .box_2main .contact_box .right p a:not(.blank):hover:after {
    left: 6px;
  }


  .box_2main .contact_box .right p a.blank:after {
    content: '';
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../img/ico_target_w.html) center no-repeat;
    vertical-align: middle;
    margin-left: 10px;
    margin-top: -1px;
    -webkit-transform: none;
    transform: none;
  }

  .box_2main .contact_box .left dt {
    display: inline-block;
    padding: 0.5em 1em;
    text-align: left;
    min-width: 4em;
    font-size: 0.92rem;
    vertical-align: middle;
    margin-right: 16px;
  }

  .box_2main .contact_box .left dl:first-of-type dd {
    font-size: 1.78rem;
  }
}


/*--------------------
  各施設色分け
--------------------*/

/* 日野病院 hino_hospital */
.box_2main .hino_hospital {
  color: #aec31d;
}

.box_2main .hino_hospital_bg {
  background: #aec31d;
}


/* ソルヴィラージュ vilage */
.box_2main .vilage {
  color: 2px solid #f689b7;
}

.box_2main .vilage_bg {
  background: #f689b7;
}


/* 日野クリニック hino_clinic */
.box_2main .hino_clinic {
  color: 2px solid #dfc02d;
}

.box_2main .hino_clinic_bg {
  background: #dfc02d;
}


/* 在宅サービス homecare */
.box_2main .homecare {
  color: #6ac7fb;
}

.box_2main .homecare_bg {
  background: #6ac7fb;
}


/* ソルメゾン maison */
.box_2main .maison {
  color: #a18aed;
}

.box_2main .maison_bg {
  background: #a18aed;
}
