@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap');
/*---------------------------------------------------------------
Default Layout
---------------------------------------------------------------*/
html {
	overflow-y:scroll;
	font-size:62.5% !important;
}
body {
	width:100%;
	margin:0;
	padding:0;
	color:#222;
    font-family:"Zen Maru Gothic","游ゴシック Medium",YuGothic,YuGothicM,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
    font-weight: 500;
	line-height:1.6;
	font-size:16px;
	font-size:1.6rem;
    letter-spacing: 0.1em;
	word-wrap : break-word;
	overflow-wrap : break-word;
    background: #fff url(/images/bg.jpg) 0 0 repeat;
}

/* --- link --- */
a,
a:link,
a:visited {
	color:#286197;
	outline:none;
	text-decoration:underline;
}
a:hover,
a:active,
a:focus {
	color:#e94e66;
	text-decoration:underline;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
}
/* --- 通常文字色・下線なし ＋ hoverで色変・下線なし--- */
header a,
header a:link,
header a:visited,
.newsArea a,
.newsArea a:link,
.newsArea a:visited,
.serviceArea a,
.serviceArea a:link,
.serviceArea a:visited,
.letterArea a,
.letterArea a:link,
.letterArea a:visited,
footer a,
footer a:link,
footer a:visited{
	color:#222;
	outline:none;
	text-decoration:none;
}
header a:hover,
header a:active,
header a:focus,
.newsArea a:hover,
.newsArea a:active,
.newsArea a:focus,
.serviceArea a:hover,
.serviceArea a:active,
.serviceArea a:focus,
.letterArea a:hover,
.letterArea a:active,
.letterArea a:focus,
footer a:hover,
footer a:active,
footer a:focus{
	color:#e94e66;
	text-decoration:none;
}
a.s_arrow,
a.s_arrow:link,
a.s_arrow:visited{
	color:#222;
    text-decoration:none;
}
a.s_arrow:hover,
a.s_arrow:active,
a.s_arrow:focus{
	color: #222;
}
a .s_name,
a .s_name:link,
a .s_name:visited{
	color: #e94e66;
}
a.btn,
a.btn:link,
a.btn:visited,
nav ul li.inquiry a,
nav ul li.inquiry a:link,
nav ul li.inquiry a:visited{
 	color:#fff;
	text-decoration:none; 
    background: #2698D5;
}
a.btn:hover,
a.btn:active,
a.btn:focus,
nav ul li.inquiry a:hover,
nav ul li.inquiry a:active,
nav ul li.inquiry a:focus{
	color:#fff;
	text-decoration:none;
    background:#e94e66;
}
.pageList a,
.pageList a:link,
.pageList a:visited{
	text-decoration:none;
}
a:hover img:not(.swiper a:hover img),
a:active img:not(.swiper a:active img),
a:focus img:not(.swiper a:focus img) {
	opacity:0.8;
	filter:alpha(opacity=80);
	-o-opacity:0.8;
	-ms-filter:"alpha(opacity=80)";
	-moz-opacity:0.8;
	-webkit-opacity:0.8;
	transition:opacity .2s linear;
	-o-transition:opacity .2s linear;
	-ms-transition:opacity .2s linear;
	-moz-transition:opacity .2s linear;
	-webkit-transition:opacity .2s linear;
}
a img {
	border-style: none;
}
ul,
ol {
	margin:0;
	padding:0;
}
ul li,
ol li {
	list-style: none;
}
img {
	max-width:100%;
	height:auto;
}
/*---------------------------------------------------------------
General Layout
---------------------------------------------------------------*/
/* --- clear fix --- */
.cf {zoom:1;}
.cf:before,.cf:after {content:""; display:table;}
.cf:after {clear:both;}

.clear {clear:both;}

.img-l {
	float:left;
	margin:0 20px 20px 0;
}
.img-r {
	float:right;
	margin:0 0 20px 20px;
}
.txt{
    overflow: hidden;
}
.float-l {
	float: left;
}
.float-r {
	float: right;
}
.layout-l {
	text-align:left !important;
}
.layout-c {
	text-align:center !important;
}
.layout-r {
	text-align:right !important;
}
.layout-cm{
	text-align:center !important;
    margin: 0 auto;
}
.txt-large {
	font-size:20px;
	font-size:2.0rem;
}
.txt-small {
	font-size:12px;
	font-size:1.2rem;
}
.txt-red{
    color:#cf0e19;
}
.txt-read{
    line-height:2.0;
}
.dot{
border-bottom: 1px dotted #999;
}
.mgn_t0 {
	margin-top: 0px !important;
}
.mgn_t5 {
	margin-top: 5px !important;
}
.mgn_t10 {
	margin-top: 10px !important;
}
.mgn_t20 {
	margin-top: 20px !important;
}
.mgn_t30 {
	margin-top: 30px !important;
}
.mgn_t40 {
	margin-top: 40px !important;
}
.mgn_t60 {
	margin-top: 60px !important;
}
.mgn_t-5 {
	margin-top: -5px !important;
}
.mgn_t-10 {
	margin-top: -10px !important;
}
.mgn_t-20 {
	margin-top: -20px !important;
}
.mgn_t-30 {
	margin-top: -30px !important;
}
.mgn_t-40 {
	margin-top: -40px !important;
}
.mgn_t-60 {
	margin-top: -60px !important;
}
.mgn_b-5 {
	margin-bottom: -5px !important;
}
.mgn_b0 {
	margin-bottom: 0px !important;
}
.mgn_b5 {
	margin-bottom: 5px !important;
}
.mgn_b10 {
	margin-bottom: 10px !important;
}
.mgn_b20 {
	margin-bottom: 20px !important;
}
.mgn_b-20 {
	margin-bottom: -20px !important;
}
.mgn_b25 {
	margin-bottom: 25px !important;
}
.mgn_b30 {
	margin-bottom: 30px !important;
}
.mgn_b40 {
	margin-bottom: 40px !important;
}
.mgn_b60 {
	margin-bottom: 60px !important;
}

.mgn_r0 {
	margin-right: 0px !important;
}
.mgn_r5 {
	margin-right: 5px !important;
}
.mgn_r10 {
	margin-right: 10px !important;
}
.mgn_r20 {
	margin-right: 20px !important;
}
.mgn_r30 {
	margin-right: 30px !important;
}
.mgn_r40 {
	margin-right: 40px !important;
}

.mgn_l0 {
	margin-left: 0px !important;
}
.mgn_l5 {
	margin-left: 5px !important;
}
.mgn_l10 {
	margin-left: 10px !important;
}
.mgn_l20 {
	margin-left: 20px !important;
}
.mgn_l30 {
	margin-left: 30px !important;
}
.mgn_l40 {
	margin-left: 40px !important;
}

.pdg_t0 {
	padding-top: 0px !important;
}
.pdg_t5 {
	padding-top: 5px !important;
}
.pdg_t10 {
	padding-top: 10px !important;
}
.pdg_t20 {
	padding-top: 20px !important;
}
.pdg_t30 {
	padding-top: 30px !important;
}
.pdg_t35 {
	padding-top: 35px !important;
}
.pdg_t40 {
	padding-top: 40px !important;
}
.pdg_b0 {
	padding-bottom: 0px !important;
}
.pdg_b5 {
	padding-bottom: 5px !important;
}
.pdg_b10 {
	padding-bottom: 10px !important;
}
.pdg_b20 {
	padding-bottom: 20px !important;
}
.pdg_b30 {
	padding-bottom: 30px !important;
}
.pdg_b40 {
	padding-bottom: 40px !important;
}
.pdg_b60 {
	padding-bottom: 60px !important;
}

.pdg_r0 {
	padding-right: 0px !important;
}
.pdg_r5 {
	padding-right: 5px !important;
}
.pdg_r10 {
	padding-right: 10px !important;
}
.pdg_r20 {
	padding-right: 20px !important;
}
.pdg_r30 {
	padding-right: 30px !important;
}
.pdg_r40 {
	padding-right: 40px !important;
}
.pdg_r100 {
	padding-right: 100px !important;
}
.pdg_l0 {
	padding-left: 0px !important;
}
.pdg_l5 {
	padding-left: 5px !important;
}
.pdg_l10 {
	padding-left: 10px !important;
}
.pdg_l15 {
	padding-left: 10px !important;
}
.pdg_l20 {
	padding-left: 20px !important;
}
.pdg_l30 {

	padding-left: 30px !important;
}
.pdg_l40 {
	padding-left: 40px !important;
}
.pdg_l100 {
	padding-left: 100px !important;
}

.f10 {
	font-size: 10px !important;
}
.f12 {
	font-size: 12px !important;
}
.f14 {
	font-size: 14px !important;
}
.f16 {
	font-size: 16px !important;
}
.f18 {
	font-size: 18px !important;
}
.f20 {
	font-size: 20px !important;
}
.f21 {
	font-size: 21px !important;
}
.f22 {
	font-size: 22px !important;
}
.f24 {
	font-size: 24px !important;
}
.bold {
	font-weight: 700 !important;
}
.letter-n{
	letter-spacing:normal !important;
}
.letter-w{
	letter-spacing:0.125em !important;
}
.border{
	border:1px solid #858381;
	padding:1.5em;
    border-radius: 5px;
}
.borderLeft{ border-left:1px solid #ccc;}
.line{
	border-bottom:1px solid #222;
}
.nowrap{
	white-space: nowrap;
}
.br{
	display: inline-block;
}
.br_md{
    display: block;
}
rt{
    font-size:10px;
    font-size:1.0rem;
    font-weight: normal;
}
.marker{
    background: linear-gradient(transparent 70%, #f5d1dc 70%);
    padding:0 0.2em;
}
.vertical-t{
    vertical-align: top;
}
.vertical-m{
    vertical-align: middle;
}
.vertical-b{
    vertical-align: bottom;
}
.indent01{
    text-indent: 1em;
}
.indent02 {
  text-indent: -2em;
  padding-left: 2em;
}
/* --- 注釈 --- */
.cmt p{
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.cmt p::before {
  content: "※";
  padding-right:0.5em;
}
/* mt CSS collumn */
.collumn-2, .collumn-3 {
	margin-bottom: 80px;
	width: 100%;
	display: flex;
}
.collumn-2:last-child, .collumn-3:last-child {
	margin-bottom: 0;
}
.collumn-2 .mt-be-column, .collumn-3 .mt-be-column {
	width: 100%;
	margin-right: 80px;
}
.collumn-2 .mt-be-column:last-child, .collumn-3 .mt-be-column:last-child {
	margin-right: 0;
}
.collumn-2 h1, .collumn-3 h1 {
	font-weight: 100;
	font-size: 2.5rem;
	margin-bottom: 40px;
}
.collumn-2 .button, .collumn-3 .button {
	width: 80%;
}
.collumn-4 {
	width: 100%;
	display: flex;
	margin-bottom: 80px;
}
.collumn-4 .mt-be-column {
	width: 100%;
	margin-right: 40px;
}
.collumn-4 .mt-be-column:last-child {
	margin-right: 0;
}
.collumn-4 h1 {
	font-weight: 100;
	font-size: 2.5rem;
	margin-bottom: 32px;
	text-align: left;
}
.collumn-4 .button {
	width: 100%;
}
.collumn-2 p:last-child, .collumn-3 p:last-child, .collumn-4 p:last-child {
	margin-bottom: 0;
}
.mt-figure-center {
		text-align: center;
}
@media (max-width: 1024px) {
	.collumn-2, .collumn-3, .collumn-4 {
		display: block !important;
	}
	.collumn-2 .mt-be-column, .collumn-3 .mt-be-column, .collumn-4 .mt-be-column {
		margin: 0 0 28px 0;
	}
	.collumn-2 .button, .collumn-3 .button {
		width: 100%;
	}
}
hr {
	height: 0px;
	margin: 80px 0;
	border: none;
	border-top: 1px solid #cccccc;
}
/*
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
*/

/*---------------------------------------------------------------
共通要素のレイアウト
---------------------------------------------------------------*/
#page {
	position: relative;
}
h1,h2,h3,h4,h5,h6,th{
    font-weight: 500;
    font-style: normal;
}

/* ヘッダー
----------------------------------------------------*/
header {
  display: flex;
  width: 100%;
  align-items: center;
  height:110px;
}
header h1,
header p.logo{
 padding:0;
 display: inline-block;

}
.sp{
    display: none !important;
}

/* --- nav ---*/
nav{  
margin-left: auto;
margin-right: 10px;
/* width:calc(100% - 380px);*/
}
nav ul:not(header nav ul.sub-menu){
  display: flex;
  justify-content: flex-end;
 align-items: center;
  flex-wrap:nowrap;
}

nav ul li{
/* width:calc(100%/6);*/
/*    min-width: 170px;*/
    margin:0;
    text-align: center;
	font-size:1.8rem;
}
nav ul li a{
  display: block;
  padding:10px 10px;
  line-height: 1.0;
}
nav ul li+li{
    position: relative;
}
nav ul li+li:not(nav ul li ul li+li):before{
    content: "";
    display: block;
    height: 1em;
    border-left: 1px solid #999;
    position: absolute;
    top: 12px;
    left: 0;
    margin: auto;
}
nav ul li+li.inquiry:before{
    border-left: none;
}
nav ul li.inquiry a{
  margin-top:-0.5em;
  padding:15px 2em 8px;
 border-radius: 100px;
}
/* --- 該当ページ　アンダーバー ---*/
header nav ul li a:after {
	display: block;
	content: "";
	width: 0%;
	height: 2px;
	background: #e94e66;
	margin: 10px auto 0;
	transition: .25s ease-out;
	-webkit-transition: .25s ease-out;
	-moz-transition: .25s ease-out;
	-o-transition: .25s ease-out;
	-ms-transition: .25s ease-out;
}
header nav ul li a:hover:after,
header nav ul li.current a:after {
	width: 90%;
} 
nav ul li.inquiry a:after{
	background: #fff;
}
/* --- subnav ---*/
header nav ul.sub-menu {
	position: absolute;
	left: 0;
	width: 100%;
	padding-right: 1px;
	z-index: 10000;
	opacity: 0;
	top: 80%;
	visibility: hidden;
	transition: .5s;

}
header nav ul.sub-menu li {
    display:inherit;
	border-right:none;
	width: 350%;
    background: rgba(255,255,255,.9);
	font-size: 1.6rem;
}
header nav ul.sub-menu li:last-child {
	border-bottom:none;
}
header nav ul li:hover ul.sub-menu {
	display:block;
	top: 100%;
	visibility: visible;
	opacity: 1;
}
header nav ul.sub-menu li a {
	display: block;
	height: auto;
	padding: 1em;
	text-align: left;
	font-weight: normal;
	letter-spacing: 0;
	border-right: none;
	border-bottom:1px solid rgba(0,0,0,.2);
    line-height: 1.6;
}

header nav ul.sub-menu li a:hover,
header nav ul.sub-menu li a:active,
header nav ul.sub-menu li a:focus {
	color:#e94e66;
	text-decoration:underline;
}
header nav ul.sub-menu li a:after {
	display: block;
	content: "";
	width: 0%;
	height: 0;
	background-color:none;
	margin:auto;
	transition:0 none;
	-webkit-transition:0 none;
	-moz-transition:0 none;
	-o-transition:0 none;
	-ms-transition:0 none;
} 
header div nav ul .meanmenuOnly {
    display: none;
}

/* メインビジュアル
----------------------------------------------------*/
.mainvisual{
	clear:both;
	width:100%;
/*    max-width:1366px;*/
	margin:50px auto 0;
    background-size: cover;
    position: relative;
}
.swiper {
    margin: -50px 0 50px -100px !important;
    @media (max-width: 1024px){
     margin: 0 0 0 0px !important;
    }
}
.mainvisual{
  display:flex;
  flex-direction: column;
}
.mainvisual [class*=col-], .mainvisual [class*=col_],.mainvisual [class~=col]{
    padding:0 0 0rem;
}
.mainvisual .mv img{
	width:100%;
    border-radius: 20px 0 0 20px;
  @media (max-width: 1024px){
    order:1;
    border-radius: 0;
  }
}
 .introTxt {
    background: #fff url(/images/bg_copy.jpg) center bottom no-repeat;
     background-size: cover;
     border-radius: 0 20px 20px 0;
     position: relative;
  @media (max-width: 1024px){
    order: 2;
    border-radius: 0;
    position:static;
  }
}
.message{
    position: absolute;
    top:50%;
    left:30%;
    transform: translateY(-50%) translateX(-30%);
    -webkit- transform: translateY(-50%) translateX(-30%);

    @media (max-width: 1024px){
    position:static;
    top:0;
    left:0;
  transform:none;
  -webkit- transform:none;
     padding:1em 0.5em 2em;
     text-align:center;
    }
}
.message h2{
    font-size:4.8rem;
    font-weight: 500;
    line-height: 1.0;
    margin-bottom: 0.5em;
    @media (max-width: 1280px){
      font-size:3.8rem;    
    }
}
.message p{
    letter-spacing: normal;
    @media (max-width: 1280px){
      font-size:1.4rem;    
    }
}
/* メイン
----------------------------------------------------*/
.main {
	clear: both;
	width:100%;	
}
#index section{
	margin-bottom:0;
}
.main section{
    clear: both;
	margin-bottom:40px;
}
#index .inner,.main .bnrArea .inner{
	width:100%;
	max-width:1366px;
	margin:0 auto;
	padding:40px 0;
}

.main .inner{
	width:100%;
	max-width:1366px;
	margin:0 auto 60px;
	padding:0;
}
footer .inner{
	width:100%;
	max-width:1366px;
	margin:0 auto;
	padding:20px 0;
}
/* フッター
----------------------------------------------------*/
footer {
	clear:both;
}
/* --- フッターリンク --- */
footer figure{ margin-top: 20px;}
.ftLink ul{
  display: flex;
  flex-wrap:wrap;
}
.ftLink ul  li{
   margin:0.3em 0; 
   text-align: center;
}

.ftLink ul  li a{
padding:0 0.5em;
}
.ftLink ul li+li{
    position: relative;
}
.ftLink ul li+li::before{
    content: "";
    display: block;
    height: 80%;
    border-left: 1px solid #ccc;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
/* --- 連絡先 --- */
.ftAdd{
	width:100%;
	margin: 0 auto;

}
.ftAdd h2{
	margin:1em 0;
	font-size:24px;
	font-size:2.4rem;
    font-weight:normal;
	padding:0;
}
.ftAdd p{
    margin-bottom: 0.5em;
}
footer .copyright {
	font-size:12px;
	font-size:1.2rem;
    padding:1em;
    text-align: center;
}

/* --- pagetop --- */
.pagetop{
    position: fixed;
    right: 10px;
    bottom: 40px;
    z-index: 9999;
    margin: 0;
   background: rgba(0,0,0,.3);
    width:60px;
    height:60px;
    border-radius: 100%;
}
 .pagetop a{
   display: inline-block;
  width: 20px;
  height: 20px;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: rotate(45deg);
  position:absolute;
  top:22px;
  right:20px;
}
/* --- パンくず --- */
.main .path {
    padding: 10px 0 0;
    font-size: 14px;
}

.main .path li {
    display: inline-block;
    list-style: none;
    padding: 0;
}
.main .path li:after {
    content: "＞";
    padding-left: 5px;
}
.main .path li:last-child:after {
    content: "";
}
/* 見出し
----------------------------------------------------*/
.pageTitle h1{
	font-size:3.6rem;
    text-align: center;
   padding:2.5em 0.5em;
}
.main .pageTitle{
    background:url("/images/bg_pagetitle.png") center center repeat-x;
    background-size:cover;
}
.main#foodbank .pageTitle{
    background:url("/images/pt_foodbank.jpg") center 10% no-repeat;
    background-size:cover;
}
.main#motomachi .pageTitle{
    background:url("/images/pt_motomachi.jpg") center center no-repeat;
    background-size:cover;
}
.main#nangou .pageTitle{
    background:url("/images/pt_nangou.jpg") center center no-repeat;
    background-size:cover;
}
.main#okada .pageTitle{
    background:url("/images/pt_okada.jpg") center center no-repeat;
    background-size:cover;
}
.main#asahimachi .pageTitle{
    background:url("/images/pt_asahimachi.jpg") center center no-repeat;
    background-size:cover;
}
.main#fuzoku .pageTitle{
    background:url("/images/pt_fuzoku.jpg") center center no-repeat;
    background-size:cover;
}
.main#okada-tsudoi .pageTitle{
    background:url("/images/pt_okada-tsudoi.jpg") center center no-repeat;
    background-size:cover;
}
.main#tsudoiba-flat .pageTitle{
    background:url("/images/pt_tsudoiba-flat.jpg") center center no-repeat;
    background-size:cover;
}
.main#index{
	margin:0;
}
.main#index .newsArea  h2{
    clear: both;
	font-size:3.6rem;
    text-align: center;
    padding:1em;
    line-height:1.0;
}
.main#index h2:not(.main#index .newsArea  h2){
    clear: both;
    position: relative;
    font-size: 3.6rem;
    margin: 0 0 1.5em;
    padding: 0.5em 0.5em 0.2em;
    text-align: center;
}
.main#index h2:not(.main#index .newsArea  h2):before{
    background: linear-gradient(135deg, #2698D5 10%, #EB67A2 100%);
    border-radius: 5px;
    bottom: -10px;
    content: "";
    height: 3px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 100px;
}

.main h2:not(.main#index h2){
    clear: both;
	font-size:3.0rem;
	padding:1em;
	margin:2em 0 0.5em;
    background:#c5e4fc url("../images/bg_blue.jpg") 0 0 repeat;
    border-top-left-radius: 40px;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 40px;
    border-bottom-left-radius: 3px;
}
.main h2:not(.main#index h2):first-child{
	margin:1em 0 0.5em;
}
.main .serviceArea h3{
    font-size:2.2rem;
    margin: 0.2em 40px 0.2em 0;
}
.main .serviceArea h3 span{
    font-size:1.6rem;
}
.main .letterArea h3{
    font-size:1.6rem;
    margin: 0.5em 0;
    padding-bottom: 0.3em;
    border-bottom:1px dotted #222;
}
.main h3:not(.main#index h3,.main .newsArea h3,.main .letterArea h3,.main .serviceArea h3){
    clear: both;
	font-size:2.6rem;
	padding:0em 0.2em 0.2em;
	margin:0.5em 0 0.5em;
    background: linear-gradient(135deg, #2698D5 10%, #EB67A2 100%);
    background-repeat: no-repeat;
    background-size: 100% 3px;
    background-position: bottom;
}
.main#index .instructorArea h3{
    clear: both;
	font-size:28px;
	font-size:2.8rem;
	padding:0.5em 0.2em 0.2em;
	margin:0.5em 0 0.5em;
    border-bottom:1px solid #222;
}
.main h4 {
	font-size:2.2rem;
	padding:0.2em 0.8em 0.4em;
	margin:0.5em 0 0.5em;
    background:#ebe9e4;
border-radius:3px;
	}
.main h5{
	font-size:2.0rem;
	padding: 0.2em 0.2em 0;
	margin-bottom:0.5em;
    display: inline-block;
    border-bottom: 2px solid #222;
}

.main p,footer p{
	margin-bottom:15px;
}
/* リスト
----------------------------------------------------*/
.main ul {
	margin-bottom: 1em;
}
.main ul li {
	position: relative;
	margin-bottom: 4px;
	padding-left: 20px;
}
.main ul li:before {
	content: " ";
	position: absolute;
	left: 0.2em;
	top: 0.5em;
	width: 8px;
	height: 8px;
	background:#e94e66;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;	
	border-radius: 4px;
}
.main .mfp ul li:before{
	content:inherit;
	position:inherit;
	left: 0;
	top:0;
	width:0;
	height:0;
	background: none;
	-moz-border-radius:0;
	-webkit-border-radius:0;
	-o-border-radius:0;
	-ms-border-radius:0;	
	border-radius:0;
}

.main ol {
	margin-bottom: 10px;
	padding-left: 1.7em;
}
.main ol li {
	margin-bottom: 5px;
	list-style-type: decimal;
	list-style-position: outside;
}
.main ul.path li:before {
	width: 0;
	height: 0;
}
/* リンク 矢印
----------------------------------------------------*/
a.link {
  margin: 0em auto;
/*    text-align: center;*/
    text-decoration: underline !important;
    position: relative;
    padding-right:20px;
    color:#1d4c86 !important;

}
a.link:hover,
a.link:active,
a.link:focus
 {
     color:#e94e66 !important;
    text-decoration: underline;
}

/* 矢印が右に移動 */
.link::after,
.link:link::after,
.link:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:43%;
    right: 10px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #002ea1;
    border-right: 2px solid #002ea1;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.link:hover::after,
.link:active::after,
.link:focus::after{
    right: 5px;
    border-top: 2px solid #e94e66;
    border-right: 2px solid #e94e66;
}

/* リンクボタン
----------------------------------------------------*/
.btn{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background:#fff;
  color:#fff;
  border-radius: 100px;
  padding: 10px 80px 10px 60px;
 text-align: center;
 outline: none;
 /*アニメーションの指定*/
 transition: ease .3s;
}

/* 矢印が右に移動 */
.btnarrow::after,
.btnarrow:link::after,
.btnarrow:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:43%;
    right: 20px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.btnarrow:hover::after,
.btnarrow:active::after,
.btnarrow:focus::after{
    right: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

/* --- PDF --- */
a[href$=".pdf"]:after {
    content: " ";
    display: inline-block;
    width: 27px;
    height: 24px;
     background: url(../images/pdf.png) no-repeat 3px bottom; 
}
.btn a[href$=".pdf"]:after,
.thum a[href$=".pdf"]:after,
.download a[href$=".pdf"]:after,
.bnrArea a[href$=".pdf"]:after{
    content: inherit;
    display: inherit;
    width: 0;
    height: 0;
    background: none;
}
/* --- テーブル --- */
.main table:not(.stylishTable) {
	width: 100%;
    margin-bottom: 20px;
    border-left: 1px solid #858381;
    border-top: 1px solid #858381;
}
.main table:not(.stylishTable) th,
.main table:not(.stylishTable) td {
	padding: 0.4em;
    border-bottom: 1px solid #858381;
    border-right: 1px solid #858381;
}
.main table:not(.stylishTable) th {
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
    background:#f5e6ed; 
}
.main table:not(.stylishTable) td {
	vertical-align: top;
/*    background: #f0f3bc;*/
     background: #f9f8f4;
}
.vm{
	vertical-align: middle !important;
}

/* --- テーブル-stylishTable --- */
.main table.stylishTable {
	width: 100%;
    margin-bottom: 20px;
}
.main .stylishTable th,
.main .stylishTable td{
    padding: 10px;
}
.main .stylishTable th {
    border-bottom: solid 2px #858381;
	white-space: nowrap;
}
.main .stylishTable td {
    padding-left: 1em;
	border-bottom: solid 2px #d1cfcb;
}
/* --- テーブル-横幅調整 --- */
.w20{width:20%!important;}
.w30{width:30%!important;}
.w40{width:40%!important;}
.w50{width:50%!important;}
.w60{width:60%!important;}
.w70{width:70%!important;}
.w80{width:80%!important;}
.w90{width:90%!important;}
.wCenter{margin: 0 auto;}
/*---------------------------------------------------------------
トップ
---------------------------------------------------------------*/
/* newsArea
----------------------------------------------------*/
#index .newsArea{
    width: 100%;
}
#index .newsArea dl{
/*    width:100%;*/
	margin: 0em auto 1em 3em;
	overflow: hidden;
}
.newsArea dl dt{
	clear: both;
	float: left;
    padding:1em 0.5em 0.5em 0;
}
.newsArea dl dd {
	padding: 1em 0 1em 6em;
    text-align: left;
}
time{
	font-size:1.6rem;
}
.category{
    font-size:1.4rem;
    background-image: linear-gradient(90deg, rgba(172, 217, 252, 1), rgba(252, 217, 233, 1));
    padding:0.2em  1em 0.3em;
    border-radius: 30px;
    margin: 0 0.5em;
    min-width:150px;
    display:inline-block;
    text-align: center;
}
/* serviceArea
----------------------------------------------------*/
.main#index .serviceArea{
    background:url(../images/bg_servicetop.png) center top repeat-x;
}
.serviceArea [class*=col-],.serviceArea [class*=col_],.serviceArea [class~=col]{
    padding:0 2rem 4rem;
}
.serviceArea figure img{
     border-radius: 20px;
}
.s_name{display: block;}
.s_btn{
	position: relative;
	display: inline-block;
	padding: 0 0px 0 0;
	color: #222;
	vertical-align: middle;
	text-decoration: none;
    width: 100%;
}
.s_btn:before{
	position: absolute;
	top: 19px;
/*	bottom: 0;*/
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.s_btn:after{
	position: absolute;
	top: 30px;
/*	bottom: 0;*/
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.s_arrow:before{
	width: 30px;
	height: 30px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #2698D5;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.s_arrow:after{
	right: 13px;
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.s_arrow:hover:before{
    transform: scale(1.5);
	background: #e94e66;
}

.serviceArea p{
    font-size:1.4rem;
}

/* bnrArea
----------------------------------------------------*/
.bnrArea{
    background: #fff;
}
.bnrshadow {
  display: inline-block;
  padding:0;
    border-radius: 20px;
  text-decoration :none;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.3);
  transition: .3s;
}

.bnrshadow:hover {
  box-shadow: 0 0 2px rgba(0,0,0,0.2);
  transform: translate(3px, 3px);
}

/* letterArea
----------------------------------------------------*/
.main#index .letterArea{
    background:url(../images/bg_pagetitle.png) center top repeat-x;
}
.letterArea .col p{
    font-size:1.4rem;
}

.main#index .letterArea figure{
    width: 100%;
/*  padding-top: 70%;*/
    padding-top: 70%;
    overflow: hidden;
    position: relative;
/*    background: #f9f9f9;*/
     border-radius: 20px;
    margin-bottom: 0;
}
.main .letterArea figure{
    width: 100%;
/*  padding-top: 70%;*/
    padding-top: 70%;
    overflow: hidden;
    position: relative;
/*    background: #f9f9f9;*/
     border-radius: 20px;
    margin-bottom: 1em;
}
.letterArea figure img{
    max-width: 100%;
 /*   max-height: 100%;*/
    max-height: 300%;/*部分切り取り*/
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
     border-radius: 20px;
}
.photoArea figure{
    width: 100%;
/*  padding-top: 100%;*/
    padding-top: 100%;
    overflow: hidden;
    position: relative;
/*    background: #f9f9f9;*/
     border-radius: 20px;
    margin-bottom: 1em;
}
.photoArea figure img{
    max-width: 100%;
 /*   max-height: 100%;*/
    max-height: 300%;/*部分切り取り*/
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
     border-radius: 20px;
}
/* linkArea
----------------------------------------------------*/
.linkArea ul{
    display: flex;
    flex-wrap:wrap;
    justify-content: center;
}
.linkArea ul li{
    margin:0.5em;
}
/* inquiryBox
----------------------------------------------------*/
.inquiryBox {
background: #fff;
    padding:1em 2em 2em;
    border-radius: 20px;
}
.serviceArea .inquiryBox p{
    margin:0 0px 0 0;
    font-size:1.6rem;
}
/*---------------------------------------------------------------
下層ページ
---------------------------------------------------------------*/
/* pageList
----------------------------------------------------*/
.pageList {
    text-align: center;
    margin: 2em 0;
    clear: both;
}

/* PREV */
.pageList .prev {
    display: inline-block;
    margin: 7px 15px 0 0;
}
.pageList .prev a {
    margin: 0em auto;
    position: relative;
    padding-left:20px;
    color:#1d4c86 !important;

}
.pageList .prev a:hover,
.pageList .prev a:active,
.pageList .prev a:focus
 {
     color:#e94e66 !important;
}
/* 矢印が右に移動 */
.pageList .prev a::after,
.pageList .prev a:link::after,
.pageList .prev a:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:42%;
    left: 10px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #002ea1;
    border-right: 2px solid #002ea1;
    transform: rotate(-135deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.pageList .prev a:hover::after,
.pageList .prev a:active::after,
.pageList .prev a:focus::after{
    left: 5px;
    border-top: 2px solid #e94e66;
    border-right: 2px solid #e94e66;
}
/* NEXT */
.pageList .next {
    display: inline-block;
    margin: 7px 0 0 15px;
}
.pageList .next a {
    margin: 0em auto;
    position: relative;
    padding-right:20px;
    color:#1d4c86 !important;

}
.pageList .next a:hover,
.pageList .next a:active,
.pageList .next a:focus
 {
     color:#e94e66 !important;
}
/* 矢印が右に移動 */
.pageList .next a::after,
.pageList .next a:link::after,
.pageList .next a:visited::after{
    content: '';
    /*絶対配置で矢印の位置を決める*/
  position: absolute;
    top:42%;
    right: 10px;
    /*矢印の形状*/
    width: 7px;
    height: 7px;
    border-top: 2px solid #002ea1;
    border-right: 2px solid #002ea1;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}
/*hoverした際の移動*/
.pageList .next a:hover::after,
.pageList .next a:active::after,
.pageList .next a:focus::after{
    right: 5px;
    border-top: 2px solid #e94e66;
    border-right: 2px solid #e94e66;
}

/* LIST */
.pageList .list {
    display: inline-block;
    vertical-align: top;
}
.pageList .list a,
.pageList .list span {
    display: inline-block;
    width: 40px;
    height: 40px;
    padding-top: 5px;
    color: #222;
    text-align: center;
    vertical-align: top;
    background: #fcfcfc;
    border: 1px solid #222;
    border-radius: 40px;
}
.pageList .list a:hover {
    color: #fff;
    background: #e94e66;
    vertical-align: top;
    border: 1px solid #e94e66;
}
.pageList .list span.current_page {
    color: #fff;
    background: #222;
}

/* pageIndex
----------------------------------------------------*/
.main .pageIndex {
    text-align: center;
    margin-bottom: 30px;
}

.main .pageIndex ul li {
    display: inline-block;
    padding: 0;
}

.main .pageIndex ul li:before {
    content: "│";
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: auto;
    background: none;
    color: #ccc;
}
.main .pageIndex ul li:first-child:before {
    content: "";
}
/* 地図
----------------------------------------------------*/
/* グーグルマップ・レスポンシブレイアウト */
.gmap{
    position : relative;
    height : 0;
    /* padding-bottom : 56.25%; 縦横比の指定 横16：縦9 */
    /*padding-bottom : 66.71%;  縦横比の指定 700:467*/
    padding-bottom :56.25%;
    overflow : hidden;
}

.gmap iframe,
.gmap object,
.gmap embed{
    position : absolute;
    top : 0;
    left : 0;
    width : 100%;
    height : 100%;
}