@charset "utf-8";

/*
/*    CSS MENU
/*
/*    -> header
/*    -> footer
/*    -> モジュール
/*    -> ページ固有
*/

/* adobe fontsを使うとき */
/* html { visibility: hidden; } */
/* html.wf-active,
html.loading-delaym,
html #tinymce { visibility: visible; } */
.inner02,
.inner {
	position: relative;
	z-index: 10;
}

/*******************************************************************************
/*******************************************************************************
main */
#under_page main {
	padding-top: 60px;
	padding-bottom: 10vw;
}

main {
	border-left: 4vw solid #14375C;
}

/*******************************************************************************
/*******************************************************************************
header */


header {
	background: #fff;
	width: 100%;
	z-index: 90;
	position: absolute;
	left: 0;
	top: 0;
	box-shadow: 6px 3px 9px 0px rgba(0,0,0,0.16);
}

header .h_inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	padding: 10px 10px 10px 8px;
}

header .logo {
	margin-left: 0;
	margin-right: auto;
	max-width: 50%;
	max-width: -webkit-calc(100vw - 110px);
	max-width: calc(100vw - 110px);
	width: 76%;
}
header .logo a { display: block; }

header .sp_menu_wrap {
	background: #14375C;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	cursor: pointer;
	order: 2;
	margin-left: 4px;
}

header .sp_menu_wrap a {
	width: 26px;
	height: 20px;
	position: relative;
	font-size: 1.8rem;
}

header .sp_menu_wrap a:before,
.sp_menu_wrap a:after,
.sp_menu_wrap a span:before {
	position: absolute;
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
}

header .sp_menu_wrap a:after {
	bottom: 0;
	top: inherit;
}

header .sp_menu_wrap a span:before {
	top: 98%;
	top: -webkit-calc(50% - 1px);
	top: calc(50% - 1px);
}

header nav {
	display: none;
	font-weight: 500;
}


/*******************************************************************************
/*******************************************************************************
footer */

footer {
	position: relative;
	font-size: 4vw;
	text-align: center;
	background-size: cover;
	border-left: 4vw solid #14375C;
}

footer:before {
	content: '';
	width: 96vw;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	height: 1px;
	background: #E6E6E6;
}

.f_bnrs02 {
	padding-top: 7vw;
	margin: 0 0 7vw;
}

.f_bnr02 {
	display: block;
	margin-bottom: 3vw;
}

.f_bnr02_border {
	border: 1px solid #ccc;
}

.f_ttl {
	font-size: 3rem;
	text-align: left;
	position: relative;
	padding-top: 3vw;
	margin-bottom: 5vw;
}

.f_ttl:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 10vw;
	height: 1vw;
	background:#DC8A50;
}

.f_simple {
	margin-bottom: -5vw;
}

.f_list {
    margin-bottom: 5vw;
}

.f_list_set + .f_list_set ,
.f_list + .f_list {
	border-top: 1px solid #E6E6E6;
	padding-top: 5vw;
}

.contact_box a {
	background: #279F98;
	display: block;
	color: #fff;
	font-size: 2.3rem;
	padding: 3vw;
}

.contact_box span {
	position: relative;
	padding-left: 8vw;
	padding-right: 5vw;
}

.contact_box span:before {
	position: absolute;
	content: "";
	background: url(../images/h_mail.svg) center center no-repeat;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	width: 5vw;
	height: 4vw;
	background-size: contain;
	margin-top: 0.1vw;
}

footer .f_con:before {
	position: absolute;
	content: "";
	background: url(../images/footer_bg.jpg) center center no-repeat;
	background-size: cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	z-index: 1;
}

footer .f_con:after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0.8;
	z-index: 2;
}

footer .inner * {
	position: relative;
	z-index: 3;
}

footer .f_con {
	position: relative;
	padding: 10vw 0;
}

footer .f_nav a {
	color: #3F433B;
	padding-left: 1em;
	position: relative;
}

footer .f_nav a:before {
	position: absolute;
	top: 0;
	content: "・";
	left: 0;
}
footer .f_nav li { margin-right: 1em; }

footer .f_info {
	margin-top: 9vw;
	text-align: left;
}
footer .f_info a { color: #3F433B; }

footer .f_info .logo {
	max-width: 146px;
	margin-bottom: 3vw;
}
footer .f_info .gmap { margin-top: 5vw; }

.f_info table {
	font-size: 1.6rem;
}

footer .table_underline:not(.table_eigyou):not(.table_about) tr:last-of-type th,
footer .table_underline:not(.table_eigyou):not(.table_about) tr:last-of-type td {
	border: 0;
}

.f_col {
	display: flex;
	flex-direction: column-reverse;
}

.f_ul_ttl {
	font-size: 2.5rem;
	text-align: left;
	color: #14375C;
	font-weight: 600;
}

.f_ul_item + .f_ul_item {
	margin-top: 2.5rem;
}

.f_logo {
	margin-bottom: 6vw;
}

/*______________________________________________________________________________
f_bnr */


.f_bnr {
	padding-top: 8vw;
	padding-bottom: 8vw;
}

.f_bnr li {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.f_bnr li + li { margin-top: 3vw; }
.f_bnr a { position: relative; }


/*______________________________________________________________________________
footer */


footer a { text-decoration: none; }

footer ul {
	display: block;
	text-align: left;
}


/*______________________________________________________________________________
small */


footer small {
	display: block;
	font-size: 1.4rem;
	padding: 5vw 3vw 6vw;
	width: 100%;
	display: block;
	position: relative;
	z-index: 11;
	margin-top: 9vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
topボタン */

.topbtn {
	position: fixed;
	width: 5rem;
	height: 5rem;
	bottom: 8rem;
	right: 2rem;
	z-index: 70;
	border: 2px solid #14375c;
	border-radius: 50%;
	background: #fff;
	text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.topbtn:before {
	content: '';
	display: block;
	border-top: 2px solid #14375c;
	border-right: 2px solid #14375c;
	width: 1.3rem;
	height: 1.3rem;
	position: absolute;
	top: 1.8rem;
	left: 50%;
	-webkit-transform: translateX(-50%) rotate(-45deg);
	transform: translateX(-50%) rotate(-45deg);
}


/*******************************************************************************
/*******************************************************************************
モジュール */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
WPネイティブCSS */


#under_page main .under_post img,
#tinymce img {
	max-width: 100%;
	width: auto;
}

#under_page main .under_post strong,
#tinymce strong { font-weight: bold; }

#under_page main .under_post em,
#tinymce em { font-style: italic; }

#under_page main .under_post blockquote,
#tinymce blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

#under_page main .under_post .centered,
#tinymce .centered {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

#under_page main .under_post .alignright,
#tinymce .alignright {
	float: none;
	margin-left: auto;
	margin-right: auto;
}

#under_page main .under_post .alignleft,
#tinymce .alignleft {
	float: none;
	margin-left: auto;
	margin-right: auto;
}

#under_page main .under_post .clear,
#tinymce .clear {
	clear: both;
	min-height: 1px;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
画像 */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
テキスト */


#under_page main .under_post *:not(.clear):not(span):not(em):not(.ori):not(h2):not(h3):not(h4):not(h5):not(h6):not(li):not(.h3wrap):not(a):not(th):not(td):not(iframe):not(.textbox) ,
#tinymce *:not(.clear):not(span):not(em):not(.ori):not(h2):not(h3):not(h4):not(h5):not(h6):not(li):not(.h3wrap):not(a):not(th):not(td):not(iframe):not(.textbox) {margin-top: 3rem;}

#under_page main .under_post .textbox,
#tinymce .textbox {
    border-radius: 5px;
    border: 1px solid #B2C2D1;
    background: #EAEFF4;
    padding: 5vw 7vw;
    margin-top: 5rem;
}

#under_page main .under_post .textbox *:first-child,
#tinymce .textbox *:first-child {
	margin-top: 0 !important;
}

.kyuushinbi {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
}

.kyuushinbi dt {
	background: #14375C;
	display: inline-block;
	color: #fff;
	padding: 0vw 5vw;
	border-radius: 6px;
	margin-bottom: 1vw;
}
#under_page main .kyuushinbi {
	margin-top: 1vw !important;
}
#tinymce .kyuushinbi dt, 
#under_page main .under_post .kyuushinbi dt,
#tinymce .kyuushinbi dd, 
#under_page main .under_post .kyuushinbi dd {
	margin-top: 0 !important;
}

#under_page main form * {
	margin-top: 0;
}

#under_page main form input {
	margin-top: 0 !important;
}
/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
タイトル */

.top_tl_wrap,
#under_page main .inner .h3wrap,
#tinymce .h3wrap { text-align: center; }

#under_page main .inner .h3wrap,
#tinymce .h3wrap { margin-top: 0; }

#under_page main .inner h2,
#tinymce h2 {
	margin-bottom: 5vw;
	line-height: 1.7;
	margin-top: 8vw;
	position: relative;
	font-size: 2.8rem;
	letter-spacing: 0.05em;
	text-align: center;
	padding: 0 0 4vw 0;
}

#under_page main .inner h2:before,
#tinymce h2:before {
	content: '';
	width: 10vw;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 50%;
	display: block;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #222222;
}


#under_page main .inner h3,
#tinymce h3 {
	margin-bottom: 4vw;
	line-height: 1.7;
	margin-top: 8vw;
	position: relative;
	font-size: 2.5rem;
	letter-spacing: 0.05em;
	border-left: 2px solid #222222;
	padding: 3vw 0 3vw 8vw;
}

#under_page main .inner h4,
#tinymce h4 {
	margin-bottom: 4vw;
	line-height: 1.7;
	margin-top: 8vw;
	position: relative;
	font-size: 2.3rem;
	letter-spacing: 0.1em;
	padding-left: 8vw;
}

#under_page main .inner h4:before,
#tinymce h4:before {
	content: '';
	width: 3vw;
	height: 2px;
	position: absolute;
	top: 2.3vw;
	left: 0;
	display: block;
	background: #222222;
}

#under_page main .inner h5,
#tinymce h5 {
	margin-bottom: 4vw;
	line-height: 1.7;
	margin-top: 8vw;
	position: relative;
	font-size: 2.1rem;
	letter-spacing: 0.05em;
	color: #fff;
}

#under_page main .inner h5 span,
#tinymce h5 span {
	background: #14375C;
	display: inline-block;
	padding: 1.5vw 8vw 1.7vw 8vw;
}


#under_page main .inner h6,
#tinymce h6 {
	margin-bottom: 4vw;
	line-height: 1.7;
	margin-top: 8vw;
	position: relative;
	font-size: 2.1rem;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #222222;
	padding: 0 2vw 2vw 8vw;
}

.ribbon_ttl span {
	display: block;
	margin: 1.5rem auto 0;
	width: 80%;
}

.flag_ttl span {
	display: block;
	margin: 1.5rem auto 0;
	width: 80%;
}

.text_ttl img {
	width: 20vw;
	margin: 0 auto;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
囲みモジュール */
.wrap_border {
	text-align: center;
}

.wrap_border span {
	display: inline-block;
	padding: 1vw 5vw;
	border: 2px solid #14375C;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ナンバー付きモジュール */
.number_box {
    counter-reset: item;
}

.number_ttl {
	border-left: 0 !important;
	padding-left: 0 !important;
}

.number_ttl:before {
  counter-increment: item;
  content: counter(item);
  display: inline-block;
  background: #96C12E;
  color: #fff;
  width: 4rem;
  height: 4rem;
  text-align: center;
  border-radius: 50%;
  position: relative;
  top: 0.3rem;
  margin-right: 1rem;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
リスト */

.under_post ul,
#tinymce ul {
	margin-left: 5vw;
}

.def_ul li,
.under_post li,
#tinymce li {
	position: relative;
	padding-left: 1.8em;
	margin-top: 0.5em;
}

.def_ul li:before,
.under_post li:before,
#tinymce li:before {
	position: absolute;
	content: "";
	background: #14375C;
	border-radius: 50%;
    width: 0.7em;
    height: 0.7em;
	left: 0;
	top: 0.6em;
}

.def_ul.txtb li:before,
.under_post .txtb li:before,
#tinymce .txtb li:before { top: 0.7em; }

.li_col05 {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-top: -0.5em;
}

.li_col05 li {
	padding-right: 1em;
	width: 50%;
}


/*______________________________________________________________________________
li_並び */


.li_narabi_both_withsp li {
	display: inline-block;
	margin-right: 1em;
}
.li_mt00 li + li { margin-top: 0; }


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ボタン */

.btn_wrap {
	margin-top: 6vw;
}

.btn {
	margin-top: 3vw;
	text-align: center;
}

.btn a {
	text-decoration: none;
	color: #fff;
	background: #14375C;
	position: relative;
	font-size: 1.8rem;
	padding: 4vw 9vw 4vw 9vw;
	width: 85%;
	text-align: center;
	font-weight: 500;
}

.btn a.btn02:before {
	content: '';
	display: block;
	position: absolute;
	bottom: 1px;
	right: 1px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 3.8vw 3.8vw;
	border-color: transparent transparent #ffffff transparent;
}


.btn .btn_block li + li { margin-top: 5vw; }

.link_arrow {
	padding-left: 2rem;
	position: relative;
	color: #EEEEEE;
	text-decoration: none;
}

.link_arrow:before {
	position: absolute;
	content: "";
	border-right: 2px solid #EEEEEE;
	border-bottom: 2px solid #EEEEEE;
	width: 0.5em;
	height: 0.5em;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	left: 0;
	top: 0.7em;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
表 */


.table_underline th,
.table_underline td {
	vertical-align: middle;
	border-bottom: 1px solid #e6e6e6;
	padding: 2vw 1vw;
}

.table_underline th {
	padding: 2vw 1vw 2vw 0;
}

.table_underline thead th:first-child,
.table_underline tbody th {
	width: 4em;
}

.table_underline thead th {
	background: #add531;
	padding-left: 1vw;
	padding-right: 1vw;
	text-align: center;
	color: #111;
}
.table_underline td { padding: 2vw 0 2vw 1vw; }

.table_eigyou thead th,
.table_eigyou tbody th,
.table_eigyou tbody td {
	border-right: 1px solid #3F433B;
}

.table_eigyou thead th:not(:first-child),
.table_eigyou tbody td { text-align: center; }

.table_eigyou thead th:not(:first-child),
.table_eigyou tbody td {width: 10%;}

.table_eigyou.table_eigyou_nh thead th:not(:first-child):not(:last-child),
.table_eigyou.table_eigyou_nh tbody td:not(:last-child) { width: 10%; }
.table_eigyou.table_eigyou_nh tbody td:last-child { width: 10%; }

.table_eigyou thead th:first-child {
	width: 8em;
	text-align: center;
	padding-right: 1em;
}

.table_about th {
	padding: 2vw;
	color: #fff;
	background: #14375C;
	border: none;
	vertical-align: middle;
	font-weight: 600;
}

.table_about td {
	padding: 2vw;
	border: none;
	vertical-align: middle;
}

.table_about tr:not(:last-child) th,
.table_about tr:not(:last-child) td { border-bottom: 2vw solid #fff; }

#tinymce table:not(.table_eigyou):not(.table_about),
#under_page main .under_post table:not(.table_eigyou):not(.table_about) {
	border: 1px solid #E5E5E5;
	border-left: 0;
}

#tinymce table:not(.table_eigyou):not(.table_about) thead tr,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) thead tr {
    border: 1px solid #ccc;
}

#tinymce table:not(.table_eigyou):not(.table_about) thead tr th:first-child,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) thead tr th:first-child {
	width: 38.2%;
	border-right: 1px solid #ccc;
}

#tinymce table:not(.table_eigyou):not(.table_about) tr td:first-child,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) tr td:first-child {
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
}

#tinymce table:not(.table_eigyou):not(.table_about) th,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) th,
#tinymce table:not(.table_eigyou):not(.table_about) td,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) td {
    padding: 3vw 5vw;
    vertical-align: top;
}


#tinymce table:not(.table_eigyou):not(.table_about) th,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) th {
	   vertical-align: top;
	   background: #14375C;
	   color: #fff;
	   padding: 3vw 4vw 3vw 5vw;
}

#tinymce table:not(.table_eigyou):not(.table_about) tbody th,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) tbody th {
	width: 38.2%;
}

#tinymce table:not(.table_eigyou):not(.table_about) tr,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) tr {
	border-bottom: 1px solid #E5E5E5;
}

#tinymce table:not(.table_eigyou):not(.table_about) tr:last-of-type,
#under_page main .under_post table:not(.table_eigyou):not(.table_about) tr:last-of-type {
	border-bottom: 0;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
gmap */


.gmap {
	position: relative;
	overflow: hidden;
	height: 100vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}

.gmap iframe,
.gmap object,
.gmap embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
youtube */


.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
フォーム
<dl class="form_layout"><dt><p><span class="tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */

input[type=tel],
input[type=email],
input[type=text],
select,
textarea {
	border: 1px solid #ccc;
	background: #ffffff;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-color: #B9B9B9;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}
input.minitxt { width: 9em; }

.wpcf7-checkbox,
.wpcf7-radio {
	margin-top: 5px;
    display: inline-block;
}

.form_layout span.wpcf7-list-item {
	margin: 0 1em 0 0;
	display: inline-block;
}

input[type="checkbox"], input[type="radio"] {
	margin-right: 3px;
}
/*______________________________________________________________________________
テキストエリア
<textarea name="message"></textarea>
 */


textarea {
	height: 40vw;
	resize: vertical;
	min-height: 20vw;
}


/*______________________________________________________________________________
フォームレイアウト */

#under_page main form .form_layout + .form_layout {
	margin-top: 4vw;
}

.form_layout > dt {
	margin-bottom: 2vw;
	font-size: 1.8rem;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}
.form_layout > dt .tl { font-size: 1.8rem; }


/*______________________________________________________________________________
送信ボタン */

#under_page main form .form_btn_block {
	margin-top: 6vw;
}

.form_btn_block {
	text-align: center;
	margin-top: 6vw;
}
.form_btn_block input[type="submit"],
.form_btn_block .submit_btn {
	background: #14375C;
	color: #fff;
	padding: 4vw 10vw 5vw 10vw;
	font-size: 1.8rem;
	margin-top: 2vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
パン屑 */


.page_crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 8vw;
	font-size: 1.3rem;
	margin-top: 3vw;
}
.page_crumbs li { position: relative; }
.page_crumbs li a { color:#4688CE; text-decoration: none; }
.page_crumbs li + li { padding-left: 2em; }

.page_crumbs li + li:before {
	position: absolute;
	content: "";
	-webkit-transform: rotate(45deg) translate(0%, -50%);
	transform: rotate(45deg) translate(0%, -50%);
	border-top: 1px solid #656565;
	border-right: 1px solid #656565;
	width: 0.7rem;
	height: 0.7rem;
	top: 50%;
	left: 0.5em;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

pager */


.pager {
	margin-top: 10vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.pager a { text-decoration: none; }

.pager ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width: 54vw;
}

.pager ul a {
	width: 8vw;
	height: 8vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	position: relative;
}

.pager ul a:before {
	position: absolute;
	content: "";
	border: 1px solid #707070;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.pager .cr a {
	background: #707070;
	color: #fff;
}

.pager p {
	-webkit-flex: 1;
	flex: 1;
}
.pager .next { text-align: right; }
.pager ul .ellipsis a:before { border: none; }


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
kakomi */


.kakomi {
	border: 1px solid #ACD732;
	background: #fff;
	padding: 6vw;
}

.kakomi h2,
.kakomi h3,
.kakomi h4,
.kakomi h5,
.kakomi h6 {
	color: #ACD732 !important;
	letter-spacing: 0.05em !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid #D9DFD0 !important;
	padding-bottom: 3vw !important;
	margin-bottom: 5vw !important;
	text-align: center !important;
	font-size: 2.4rem !important;
	line-height: 1.5 !important;
}

.kakomi h2:before,
.kakomi h3:before,
.kakomi h4:before,
.kakomi h5:before,
.kakomi h6:before,
.kakomi h2:after,
.kakomi h3:after,
.kakomi h4:after,
.kakomi h5:after,
.kakomi h6:after { display: none; }


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ニュース */
.top_news_area {
	padding: 2vw 0 10vw;
	overflow: hidden;
    position: relative;
}

.top_blog {
	margin-top: 5vw;
}

.news_ttl {
	font-weight: 500;
	position: relative;
	font-size: 2rem;
	line-height: 1.5;
	margin-bottom: 3vw;
	padding-top: 4vw;
}

.top_news_area .top_tl em {
	font-weight: 600;
}

.news_ttl:before {
	content: '';
	width: 6vw;
	height: 3px;
	background: #fff;
	display: block;
	position: absolute;
	bottom: 9.5vw;
	left: 50%;
	transform: translateX(-50%);
}

.news_block .news_box { padding: 3vw 0; }
.news_block .news_box { border-bottom: 1px solid #E8E8E8; }
.news_block .news_box time {color: #999999;}

.news_block .news_box time span {
	font-size: 2rem;
	vertical-align: top;
	padding-right: 0.6em;
	padding-top: 0.5em;
	display: inline-block;
}

.news_block .news_box a {
	text-decoration: none;
	width: 100%;
	color: #111;
}

.news_btn {
	margin-top: 7vw;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
top_contact */
.top_contact {
	text-align: center;
	margin-top: 10vw;
	background: #14375c;
	padding: 10vw;
}

.top_contact_catch {
	position: relative;
	text-align: center;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.7;
	color: #fff;
	padding-bottom: 6vw;
}

.top_contact_catch:before {
	content: '';
	width: 6vw;
	height: 1px;
	display: block;
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	bottom: 0;
	background: #fff;
}

.top_contact_tel {
	margin-top: 3vw;
	font-size: 3.4rem;
	text-align: left;
	display: inline-block;
	letter-spacing: 0.3vw;
}

.top_contact_tel span,
.top_contact_tel a {
	color: #fff;
	text-decoration: none;
}

.top_contact_txt {
	margin-top: 4vw;
	background: #fff;
	color: #14375C;
	padding: 3vw 0;
	font-weight: 600;
	text-decoration: none;
	display: block;
}

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
umv_wrap */
.umv_wrap {
	position: relative;
	background-color: #14375C;
	border-top: 4vw solid #14375C;
	border-bottom: 4vw solid #14375C;
}

.umv_wrap:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	z-index: 9;
	background: url(../images/umv.jpg) center center no-repeat;
	background-size: cover;
	opacity: 0.9;
}

.umv_wrap .tl {
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	padding: 12vw 5vw;
	line-height: 1.7;
	font-weight: 500;
	z-index: 10;
}

.umv_wrap .tl span {
	background: #fff;
	display: inline-block;
	padding: 2vw 6vw;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
doctor_block */


.doctor_block .img_block { margin-bottom: 5vw; }
.doctor_block .img_block .img { margin-bottom: 4vw; }

.doctor_block .img_block .name span {
	background: #add531;
	color: #fff;
	padding: 0.6vw 2vw;
	border-radius: 6px;
	margin-right: 0.6em;
}


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ブロック */


#main { padding-top: 0; }

#under_page main .under_post > *:first-child,
#tinymce > *:first-child { margin-top: 8vw; }

#under_page main .under_post > *.h3wrap:first-child,
#tinymce > *.h3wrap:first-child { margin-top: -8vw !important; }

/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ふわっとフェードイン */


.sa {
	opacity: 0;
	transition: all 1s ease;
}

.sa.show {
	opacity: 1;
	transform: none;
}
.sa--lr { transform: translate(-100px, 0); }
.sa--rl { transform: translate(100px, 0); }
.sa--up { transform: translate(0, 100px); }
.sa--down { transform: translate(0, -100px); }
.sa--scaleUp { transform: scale(.5); }
.sa--scaleDown { transform: scale(1.5); }
.sa--rotateL { transform: rotate(180deg); }
.sa--rotateR { transform: rotate(-180deg); }


/*______________________________________________________________________________

/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
並び */


/*******************************************************************************
/*******************************************************************************
ページ固有 */


/*______________________________________________________________________________
/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOP */

/*______________________________________________________________________________
common */
.top_tl {
	position: relative;
	margin-bottom: 7vw;
	text-align: center;
	font-size: 3.8rem;
}

.top_tl span {
	display: block;
	position: relative;
	margin-top: 1vw;
	font-size: 2rem;
	font-weight: 500;
}

.top_section {
	padding: 5vw 0 8vw;
	overflow: hidden;
	position: relative;
}

/*______________________________________________________________________________
loop_slider */
.js_dispnone_start { display: none; }
.slick-track img:focus { outline: none; }
.slick_imgbox { display: none; }
.slick-slider .slick_imgbox { display: block; }
.slick .slickimg_first { display: block; }
.slick-slide:focus { outline: none; }

.slick_wrap_pc,
.slick_wrap_sp { position: relative; }

.slick_txt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	width: 100%;
}

/*______________________________________________________________________________
TOP_mv */
.h_wrap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
}

.mv_area {
	color: #fff;
	position: relative;
	display: flex;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.mv {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-top: 4vw solid #14375c;
    border-bottom: 4vw solid #14375c;
}

.mv img {
	width: 174vw;
}

.scroll_btn {
	background: #14375C;
    display: flex;
    align-items: center;
}

.scroll_btn a {
	display: flex;
    text-align: center;
    height: 100%;
    align-items: center;
	padding: 0 3.5vw 0 0vw;
}

/*______________________________________________________________________________
top_news_area */

.top_news .top_news_con .news_block .news_box time { color: #999999; }
.top_blog .top_news_con .news_block .news_box time { color: #999999; }

/*______________________________________________________________________________
separate_bg */
.separate_bg {
	background: #EFEFEF;
}

.separate_bg:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/separate_bg.svg) right center no-repeat;
	background-size: 72% 100%;
	z-index: 1;
}

/*______________________________________________________________________________
card_list */
.card_item_ttl,
.card_list a,
.card_list {
	color: #fff;
}

.card_list a {
	text-decoration: none;
}

.card_list_desc {
	line-height: 2.1;
	margin-bottom: 7vw;
}

.card_list_items {
	margin-bottom: -5vw;
}

.card_list_items li {
	margin-bottom: 5vw;
}

.card_list_items li a {
	background: #14375C;
	padding: 5vw 7vw;
	width: 100%;
}

.card_item_ttl {
	position: relative;
	font-size: 2.2rem;
	padding-bottom: 3.4vw;
	margin-bottom: 5vw;
	text-align: center;
	font-weight: 500;
}

.card_item_ttl:before {
	content: "";
	display: block;
	width: 14vw;
	height: 1px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}


/*______________________________________________________________________________
top_concept */
.top_concept {

}

.concept_list {
	margin-bottom: -8vw;
}

.concept_list li {
	margin-bottom: 8vw;
	position: relative;
	display: block;
	padding: 35vw 4vw 0;
}

.concept_list .concept_list_img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 8;
}

.concept_list_body {
	position: relative;
	background: #fff;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.16);
	padding: 6vw;
	z-index: 10;
}

.concept_list_ttl {
	position: relative;
	font-size: 2.2rem;
	padding-bottom: 3.4vw;
	margin-bottom: 5vw;
	text-align: center;
	font-weight: 500;
}

.concept_list_ttl:before {
	content: "";
	display: block;
	width: 14vw;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

/*______________________________________________________________________________
top_message */
.message_desc {
	background: #fff;
	padding: 6vw 7vw;
	margin-top: 1rem;
}

.message_img {
	margin-bottom: 2rem;
}

.message_catch {
	position: relative;
	font-size: 2.2rem;
	padding-bottom: 1.7rem;
	margin-bottom: 3rem;
	text-align: center;
	font-weight: 500;
}

.message_catch:before {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	bottom: 0;
	left: 0;
}

.message_text {
	line-height: 2.2;
}
/*______________________________________________________________________________
top_business */
.top_business .top_tl {
	color: #fff;
}

.top_business:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/top_business_bg.jpg) center center no-repeat;
	background-size: cover;
	z-index: 1;
	opacity: 0.9;
}

.top_business:after {
	position: absolute;
	content: "";
	background: #091e34;
	opacity: 0.64;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.top_business .inner02 {
	position: relative;
	z-index: 3;
}

/*______________________________________________________________________________
top_support */
.top_support .top_tl {
	color: #fff;
}

.top_support:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/top_support_bg.jpg) center center no-repeat;
	background-size: cover;
	z-index: 1;
	opacity: 0.9;
}

.top_support:after {
	position: absolute;
	content: "";
	background: #091e34;
	opacity: 0.6;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.top_support .inner02 {
	position: relative;
	z-index: 3;
}

/*______________________________________________________________________________
top_profile */
.profile_block {
    background: #fff;
    padding: 7vw;
    margin-top: 3vw;
}
.top_profile {
	position: relative;
}

.top_profile .table_underline thead th:first-child,
.top_profile .table_underline tbody th {
	width: 5em;
}

.top_profile .top_tl span:before {
	background: #fff;
}

.profile_img {
	margin-bottom: 3vw;
}


/*______________________________________________________________________________
top_youtube */
.youtube_block {
	background: #fff;
	padding: 7vw;
	margin-top: 2vw;
}

#under_page main .under_post *:not(.clear):not(span):not(em):not(.ori):not(h3):not(h4):not(h5):not(h6):not(li):not(.h3wrap):not(a):not(th):not(td):not(iframe), #tinymce *:not(.clear):not(span):not(em):not(.ori):not(h3):not(h4):not(h5):not(h6):not(li):not(.h3wrap):not(a):not(th):not(td):not(iframe) img {
    margin-top: 0 !important;
    margin-bottom: 20px;
}