﻿@charset "UTF-8";

/* ====        SP版　　　ここから↓↓↓　　　==== */
/*----------------------------------------------------
               1. 基本設定（SP版）
----------------------------------------------------*/
/* テキストの自動拡大を無効化 */
body {
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* リセット(margin&padding reset)
--------------------*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
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, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
/* HTML5
-------------------------------------*/
article,aside,canvas,details,figcaption,figure, header,footer,main,menu,nav,section,summary {
	display: block;
}
h1, h2, h3, h4, h5, h6{
	word-wrap: break-word;
	word-break: break-all;
    overflow-wrap: break-word;
    font-weight: 500;
}
.h2, .h3, .h4, .h5, .h6, .mainSection-title, h2, h3, h4, h5, h6 {
	margin: 1.5em 0 1.2em;
	clear: both;
}
/* ページ全体の設定 */
body {
	margin: 0;
	color: #222;
	background: #fff;
	font-size: 16px;
	font-family: Verdana, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	letter-spacing: 0.05em;
	line-height: 1.5;
	word-break: break-all;
}
/* リンク */
a {
	color: #337ab7;
	text-decoration: none;
	/*transition: opacity  0.35s ease;*/
}
a:hover {
	/*opacity: 0.7;*/
    text-decoration: underline;
}
/* 見出し基本設定 */
h1 {
	font-size: 18px;
}
h2 {
	font-size: 15px;
}
h3 {
	font-size: 14px;
}
h4 {
	font-size: 14px;
}
p {
	line-height: 1.7;
    margin-top: 0;
	margin-bottom: 1.2em;
	overflow-wrap: break-word;
    font-size: 14px;
}

/* 画像関連 */
img {
	max-width: 100%;
	height: auto;
}
figure {
	margin: 0;
	padding: 0px;
}
.mainSection .blocks-gallery-item img, .mainSection .wp-block-image img {
	border-radius: 5px;
}
.mainSection figcaption {
	border-radius: 5px;
}
/* 強調 */
em {
	font-style: normal; /* 斜体を解除 */
	font-weight: normal; /* 太字を解除 */
}
/* list style */
dl, ol, ul {
	margin-top: 1.5em;
	margin-bottom: 1.2em;
}
ul {
	 font-size: 14px;
}
/* link do not want a dot */
li {
    list-style: none;
    margin-bottom: .8em;
    line-height: 1.65em;
}
/* TEL */
a[href^="tel:"] {
	pointer-events: auto;
}
/* 汎用クラス
--------------------*/
/* display: none;（強制） */
.dn {
	display: none !important;
}
/* display: block;（強制） */
.db {
	display: block !important;
}
/* display: block;（強制） */
.df {
	display: flex !important;
}
/* visibility: hidden;（強制） */
.vh {
	visibility: hidden;
}
/* text-align: center（強制） */
.tac {
	text-align: center !important;
}
/* text-align: left（強制） */
.tal {
	text-align: left !important;
}
/* text-align: right（強制） */
.tar {
	text-align: right !important;
}
/* positionリセット（強制） */
.ps {
	position: static !important;
}
/* margin無し（強制） */
.mn {
	margin: 0 0 0 0 !important;
}
/* padding無し（強制） */
.pn {
	padding: 0 0 0 0 !important;
}
/* padding設定（強制） */
.pt0 {
	padding-top: 0px !important;
}
.pt20 {
	padding-top: 10px !important;
}
.pb0 {
	padding-bottom: 0px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
/* margin設定（強制） */
.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mt0 {
	margin-top: 0px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.ml0 {
	margin-left: 0px !important;
	margin-top: 1px!important;
}
.mce {
	margin: 0 auto!important;
}
.mcemb {
	margin: 0 auto 30px !important;
}
/* width設定 （強制）*/

/* max-width設定 （強制）*/
.mwc {
    max-width: 1265px!important;
}
.mw500 {
	max-width: 500px!important;
    margin: 0 auto;
}
.mw600 {
	max-width: 600px!important;
}
.mw800 {
	max-width: 800px!important;
}
.mw900 {
	max-width: 900px!important;
}
.mw1000 {
	max-width: 1000px!important;
}
.mwNone {
	max-width: none!important;
}
/* フォントボールド*/
.fontBold {
	font-weight: bold;
}
/* フォントノーマル*/
.fontNormal {
	font-weight: normal;
}
/* box-shadow無し（強制）*/
.bsn {
	box-shadow: none !important;
}

/* text-shadow設定 */
.txtShadow {
	text-shadow: 1px 1px 0 rgba(138, 138, 138, 0.2);
	text-shadow: 1px 1px 0 rgba(83, 72, 56, 0.1);
}
/* Flex寄せ方設定 */
.justy__ec {
	justify-content: center;
}
.justy__es {
	justify-content: center;
}
.justy__ee {
	justify-content: center;
}
/* 角丸無し（強制） */
.br0 {
	border-radius: 0 !important;
}
/* pagetopに戻る設定
--------------------*/
.pagetop{
    display: none;
    position: fixed;
    right: 20px;
    bottom: 15px;
    z-index: 5;
}
.pagetop a{
    display: block;
    font-size: 0;
    width: 60px;
    height: 60px;
    text-align: center;
    background: rgb(255 255 255 / 80%);
    border-radius: 50%;
    line-height: 50px;
    position: relative;
    border: 1px solid #337ab7;
}
.pagetop a:hover{
	 border: 1px solid rgba(0,92,170,0.85);
	 background: #fff;
}
.pagetop a::before {
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	border-left: solid 4px #337ab7;
	border-top: solid 4px #337ab7;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 24px;
	left: 23px;
	margin-top: 0px;
	transition: all  0.35s ease;
}
.pagetop a:hover::before {
	border-left: solid 4px rgba(0,92,170,0.85);
	border-top: solid 4px rgba(0,92,170,0.85);
}
/*----------------------------------------------------
               2. レイアウト設定（SP版）
----------------------------------------------------*/

/*コンテナ */
.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
/* 「ヘッダー」ブロック */
header {
	padding: 16px 0px 10px;
	text-align: center;
	background: #fff;
	width: 100%;
	min-height: 80px;
	position: relative;
	top: 0;
	box-sizing: border-box;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	z-index: 5;
}
/* 「コンテンツ」ブロック */
.contents {
	padding-bottom: 10px;
}
/* 「メイン (column)」 ブロック*/
div#main {
	background: transparent;
}
/* 「フッター」ブロック */
footer {
    border-top: 3px solid #337ab7;
    background: #f9f9f9;
    padding: 0;
    font-size: 14px;
    clear: both;
    width: 100%;
}
.footer__inner {
    position: relative;
    padding-top: 50px;
    padding-bottom: 50px;
    width: 100%;
}
.sectionBox {
	padding-top: 2em;
	padding-bottom: 2em;
	display: block;
}
/*----------------------------------------------------
               3. ヘッダー詳細（SP版）
----------------------------------------------------*/
/*「ヘッダー」ブロック内のコンテナ */
.wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: inherit;
	flex-direction: row;
	padding: 0 10px;
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}
img.caseImg {
	max-width: 280px;
}

/*----------------------------------------------------
               4. ナビゲーション（ドロワー）メニュー （SP版）
----------------------------------------------------*/
body.nav-open {
	overflow:hidden; 
}
.drawerMenu {
	width: auto;
	position: relative;
}
.gnav{
	position: fixed;
	right: -100vw;
	top: 0;
	width: 100vw;
	height: 100vh;
	/* margin-top: 93px; */
	padding: 80px 0 100px;
	background: linear-gradient(to right, #0062c4 0%,#2c86e1 100%);
	/* transition: right 0.3s   cubic-bezier(0.9, -0.01, 0.08, 1.04); */
	z-index: 2;
	overflow-y: auto;
	border-top: 1px solid #eee;
}
/* IE Hackの設定 */
_:-ms-lang(x)::-ms-backdrop, .gnav{
	transition: none;
}
.hamburger {
	position: absolute;
	right: 10px;
	top: -28px;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 300;
	background: #fff;
	border-radius: 5px;
	/* border: 1px solid #2e6da4; */
}
.nav {
  margin: 0;
  padding: 20px 0 100px;
  list-style: none;
  font-size: 20px;
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
}
.menu-item {
  text-align: left;
  padding: 0 0 10px;
  margin-bottom: 0;
  line-height: normal;
}
.menu-item a {
  display: block;
  padding: 0px 30px 10px;
  border-bottom: 0px solid #b1c5d4;
  text-decoration: none;
  color: #ffffff;
  /* background: linear-gradient(to right, #3089cd 0%,#005bac 100%); */
  font-weight: 500;
  transition: opacity 0.15s ease;
}
.menu-item:first-child a {
    /* border-top: 1px solid #eee; */
}
.menu-item a:hover {
	opacity: 1;
    text-decoration: none;
}
/* リンク無効 */
.menu-item-has-children > a{
	/* pointer-events: none; */
}
li.menu-item-has-children ul {
	margin-top: 0;
}
.gMenu_description {
    display: none;
}

ul.sub-menu li {
	margin: 0;
	padding: 0;
}
ul.sub-menu li a {
	margin: 0;
	padding: 2px 0 5px 70px;
	width: 100%;
	text-indent: 0em;
	/* background: linear-gradient(to right, #3089cd 0%,#005bac 100%); */
	position: relative;
	font-size: 17px;
}
ul.sub-menu li a:before {
	font-family: "Font Awesome 5 Free";
	content: '\f068';
	font-weight: 900;
	position: absolute;
	top: 10px;
	left: 45px;
	font-size: 10px;
}
.hamburger__line {
  position: absolute;
  left: 12px;
  width: 25px;
  height: 2px;
  background-color: #005bac;
  transition: all .15s ease;
}
.hamburger__line--1 {
  top: 12px;
}
.hamburger__line--2 {
  top: 20px;
}
.hamburger__line--3 {
  top: 28px;
}
.black-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	z-index: 0;
	background-color: #000;
	opacity: 0;
	visibility: hidden;
	transition: all .4s ease;
	cursor: pointer;
}
/* 表示された時用のCSS */
.nav-open .gnav{
  right: 0;
  transition: right 0.3s   cubic-bezier(0.9, -0.01, 0.08, 1.04);
}
.nav-open .black-bg {
  /* opacity: 1; */
  visibility: visible;
}
.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 20px;
}
.nav-open .hamburger__line--2 {
  width: 0;
  left: 50%;
}
.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 20px;
}
.menuAndClose {
	font-size: 10px;
	position: absolute;
	top: 32px;
	left: 5px;
	display: block;
	width: 39px;
	text-align: center;
	font-family: Arial,sans-serif;
	color: #005bac;
} 
 /*----------------------------------------------------
               5.　共通パーツ（SP版）
----------------------------------------------------*/
.sectionWrap {
	padding: 0;
	margin-bottom: 50px;
}
.sectionWrap h2 {
    	color: #fff;
    	font-weight: bold;
    	margin: 0px 0px 0px;
    	padding: 20px 10px 20px;
    	text-align: left;
    	font-size: 14px;
    	line-height: 2em;
}
.sectionWrap h2 span {
    color: #fcff00;
 }

.sectionWrap p {
	font-size: 13px;
}
 /*----------------------------------------------------
               6.　「form」基本パーツ（SP版）
----------------------------------------------------*/
input, textarea {
	box-sizing: border-box;
	padding: 10px;
	outline:none;
	letter-spacing: 0.05em;
	font-family: 'Avenir',"Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
input[type="submit"] {
	-webkit-appearance: none;
	cursor: pointer;
}
select::-ms-expand {
    display: none;
}
 /*----------------------------------------------------
               7.　フッター（SP版）
----------------------------------------------------*/
.footerLogoWrap {
	overflow: hidden;
	position: relative;
	display: block;
	overflow: hidden;
	margin: .8em 0 .8em;
	box-sizing: border-box;
}
.footerArea {
	margin-bottom: 25px;
	text-align: center;
}
.profile_text {
	margin-bottom: 1em;
	font-size: 14px;
	text-align: left;
}
.sectionBox p {
	font-size: 10px;
	text-align: center;
}
/*----------------------------------------------------

            1.   「ホーム」ページ（SP版）

----------------------------------------------------*/

/* 
-------------------------------------*/
/* 枠基本A */
.basicColum{
	margin: 0 0px 30px;
	padding: 10px;
	display: flex;
	flex-direction: column;
}
/* ヒーローヘッダ（仮設置） */
.sectionA {
	width: auto;
	padding-top: 47.466667%;
	padding-bottom: 0;
	background: #fff url("../images/top_1.jpg") no-repeat;
	background-position: center bottom;
	background-size: cover;
	margin-top: -14.776667%;
	/* margin-right: calc(-50vw + 50%); */
	/* margin-left: calc(-50vw + 50%); */
}
/* スライダー */
.jumbotron {
    margin: 0;
    padding: 0;
}
.jumbotron_item {
	width: auto;
	padding-top: 3.5%;
	padding-bottom: 0;
	background-position: center 70%;
	background-size: 100%;
	background-repeat: no-repeat;
	margin-top: 0;
}
.jumbotron img {
    width: 100%;
    height: auto;
    max-width: 100%;
    vertical-align: middle
}


.slide-items {
  width: 100%;
  height: auto;
}

.slide-items img {
  width: 100%;
  object-fit: cover;
}

/* 枠基本B 新しい組み方*/
.siteContent {
	padding: 2rem 0 2rem;
}
.rowCol {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
/* メインカラム */
.mainSection, .sideSection {
	width: 100%;
	flex-basis: unset;
	padding: 0 15px;
    margin-bottom: 2rem;
}
/* 3cols */
.row3col {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
.fle3xCol {
	margin-bottom: 1.5em;
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}
.itemLink {
	color: #333;
}
.itemLink:hover {
    text-decoration: none;
}
.itemLink:hover .iconWrap {
    transform: translateY(-0.1875em);
    transition: transform .3s ease;
}
.iconWrap {
	display: block;
	position: relative;
	margin: 0 auto;
	width: 80px;
	height: 80px;
	border-radius: 50%;
    transition: transform .3s ease;
}
.iconStyle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: 36px;
}
.itemTitle {
	background-color: transparent;
	margin-top: .9em;
	margin-bottom: .6em;
	text-align: center;
	font-size: 21px;
	line-height: 1.4em;
	border: none;
	border-radius: unset;
	padding: 0;
	color: inherit;
	display: block;
}
.itemSummary {
	margin-bottom: .5em;
	text-align: center;
	line-height: 1.8em;
	margin-top: 0;
    font-size: 14px;
}



/* サブカラム */
.sideSection:after {
	content: "";
	clear: both;
	display: block;
}
.contactSection {
	margin-bottom: 25px;
}
.contactCard {
	border: 3px solid rgba(0,0,0,0.07);
	border-radius: 5px;
	margin: 0;
}
.contactFrame {
	padding: 1.4rem 1.3rem;
	position: relative;
	display: block;
	overflow: hidden;
	background: #fafafa;
}
.contactTxt {
	text-align: center;
	margin-bottom: 0;
}
.contact_txt_catch {
	font-size: 14px;
	line-height: 128.6%;
	display: block;
	overflow: hidden;
}
.contact_txt_tel {
	font-size: 22px;
    display: inline-block;
	white-space: nowrap;
	padding: 5px 0;
	line-height: 105%;
	font-weight: 700;
	color: #337ab7;
}
.contact_txt_tel_icon {
	margin-right: .3rem;
}
.contact_txt_time {
	font-size: 10px;
    display: block;
	line-height: 128.6%;
}
/*----------------------------------------------------

            2.   「サブ」ページ（SP版）

----------------------------------------------------*/
.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}
.page_header {
	background: linear-gradient(to bottom, #337ab7 0%,#1a5e99 100%);
	color: #fff;
    margin-top: 0;
	margin-bottom: 0;
	padding-bottom: 0;
	text-align: center;
}
.header_pageTitle {
	margin: 1.2em auto;
	font-size: 22px;
	line-height: 1.1;
}
.content_full {
	margin-bottom: 3rem;
}
.content_full::after {
	content: "";
	clear: both;
	display: block;
}
/* FAQ */
.vk_faq {
	display: block;
	overflow: hidden;
	border-bottom: 1px solid #e0e0e0;
	padding: 0px 0px 1rem;
	margin: 0 auto 1rem auto;
	width: 100%;
	position: relative;
}
.vk_faq .vk_faq_title {
	border: none;
	padding: .8rem .8rem .8rem 3rem;
	margin: 0;
	position: relative;
	font-weight: bold;
	font-size: 16px;
	border-bottom: 1px dotted #e0e0e0;
}
.vk_faq .vk_faq_content {
	border: none;
	padding: .8rem .8rem .8rem 3rem;
	margin: 0;
	position: relative;
	font-weight: normal;
	-webkit-transition: .25s;
	transition: .25s;
    font-size: 14px;
}
.vk_faq .vk_faq_content p:first-of-type {
	margin-top: 0;
}
.vk_faq .vk_faq_content p:last-child {
	margin-bottom: 0;
}
.vk_faq .vk_faq_title:before {
    content: "Q";
	color: #e50000;
	font-weight: 500;
	position: absolute;
	left: 0;
	top: .7rem;
	font-size: 22px;
	line-height: 105%;
	width: 2.1rem;
	height: 2.1rem;
	line-height: 2.1rem;
	text-align: center;
}
.vk_faq .vk_faq_content:before {
    content: "A";
	color: #337ab7;
	position: absolute;
	left: 0;
	top: .7rem;
	font-weight: 500;
	font-size: 22px;
	line-height: 105%;
	width: 2.1rem;
	height: 2.1rem;
	line-height: 2.1rem;
	text-align: center;
}
/*サブメニュー */
.widgetSection {
	margin-bottom: 25px;
}
.widgetSection .subSection-title {
	margin-top: 0;
	font-size: 18px;
}
.subSection-title, h3 {
	padding-bottom: 8px;
	position: relative;
	border-bottom: 1px solid rgba(0,0,0,.1);
}
.subSection-title a {
	color: inherit;
}
.subSection-title:after {
	content: ".";
	line-height: 0;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: -1px;
	width: 30%;
	border-bottom: 1px solid #337ab7;
}
.widgetSection ul {
	padding-left: 0;
	margin: 0;
	font-size: 14px;
	list-style: none;
}
.widgetSection ul li {
	margin-bottom: 0;
    line-height: 1.65em;
}
.widgetSection ul li a {
	display: block;
	padding: 10px .5em 8px;
	border-bottom: 1px solid rgba(0,0,0,.05);
	color: #464646;
}
.widgetSection ul li.current_page_item > a {
	background-color: rgba(0,0,0,.05);
}
/* 見出し */
h2.mainSection_title {
	padding: .8em 0 .7em;
	border-top: 2px solid #337ab7;
	border-bottom: 1px solid #e9e9e9;
    font-size: 23px;
}
h2.mainSectionPt2_title {
	padding: .8em 0 .7em;
    font-size: 24px;
}
/* コンテンツ交互セクション */
.wp-block-columns {
	display: flex;
	margin-bottom: 2.75em;
	box-sizing: border-box;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wp-block-image {
	max-width: 100%;
    margin: 0 0 1em;
}
.wp-block-columns p{
    font-size: 14px;
}
/* フォトギャラリー風セクション */
.blocks-gallery-grid, .wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 0;
	margin: 0;

}
/* IE Hackの設定 */
_:-ms-lang(x)::-ms-backdrop, .blocks-gallery-grid, .wp-block-gallery {
	flex-wrap: nowrap;
}
.blocks-gallery-item {
    position: relative;
}
.columns-1 .blocks-gallery-item {
    width: 100%;
}
.blocks-gallery-grid .blocks-gallery-image figure, .blocks-gallery-grid .blocks-gallery-item figure, .wp-block-gallery .blocks-gallery-image figure, .wp-block-gallery .blocks-gallery-item figure {
	margin: 0;
	height: 100%;
}
.blocks-gallery-grid .blocks-gallery-image:last-child, .blocks-gallery-grid .blocks-gallery-item:last-child, .wp-block-gallery .blocks-gallery-image:last-child, .wp-block-gallery .blocks-gallery-item:last-child {
	margin-right: 0;
}
.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n), .blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n), .wp-block-gallery .blocks-gallery-image:nth-of-type(2n), .wp-block-gallery .blocks-gallery-item:nth-of-type(2n) {
	margin-right: 0;
}
.blocks-gallery-grid .blocks-gallery-image figcaption, .blocks-gallery-grid .blocks-gallery-item figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption {
	position: absolute;
	bottom: 0;
    left: 0;
	width: 100%;
	max-height: 100%;
	overflow: hidden;
	padding: 3em .77em .7em;
	color: #fff;
	text-align: center;
	font-size: .7em;
	background: linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.3) 70%,transparent);
	box-sizing: border-box;
	margin: 0;
	z-index: 2;
}
/* フォトギャラリー風セクション（2列） */
.blocks-gallery-item {
	margin: 0 1em 1em 0;
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	justify-content: center;
	position: relative;
	width: calc(50% - 1em);
}
.blocks-gallery-item img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
/* フォトギャラリー風セクション（文章回り込み） */
.blocks-gallery-grid.alignleft, .blocks-gallery-grid.alignright, .wp-block-gallery.alignleft, .wp-block-gallery.alignright {
	max-width: 420px;
	width: 100%;
}

.alignleft, img.alignleft {
	display: inline;
	float: left;
	margin-right: 20px;
	margin-top: 4px;
}
.entry-body::after {
	content: "";
	clear: both;
	display: block;
}


/* リスト項目設定 */
.mainSection .basicList {
	padding-left: 2em;
}
.mainSection  .basicList li {
    list-style-type: disc;
}
/* パンくずリスト設定 */
.breadSection {
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.breadSection .breadcrumb {
	margin-top: 0;
	margin-bottom: 0;
	background: 0 0;
	padding: 6px 15px;
}
.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	padding: .75rem 1rem;
	margin-bottom: 1rem;
	list-style: none;
	background-color: #e9ecef;
	border-radius: .25rem;
    font-size: 13px;
}
.breadSection .breadcrumb span {
	font-size: .75em;
}
.breadSection .breadcrumb li {
	line-height: 1.2;
}
.breadSection .breadcrumb li {
	margin-bottom: 0;
	list-style: none;
}
.breadSection .breadcrumb a {
	color: #666;
	padding-bottom: 2px;
}
.breadSection .breadcrumb>li+li:before {
	content: "/";
	margin-left: .5em;
	margin-right: .5em;
	font-size: 12px;
}
.breadSection .breadcrumb>li:nth-of-type(2):before {
	content: "/";
	margin-left: .5em;
	margin-right: 0em;
	font-size: 12px;
}
/* テーブル設定　1　*/
td, th {
	padding: 1em;
	font-size: 14px;
}
.table-bordered {
	border: 1px solid #dee2e6;
    margin: 0 0 1em;
	overflow-x: auto;
}
.wp-block-table table {
	border-collapse: collapse;
	width: 100%;
    border-spacing: 0;
    border-top: 1px solid rgba(0,0,0,.05);
}
.tbl_basic2 tbody tr td:nth-of-type(1) {
	width: 30%;
    text-align: center;
}
.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(0,0,0,.05);
}
.table-bordered td, .table-bordered th {
	border: 1px solid #dee2e6;
}
.table tbody tr td, .table tbody tr th, .table td, .table th, .table thead tr td, .table thead tr th, table tbody tr td, table tbody tr th, table td, table th, table thead tr td, table thead tr th {
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.tbl_basic td {
    display: block;
}
.tbl_basic tbody tr td:nth-of-type(1) {
    width: auto;
    font-weight: bold;
    border-bottom: none;
    color: #337ab7;
}
.tbl_basic tbody tr td:nth-of-type(2) {
    padding: 0 1em 1em;
}
/* テーブル設定　2　*/
.recTable {
	border-collapse: collapse;
	width: 100%;
	font-size: 12px;
	font-weight: 500;
	overflow: hidden;
	/* border: 1px solid #dee2e6; */
}
.recTable td, .recTable th {
	border: 2px solid #b4c4ce;
}
.recTable th {
	width: 35%;
	background: #337ab7;
	color: #fff;
	padding: 25px 3px;
}
.recTable td {
	padding: 25px 10px;
	background: #ffffff;
}




/* トピック枠 */
.vk_flow_frame {
	display: flex;
	padding: 20px 25px;
	border: 3px solid #337ab7;
	margin: 0;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    font-size: 14px;
}
.vk_flow_frame_text {
	display: block;
	overflow: hidden;
	margin: 0;
	width: 100%;
}
.vk_flow_frame_text_title {
	border-bottom: 1px dotted #ccc;
	margin: 0 0 10px;
	padding: 0 0 5px;
	font-size: 1.2em;
    font-weight: 700;
    color: #337ab7;
}
.vk_flow_frame_text_content {
	margin-bottom: 0;
    padding-left: 0;
	border: none;
	margin-left: 0;
}

/* ====        SP版        ここまで ↑↑↑===== */

@media (min-width: 576px) {
/*コンテナ */
.container{
	max-width: 540px;
}
}

/* ====        tab版　　　ここから↓↓↓  ==== */

@media (min-width: 768px) {
/*----------------------------------------------------
               1. 基本設定（tab版 ）768px ～ 991px
----------------------------------------------------*/
h1 {
	font-size: 20px;
}
h2 {
	font-size: 18px;
}
h3 {
	font-size: 18px;
}
h4 {
	font-size: 16px;
}
p {
	line-height: 1.9;
    font-size: 16px;
}
ul {
	 font-size: 16px;
}
/* TEL */
a[href^="tel:"] {
	pointer-events: none;
}
/* 汎用クラス
--------------------*/

/* padding設定（強制） */
.pl20 {
    	padding-right: 20px !important;
}

/* padding設定（強制） */
.pt20 {
	padding-top: 20px !important;
}
.pd30 {
	padding: 30px;
}
/* width設定 （強制）*/

/* 右寄せ中央Flex設定 */
.justy__ec {
	justify-content: center;
}
.justy__es {
	justify-content: flex-start;
}
.justy__ee {
	justify-content: flex-end;
}
/*----------------------------------------------------
               2. レイアウト設定（tab版 ）768px ～ 991px
----------------------------------------------------*/

/*コンテナ */
.container {
	max-width: 670px;
}
/* 「ヘッダー」ブロック */
header {
	padding: 10px 0px 5px;
}
/* 「コンテンツ」ブロック */
.contents {
	padding-bottom: 30px;
}
/* PC版：「メイン (column)」 ブロック*/
div#main {
	width: 100%;
	box-sizing: border-box;
}
/* 「フッター」ブロック */
footer {
    font-size: 16px;
}
/*----------------------------------------------------
               3. ヘッダー詳細（tab版）768px ～ 991px
----------------------------------------------------*/


/*----------------------------------------------------
               4. ナビゲーション（ドロワー）メニュー （tab版）768px ～ 991px
----------------------------------------------------*/


 /*----------------------------------------------------
               5.　共通パーツ（tab版）768px ～ 991px
----------------------------------------------------*/
.sectionWrap {
}
.sectionWrap2 {
}
.sectionWrap h2 {
    	color: #fff;
    	font-weight: bold;
    	margin: 0px 0px 0px;
    	padding: 50px 10px;
    	text-align: center;
    	font-size: 20px;
    	line-height: 1.7em;
}
.sectionWrap p {
	font-size: 15px;
}
 /*----------------------------------------------------
               6.　「form」基本パーツ（tab版）768px ～ 991px
----------------------------------------------------*/

  /*----------------------------------------------------
               7.　フッター（tab版）768px ～ 991px
----------------------------------------------------*/
.footerArea {
	text-align: left;
}
.sectionBox p {
	font-size: 12px;
	text-align: center;
}
/*----------------------------------------------------

            1.   「ホーム」ページ（tab版）768px ～ 991px

----------------------------------------------------*/
/* 枠基本A */
.basicColum {
	flex-direction: row;
	justify-content: space-evenly;
}
/* スライダー */



/* 枠基本B 新しい組み方 */
.siteContent {
	padding: 3.5rem 0 4rem;
}
.rowCol {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
/* メインカラム */
/* 3cols */
.row3col {
	display: flex;
	flex-wrap: wrap;
	/* margin-right: -15px; */
	/* margin-left: -15px; */
}
.fle3xCol {
	flex: 0 0 33.33333%;
	max-width: 33.33333%;
	margin-bottom: 0;
    position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
}
/* サブカラム */
/*----------------------------------------------------

            2.   「サブ」ページ（tab版）768px ～ 991px

----------------------------------------------------*/
/* 見出し */
h2.mainSection_title {
    font-size: 28px;
}
h2.mainSectionPt2_title {
    font-size: 28px;
}
/* コンテンツ交互セクション */
.wp-block-columns {
	flex-wrap: nowrap;
	justify-content: space-between;
}
/* フォトギャラリー風セクション */
.blocks-gallery-grid .blocks-gallery-image figcaption, .blocks-gallery-grid .blocks-gallery-item figcaption, .wp-block-gallery .blocks-gallery-image figcaption, .wp-block-gallery .blocks-gallery-item figcaption {
	font-size: .8em;
}
/* フォトギャラリー風セクション（3列） */
.columns-3 .blocks-gallery-item {
	width: calc(33.33333% - .66667em);
	margin-right: 1em;
}
.blocks-gallery-grid .blocks-gallery-image:nth-of-type(2n), .blocks-gallery-grid .blocks-gallery-item:nth-of-type(2n), .wp-block-gallery .blocks-gallery-image:nth-of-type(2n), .wp-block-gallery .blocks-gallery-item:nth-of-type(2n) {
	margin-right: 1em;
}
/* パンくずリスト設定 */
.breadcrumb {
    font-size: 16px;
}
/* テーブル設定　１　*/
.tbl_basic tbody tr td:nth-of-type(1) {
    font-size: 14px;
    display: table-cell;
    width: 150px;
    border-bottom: 1px solid rgba(0,0,0,.05);
    text-align: left;
}
.tbl_basic tbody tr td:nth-of-type(2) {
    display: table-cell;
    padding: 1em;
}
.tbl_basic2 tbody tr td:nth-of-type(1) {
	width: 20%;
}
/* テーブル設定　2　*/
.recTable {
	font-size: 16px;
}
.recTable th {
	padding: 30px;
	width: 25%;
}
.recTable td {
	padding: 30px;
}



/* トピック枠 */
.vk_flow_frame {
    font-size: 16px;
}

}
/* ====        tab版        ここまで ↑↑↑===== */


/* ====        PC版　　　ここから↓↓↓  ==== */

@media (min-width: 992px) {
/*コンテナ */
.container {
	max-width: 960px;
}
/*----------------------------------------------------
               4. ナビゲーション（ドロワー）メニュー （PC版）992px ～ 1199px
----------------------------------------------------*/
.nav-open .black-bg {
  opacity: 0.05;
  visibility: visible;
}
/*body.nav-open {
	overflow: initial; 
}*/
.drawerMenu {
	padding: 0;
	margin: 0;
	width: 90%;
}
.gnav{
	position: relative;
	right: 27px;
	left: 0;
	top: -10px;
	width: 100%;
	height: auto;
	margin-top: 0;
	padding: 0;
	background-color: transparent;
	z-index: 0;
	overflow-y: visible;
	background: transparent;
	border-top: 0px solid #eee;
}

.nav {
	margin: 5px auto;
	padding: 0;
	list-style: none;
	font-size: 14px;
	display: flex;
	justify-content: flex-end;
	flex-direction: row;
	background: transparent;
	width: 98%;
}
.menu-item {
	text-align: center;
	padding: 0 0px;
	list-style: none;
	position: relative;
	width: auto;
}
.menu-item:first-child a {
	border-top: 0px solid #eee;
	/* border-bottom: 0px solid #eee; */
	/* position: relative; */
}
.menu-item a {
	display: block;
	padding: 24px 5px 10px;
	border-bottom: 0px solid #eee;
	text-decoration: none;
	color: #000;
	background: #ffffff;
	width: auto;
	position: relative;
	margin: 0 10px;
	font-weight: 600;
}
.menu-item a:hover {
	background: #fff;
	opacity: 1;
}
.menu-item a:before {
	content: " ";
	display: block;
	width: 0;
	height: 1px;
	position: absolute;
	bottom: 0px;
	left: 0;
	border-bottom: 1px solid #2e6da4;
	-webkit-transition: all 300ms 0s ease;
	-o-transition: all 300ms 0s ease;
	transition: .2s ease-out;
}

.menu-item a:hover:before {
	width: 100%;
}
.current-menu-item a:before {
	content: " ";
	height: 3px;
	width: 100%;
	position: absolute;
	/* bottom: 15px; */
	left: 0;
}
li.menu-item-has-children ul {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 58px;
	margin-top: 0;
	z-index: 4;
	background: #ffffff;
	width: 170px;
	visibility: hidden;
	opacity: 0;
	transition:  opacity .2s ease-out, top .2s ease-out;
	/* border: 1px solid #555; */
	box-shadow: 1px 1px 3px rgba(0, 0, 0,  .2);
}
li.menu-item-has-children:hover > ul,
nav limenu-item-has-children ul li:hover > ul {
	visibility: visible;
	opacity: 1;
	top: 65px;
}
/* IE Hackの設定 */
_:-ms-lang(x)::-ms-backdrop, li.menu-item-has-children:hover > ul,
nav limenu-item-has-children ul li:hover > ul {
	top: 63px;
}
ul.nav li:hover ul li a:hover {
	background: #337ab7;
	opacity: 1;
	color: #fff;
}
.gMenu_description {
	display: block;
	overflow: hidden;
	font-size: 10px;
	line-height: 14px;
	/* padding-bottom: 10px; */
	opacity: 0.6;
	text-align: center;
	font-weight: 400;
	letter-spacing: 0.01em;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}



ul.sub-menu li {
	margin: 0;
	padding: 0;
	/* width: 100px; */
}
ul.sub-menu li a {
	margin: 0;
	padding: 15px 10px;
	width: 100%;
	text-indent: 0;
	background: #2e6da4;
	color: #fff;
	font-size: 13px;
	position: static;
	border-bottom: 1px solid rgba(255,255,255,.15);
	/* text-align: left; */
}
ul.sub-menu li a:before {
	border-bottom: 0px solid #000000;
	content: '';
}
.nav>li.menu-item-has-children::after {
	transition: all .2s ease-out;
	content: "";
	position: absolute;
	padding: 0;
	bottom: -3px;
	left: 50%;
	transform: translateX(-50%);
	border: 10px solid transparent;
	z-index: 1;
	opacity: 0;
	border-bottom-color: #2e6da4;
}
.nav>li.menu-item-has-children:hover::after{
	opacity: 1;
	bottom: 1px;
}


.hamburger {
	display: none;
}
.black-bg {
	display: none;
}
/* 表示された時用のCSS */
.nav-open .gnav{
  right: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
/*----------------------------------------------------

            1.   「ホーム」ページ（PC版）992px ～ 1199px

----------------------------------------------------*/
/* メインカラム */
.mainSection-col-two {
	width: 66.66667%;
}
.itemSummary {
    font-size: 16px;
}
/* サブカラム */
.sideSection-col-two {
	width: calc(100% - 66.66667% - 3rem);
}
.stickyClass {
	margin-bottom: 25px;
	position: sticky;
	top: 20px;
}
.contactTxt {

}
/*----------------------------------------------------

            2.   「サブ」ページ（tab版）992px ～ 1199px

----------------------------------------------------*/
.header_pageTitle {
	font-size: 28px;
}
/* FAQ */
.vk_faq .vk_faq_title {
	font-size: 18px;
}
.vk_faq .vk_faq_content {
    font-size: 16px;
}
/* コンテンツ交互セクション */
.wp-block-columns p{
    font-size: 16px;
}




}
/* ====        PC版        ここまで ↑↑↑===== */

@media (min-width: 1200px) {
/*コンテナ */
.container {
	max-width: 1140px;
}
}

/* ====        その他　　　ここから↓↓↓  ==== */
@media (min-width: 1000px) and (max-width: 1200px){
.contact_txt_catch {
	font-size: 11px;
}
.contact_txt_tel {
	font-size: 18px;
}
}
@media (max-width: 599px){
.wp-block-column {
	flex-basis: 100%!important;
}
}
/* ====        その他        ここまで ↑↑↑===== */