@charset "UTF-8";
/*  
Theme Name:Original Style - 1column Customize 01 
Version:1.1.1
*/

/*
色一括変換用
メインカラー（濃いめ）#2a2964
サブカラー（濃いめ）#8e2738
背景カラー（薄目）　#f7f2eb
文字カラー（） #1f1f1f;

*/

/*==========================
	投稿（ブログ、新着情報）
==========================*/

.entry-block {
    /* 一投稿を囲むブロック */
    padding-bottom: 1.5em;
    margin-bottom: 2em;
    border-bottom: 1px dotted #ccc;
}

.entry-block .dateBlock {
    /* 日時 */
    color: #777;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.25;
    padding-bottom: 0.75em;
    padding-top: 0.5em;
}

/* ブログページのカテゴリーリスト --------------------*/

#aside .menu-blog {
    padding: 14px 14px 20px;
    box-sizing: border-box;
    margin-top: 1em;
    background: #f1f1f1;
}

#aside .menu-blog h3 {
    border-bottom: 2px solid #222e65;
    color: #1a1a1a;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 0.8em;
    padding: 0.6em 0 0.7em 0.25em;
    text-align: left;
}

#aside .menu-blog li {
    font-size: 11px;
}

#aside .menu-blog li a {
    position: relative;
    padding-left: 1em;
    font-size: 14px;
    color: #1f1f1f;
    text-decoration: none;
}

#aside .menu-blog li a:hover {
    color: #2a2964;
    text-decoration: none;
}

#aside .menu-blog li a::after {
    position: absolute;
    content: "";
    top: 0.5em;
    left: 0.3em;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #2a2964;
}

/*-- ページネーション ------------*/

.pager {
    font-size: 88%;
    /*14px*/
    margin-bottom: 3em;
}

.pager span.current,
.pager a {
    display: inline-block;
    margin-right: 5px;
    width: 25px;
    height: 25px;
    line-height: 25px;
    background: #fff;
    text-decoration: none;
    color: #2a2964;
    text-align: center;
}

.pager a:hover {
    background: #ccc;
    color: #fff;
}

.pager span.current {
    /* 今のページ */
    background: #ccc;
    color: #fff;
}

/*==========================
	画像
==========================*/

img {
    height: auto;
    vertical-align: bottom;
}

.mainblock img {
    max-width: 100%;
}

/* 真ん中寄せ */
.aligncenter {
    display: block;
    margin: 0 auto;
}

/* 小さい画像に対応 */
.img_size img,
img.img_size {
    width: auto !important;
}

/*==========================
	見出し
==========================*/

/*-- H3 ------------*/

.post-type-page h3,
.under h3 {
    color: #1f1f1f;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.1em;
    padding: 1.2em 1.5em;
    margin-bottom: 1em;
    position: relative;
    text-align: center;
    margin-top: 1.8em;
    border-radius: 0;
    background: url(img/h3_bg.png) no-repeat center center /100%;
}

.post-type-page h3::before,
.under h3::before,
.post-type-page h3::after,
.under h3::after {
    position: absolute;
    content: "";
}

.post-type-page h3::before,
.under h3::before {}

.post-type-page h3::after,
.under h3::after {}

.mainblock>h3:first-child,
.mainblock>div:first-child h3,
.mainblock>h3:first-of-type {
    margin-top: 0;
}

.post-type-page .h3_bg h3 {}

/*-- H4 投稿タイトル ------------*/

.entry-block h3,
.mce-content-body h4,
.under h4 {
    padding: 0.8em 0 0.4em;
    /* background: #f9e9eb; */
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.06em;
    position: relative;
    line-height: 1.4em;
    margin-bottom: 1.2em;
    margin-top: 1.8em;
    border-bottom: 1px solid #eb6700;
    padding-left: 40px;
}

.entry-block h3:before,
.mce-content-body h4:before,
.under h4:before {
    content: "";
    position: absolute;
    top: 5px !important;
    bottom: 0;
    right: auto;
    left: 0;
    width: 25px;
    height: 25px;
    background: #eb6700;
    border-radius: 50%;
}

.entry-block h3 .subtitle,
.mce-content-body h4 .subtitle,
.under h4 .subtitle {
    color: #1f1f1f;
    font-size: 14px;
    padding-left: 0.6em;
}

.entry-block h3::before,
.mce-content-body h4::before,
.under h4::before,
.entry-block h3::after,
.mce-content-body h4::after,
.under h4::after {
    position: absolute;
    content: "";
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
}

.entry-block h3::before,
.mce-content-body h4::before,
.under h4::before {}

.entry-block h3::after,
.mce-content-body h4::after,
.under h4::after {}

.mce-content-body div.h3+h4,
div.h3+h4 {
    margin-top: 0;
}

.mce-content-body .top01 h4 {
    border: inherit;
    text-align: inherit;
}

/* 投稿タイトルのみ */
.entry-block h3 {
    font-size: 26px;
    margin-top: 0;
    padding-top: 0;
}

.archive_wrap:not(.archive_category_wrap) .entry-block h3 {
    font-size: 20px;
    padding-bottom: 0.5em;
    margin-bottom: 0.75em;
}

.entry-block h3 a {
    color: #1f1f1f;
    text-decoration: none;
}

.entry-block h3 a:hover {
    color: #2a2964;
}

.archive_wrap:not(.archive_category_wrap) {
    font-size: 14px;
}

/*-- H5 ------------*/

.mce-content-body h5,
.under h5 {
    font-size: 20px;
    font-weight: bold;
    display: table;
    position: relative;
    padding: 0.4em 1em .4em .8em;
    line-height: 1.4em;
    border-radius: 4px;
    margin-bottom: 1em;
    margin-top: 1.2em;
}

.mce-content-body h5::before,
.under h5::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
    width: 4px;
    height: 26px;
    border-radius: 30px;
    background: #eb6700;
}

.under h4+h5,
.under div.h4+h5 {
    margin-top: 0 !important;
}

/*-- H6 ------------*/

.post-type-page h6,
.under h6 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0.5em;
    margin-top: 20px;
    overflow: hidden;
    color: #1f1f1f;
    position: relative;
    display: table;
    background: #fdf4ed;
    padding: 5px 1em;
    border-radius: 10px;
}

/*-- 数字付きの見出し ------------*/
.number {
    display: inline-block;
    vertical-align: baseline;
    font-size: 76%;
    padding: 0.2em 0.5em 0.1em;
    margin-right: 0.4em;
    background: #eb6700;
    color: #fff;
    border-radius: 3px;
    margin-bottom: 0.2em;
    line-height: 1.4;
}

.number_title .number {}

h3.number_title .number {
    font-size: 175%;
    font-style: italic;
    color: #8e2738;
    background: none;
    padding: 0;
    margin: 0 0.3em 0 0;
    position: relative;
}

h3.number_title .number::after {
    content: "."
}

h4.h4_num,
h4.number_title {
    background: none !important;
    padding-left: 0 !important;
}

h4.h4_num:before {
    display: none;
}

h4.number_title .number {
    padding: 5px 10px;
    border-radius: 5px;
    position: relative;
    background: #eb6700;
}

h4.number_title:before {
    content: none;
}

.mce-content-body h5.number_title,
.under h5.number_title {
    border: none;
    margin-bottom: 0.5em;
}

/*-- title ------------*/
p.title,
.title p {
    font-size: 24px;
    font-weight: normal;
    color: #eb6700;
    margin: 0 0 10px;
    line-height: 1.6;
    text-decoration: underline;
    font-weight: bold;
}

/*==========================
	リスト
==========================*/
.page-list {
    padding: 25px 0 15px;
}

.page-list {
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.page-list li {
    flex: 0 0 48%;
    margin: 0 0 16px !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    padding: 0 !important;
}

.page-list li:not(:nth-of-type(2n)) {
    margin-right: 2% !important;
}

.page-list li a {
    display: block;
    text-decoration: none;
    color: #fff;
    background: #eb6700;
    padding: 15px 30px;
    border-radius: 50px;
    position: relative;
}

.page-list li a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    left: auto;
    margin: auto;
    width: 14px;
    height: 13px;
    background: url(img/arrow.png) no-repeat center center /cover;
    transition: .2s;
}

.page-list li:before {
    display: none !important;
}

.page-list li a:before {
    display: none !important;
}

.page-list li a:hover {
    opacity: .5;
}

.page-list li a:hover:after {
    right: 0.8em;
}

.page-list li a::before {
    content: "";
    width: 26px;
    height: 26px;
    background: #222e65;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
}

.page-list li a::after {}

/*-- UL ------------*/

/* ul01 */
.ul01 {
    margin-bottom: 1em;
}

.ul01 li {
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 1.5em;
    box-sizing: border-box;
}

.ul01 li::before {
    position: absolute;
    content: "";
    width: 0.5em;
    height: 0.5em;
    background: #eb6700;
    border-radius: 50%;
    top: 0.58em;
    left: 0.35em;
}

/* ul02 */
.ul02 {
    margin-bottom: 1em;
}

.ul02 li {
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 1.7em;
    box-sizing: border-box;
}

.ul02 li::before {
    position: absolute;
    content: "";
    width: 0.5em;
    height: 0.5em;
    border: 3px solid #2a2964;
    border-radius: 50%;
    top: 0.38em;
    left: 0.38em;
}

/* ul_check チェックのリスト */

.ul_check,
.ul_arrow {
    margin-bottom: 1em;
}

.ul_check li {
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 1.8em;
}

.ul_check li::before {
    position: absolute;
    content: "";
    top: 4px;
    left: 0;
    background: url(img/check.png) no-repeat;
    width: 19px;
    height: 20px;
}

/*ul.ul_check li:after {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 8px;
	height: 3px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
 z-index: 10;
}*/

/* ul_arrow 右向き三角のリスト */

.ul_arrow li {
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 1.2em;
}

.ul_arrow li:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    top: 0.45em;
    left: 7px;
    margin: 0px 0 0 0;
    border: 6px solid transparent;
    border-top: 8px solid #2a2964;
    -moz-transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.ul_arrow li a {
    text-decoration: none;
    color: #2a2964;
}

.ul_arrow li a:hover {
    text-decoration: underline;
}

/*-- OL ------------*/

ol.ol01 {
    margin-bottom: 1.2em;
}

ol.ol01 li {
    position: relative;
    margin-bottom: 0.4em;
}

ol.ollist {
    margin-bottom: 1.2em;
}

ol.ollist li {
    margin-bottom: 0.5em;
    list-style-type: none;
    list-style-position: inside;
    counter-increment: ollist;
}

ol.ollist li:before {
    display: marker;
    content: "(" counter(ollist) ") ";
}

/* 数字のOLリスト */

ol.ol_decimal {
    margin-bottom: 1.2em;
}

ol.ol_decimal {
    counter-reset: li;
    list-style: none;
    padding-left: 0;
}

ol.ol_decimal>li {
    position: relative;
    margin-bottom: 0.5em;
    padding-left: 2.5em;
}

ol.ol_decimal>li:before {
    content: counter(li) "";
    counter-increment: li;
    position: absolute;
    left: 0;
    width: 1.8em;
    height: 1.8em;
    background: #eb6700;
    border-radius: 50px;
    color: #fff;
    line-height: 1.8;
    text-align: center;
}

/*-- 横並びリスト ------------*/

.float-list {
    overflow: hidden;
}

.float-list li {
    margin-bottom: 0.5em;
}

/*==========================
	テーブル
==========================*/

/*-- 診療時間表 ------------*/
.time-table {
    width: 100%;
    margin: 0 auto 0.5em;
}

.time-table th,
.time-table td {
    text-align: center;
    font-weight: normal;
    padding: 15px 5px;
}

.time-table th:first-child {
    width: 25%;
    min-width: 110px;
}

@media (max-width : 767px) {
    .time-table th:first-child {
        min-width: 80px;
    }
}

.time-table thead th {
    padding: 16px 5px;
    border-bottom: 1px solid #eee;
}

.time-table td {
    background: #fff;
    font-weight: bold;
}

.time-table tbody th {}

.time-table tbody tr {
    border-bottom: 1px solid #eee;
}

.time-table th span,
.time-table td span {
    font-size: 16px;
}


.pink {}

#footer .time-table th,
#footer .time-table td {
    padding: 10px 5px;
}

#footer .time-table thead th {
    padding: 7px 5px;
}

/*-- 基本のテーブル ------------*/
.table01 {
    width: 100%;
    margin-bottom: 2em;

}

.table01 th,
.table01 td {
    padding: 16px 10px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #dbdbdb;
    border-top: 1px solid #dbdbdb;
    padding-left: 4% !important;
}

.table01 th {
    border-top: 1px solid #eb6700;
    border-bottom: 1px solid #eb6700;
    padding-right: 10px;
    color: #eb6700;
    width: 40%;
    font-weight: bold;
    vertical-align: middle;
}

.table01.table_access th,
.table01.table_access td {
    border-bottom: 1px solid #d8e9cb;
    padding: 6px 10px 6px;
}

.table01.table_access th {
    border-bottom: 1px solid #d8e9cb;
    color: #1f1f1f;
}

/*-- ボーダーのついたテーブル ------------*/
.border-table {
    width: 100%;
    margin-bottom: 1.5em;
}

.border-table thead th {
    background: #eb6700;
    color: #fff;
    text-align: center;
}

.border-table th,
.border-table td {
    text-align: left;
    font-weight: normal;
    padding: 12px 8px;
    border: 1px solid #ccc;
}

.border-table tbody th {
    vertical-align: middle;
    background: #ffebdb;
}

.border-table td {}

/*-- 料金表のテーブル(TDが右寄せ) ------------*/
.fee-table {
    width: 100%;
    margin-bottom: 1.5em;
}

.fee-table th,
.fee-table td {
    text-align: left;
    font-weight: normal;
    padding: 12px 8px;
    border: 1px solid #ccc;
}

.fee-table thead th {
    background: #eb6700;
    color: #fff;
    text-align: center;
}

.fee-table tbody th {
    background: #ffebdb;
}

.fee-table tbody td {
    text-align: right;
}

/*==========================
	DL
==========================*/

/*--  ------------*/
dl.dl01 {
    margin-bottom: 0.5em;
}

dl.dl01 dt {
    margin-bottom: 0.5em;
    padding: 0.4em 0.6em;
    position: relative;
    display: inline-block;
    line-height: 1.4em;
    color: #fff;
    background: #f7f2eb;
}

dl.dl01 dd {
    margin-bottom: 1.2em;
}

/*-- 数字つきdl ------------*/
dl.dl_number dt {
    font-size: 117%;
    color: #222;
    font-weight: normal;
    position: relative;
}

dl.dl_number dd {
    padding-left: 2em;
    margin-bottom: 1.2em;
}

.dl_number .number {
    display: inline-block;
    vertical-align: baseline;
    font-size: 15px;
    padding: 0.2em 0.6em 0.1em;
    margin-right: 0.5em;
    background: #999;
    color: #fff;
    border-radius: 3px;
    margin-bottom: 0.2em;
    line-height: 1.4;
}

/*==========================
	ボックス
==========================*/

/*-- 基本のブロック ------------*/
.block {
    margin-bottom: 2em;
}

/*-- クリアフィックスブロック ------------*/
.block-inner {
    margin-bottom: 2em;
    /*padding:0 10px;*/
}

.block>.block-inner:last-child {
    margin-bottom: 0;
}

/*-- ボーダー付きブロック ------------*/
.border-block {
    box-sizing: border-box;
    padding: 5% 6% 3%;
    border: 2px solid #eb6700;
    margin-bottom: 2.5em;
    border-radius: 10px;
}

.border-block h4 {}

/*-- 背景色付き ------------*/
.bg-block {
    box-sizing: border-box;
    padding: 5% 6% 3%;
    background: #fcfaf6;
    margin-bottom: 2.5em;
    overflow: hidden;
    border-radius: 0;
    border-radius: 10px;
}

.border-block h4:first-child,
.bg-block h4:first-child,
.border-block h5:first-child,
.bg-block h5:first-child {
    margin-top: 0 !important;
}

.border-block ul:last-child {
    margin-bottom: 0 !important;
}

.bg-block h4 {}

.bg-block h4::before {}

/*-- before after ------------*/
.ba-block {
    background: url(img/arrow_r.svg) no-repeat center 50%;
    background-size: 3%;
    margin-bottom: 10px;
    font-size: 92%;
}

.ba-block .before {
    float: left;
    width: 47%;
    position: relative;
}

.ba-block .after {
    float: right;
    width: 47%;
}

.ba-block img {
    display: block;
    margin: 0 auto 10px;
}

.batitle {
    text-align: center;
    font-size: 15px;
    color: #999;
    margin-bottom: 0.5em !important;
}

/*-- 流れ ------------*/
.flow-block {
    box-sizing: border-box;
    padding: 5% 6% 3%;
    border: 2px solid #eb6700;
    margin-bottom: 1.2em;
    position: relative;
    border-radius: 10px;
}

.block-inner .flow-block {
    padding: 0 0 1em;
}

.flow-block::after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    bottom: 0;
    right: 50%;
    margin: 0 -40px -100px 0;
    border: 40px solid transparent;
    border-top: 35px solid #eb6700;
}

.flow-block.last::after,.flow-block:last-child::after {
    display: none;
}

.flow-block+.flow-block {
    margin-top: 70px;
}

.flow-block h4 {
    margin-top: 0;
    border: none;
}

/*-- Q&A ------------*/
.qa-block {
    margin-bottom: 1.8em;
    padding-top: 1.8em;
    border-bottom: 1px solid #ffd3b0;
    position: relative;
}

.mce-content-body .qa-block h4,
.qa-block h4 {
    padding: 6px 0 6px 2.8em !important;
    border-bottom: none;
    padding-bottom: 0;
    display: block;
    position: relative;
    color: #1f1f1f;
    font-size: 20px;
    background: none;
    font-weight: normal;
    position: relative;
}

.mce-content-body .qa-block h4::before,
.qa-block h4::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    margin-top: -0.15em;
background: #efe6d3;
}

.mce-content-body .qa-block h4::after,
.qa-block h4::after {
    position: absolute;
    content: "Q";
    font-size: 26px;
    top: 6px;
    left: 10px;
    color: #333333;
    border: none;
    font-weight: bold;
}

.qa-block .answer {
    padding: 7px 0 1.5em 3.2em !important;
    position: relative;
    margin-top: 20px;
}

.answer::before {
    position: absolute;
    content: "";
    top: -2px;
    left: 0px;
    background: #eb6700;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    margin-top: 0.1em;
}

.answer::after {
    position: absolute;
    content: "A";
    font-size: 26px;
    top: 5px;
    left: 11px;
    color: #2a2964;
    border: none;
    font-weight: bold;
}

.qa-block .answer p {
    margin: 0;
}

.answer p {
    padding: 15px 0 0 5px;
}

/*--  ------------*/
.qa-block h4:hover {
    cursor: pointer;
}

.qa-block:before,
.qa-block:after {
    position: absolute;
    content: '';
    top: 5.2rem;
    right: 0;
    background: #eb6700;
    border-radius: 1px;
    width: 15px;
    height: 3px;
    pointer-events: none;
}

.qa-block::after {
    transform: rotate(90deg);
    transition: .3s;
}

.qa-block.open::after {
    transform: rotate(0);
}

/*==========================
	お問い合わせページ (Contact Form 7)
==========================*/
.wpcf7 dl {
    width: 100%;
    margin: 0 auto 20px;
    overflow: hidden;
    border-top: 1px dashed #ccc;
}

.wpcf7 dl dt,
.wpcf7 dl dd {
    padding: 10px 5px;
}

.wpcf7 dl dt {
    clear: both;
    float: left;
}

.wpcf7 dl dd {
    padding-left: 14em;
    border-bottom: 1px dashed #ccc;
}

.wpcf7 .mf {
    font-size: 80%;
    color: #EA0000;
    padding-left: 3px;
}

.wpcf7 .ex,
.wpcf7 .subtxt {
    font-size: 88%;
    color: #999;
    line-height: 1.4em;
    display: inline-block;
}

.wpcf7 dl dt .requisite,
.wpcf7 dl .attention {
    font-size: 78%;
    color: #f45000;
}

.wpcf7 .wpcf7-not-valid-tip {
    font-size: 76%;
    color: #af2223;
}

.wpcf7 dl dd input {
    max-width: 90%;
    width: 500px;
}

.wpcf7 dl dd .radio input,
.wpcf7 dl dd .heckbox input {
    width: auto;
}

.wpcf7 dl dd .radio01 span.wpcf7-list-item,
.wpcf7 dl dd .sexes span.wpcf7-list-item,
.wpcf7 dl dd .correspondence span.wpcf7-list-item,
.wpcf7 dl dd .course span.wpcf7-list-item,
.wpcf7 dl dd .health-insurance span.wpcf7-list-item {
    display: block;
}

.mainblock .wpcf7 dl dd p {
    margin-bottom: 0;
}

.wpcf7 dl dd textarea {
    max-width: 90%;
    width: 500px;
}

.wpcf7 dl dd .wpcf7-list-item {
    margin-right: 10px;
}

.wpcf7 .btn-style {
    text-align: center;
}

.wpcf7 .btn-style input {
    width: 120px;
    font-size: 16px;
    padding: 0.4em;
}

.btn-style input:hover {
    cursor: pointer;
    opacity: 0.6;
    -moz-opacity: 0.6;
    filter: alpha(opacity=60);
}

/*==========================
	サイトマップ
==========================*/
#menu-sitemap {
    padding: 0;
}

#menu-sitemap li {
    padding: 0.8em 0.2em 0.7em 1.1em;
    position: relative;
    border-bottom: 2px dotted #eee;
    vertical-align: top;
}

#menu-sitemap li::after {
    display: block;
    content: "";
    position: absolute;
    width: 0.3em;
    height: 0.3em;
    top: 1.4em;
    left: 0.1em;
    border-top: solid 2px #ccc;
    border-right: solid 2px #ccc;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

#menu-sitemap li ul li {
    border-bottom: none;
    padding-bottom: 0;
}

#menu-sitemap li a {
    text-decoration: none;
    color: #1f1f1f;
}

#menu-sitemap li a:hover {
    color: #8fd1d5;
}

/*==========================
	画像のギャラリー
==========================*/
.gallery li {
    margin-bottom: 20px;
}

.gallery li img {
    margin-bottom: 5px;
}

/*==========================
	googlemap
==========================*/
.googlemap {
    position: relative;
    padding-bottom: 40%;
    /*縦横比*/
    height: 0;
    overflow: hidden;
}

.googlemap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}

/*==========================
	Youtube
==========================*/
.youtube-wrap {
    width: 600px;
    max-width: 100%;
    margin: 0 auto 20px;
}

.youtube {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/*==========================
	汎用
==========================*/

.color01 {
    color: #eb6700;
}

.color02 {
    color: #3daca3;
}

.color03 {
    color: #4a7c5b;
}

.attention {
    color: #9c0601;
}

.bgcolor01 {
    background-color: #fdf4ed;
    padding: 0 0.3em;
}

.font-big {
    font-size: 120%;
}

.font-small {
    font-size: 82%;
}

.fl {
    float: left !important;
}

.fr {
    float: right !important;
}

.tac {
    text-align: center;
}

.tal {
    text-align: left
}

.tar {
    text-align: right;
}

.mt0 {
    margin-top: 0 !important;
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}


.bold {
    font-weight: bold;
}

.name {
    text-align: right;
    font-weight: bold;
}

/********************************
	Responsive
*********************************/

@media screen and (min-width: 768px) {
    /* タブレットまで */
    /*==========================
	画像
==========================*/
    /* img float */

    #tinymce img.alignright,
    #tinymce img.alignleft,
    .mainblock img.alignright,
    .mainblock img.alignleft {
        max-width: 34%;
    }

    .mainblock .alignright {
        float: right;
        margin: 0 0 10px 2%;
    }

    .mainblock .alignleft {
        float: left;
        margin: 0 2% 10px 0;
    }

    /*==========================
	リスト
==========================*/

    .float-list {
        overflow: hidden;
    }

    .float-list li {
        float: left;
        box-sizing: border-box;
        margin: 0 1.2em 0.5em 0;
    }

    .float-list2 li {
        display: inline-block;
        width: 50%;
        margin: 0 0 0.5em 0;
        padding-right: 0.8em;
    }

    .float-list2 li:nth-shild(2n) {
        padding-right: 0;
        padding-left: 0.8em;
    }

    .float-list3 li {
        display: inline-block;
        width: 33.3%;
        margin: 0 0 0.5em;
        padding-right: 0.8em;
    }

    .float-list3 li:nth-shild(3n) {
        padding-right: 0;
        padding-left: 0.8em;
    }

    .float-list3 li.no-float {
        float: none;
        margin: 0 0 0.5em;
        width: auto;
    }

    /*==========================
	ブロック
==========================*/

    /*-- 横ならびbox -----------*/

    .box2 {
        /* 横並び　X2 */
        display: inline-block;
        margin: 0 0.5%;
        width: 48%;
        box-sizing: border-box;
        vertical-align: top;
    }

    .box3 {
        /* 横並び　X3 */
        display: inline-block;
        margin: 0 0.5%;
        width: 31%;
        box-sizing: border-box;
        vertical-align: top;
    }

    .box4 {
        /* 横並び　X4 */
        float: left;
        margin: 0 1%;
        width: 23%;
        box-sizing: border-box;
        vertical-align: top;
    }

    .box5 {
        /* 横並び　X5 */
        float: left;
        margin: 0 1%;
        width: 18%;
        box-sizing: border-box;
        vertical-align: top;
    }

    /*==========================
	汎用
==========================*/

    br.pc {
        display: inline;
    }

    br.sp2 {
        display: none;
    }

    .con_l {
        float: left;
    }

    .con_c {
        float: left;
    }

    .con_r {
        float: right;
    }

    .w25 {
        width: 25%;
    }

    .w35 {
        width: 35%;
    }

    .w40 {
        width: 40%;
    }

    .w48 {
        width: 48%;
    }

    .w56 {
        width: 56%;
    }

    .w60 {
        width: 60%;
    }

    .w62 {
        width: 62%;
    }

    .mw500p {
        max-width: 500px !important;
    }

}

@media screen and (min-width: 768px) and (max-width: 768px) {

    /*sitemap*/
    #menu-sitemap li::after {
        top: 1.55em;
    }
}

@media screen and (max-width: 767px) {
    /* スマホ */

    /*==========================
	投稿（ブログ、新着情報）
==========================*/
    #aside .menu-blog {
        margin-bottom: 2em;
    }

    /*==========================
	画像
==========================*/
    .alignright,
    .alignleft {
        float: none;
        margin: 0 auto 20px;
        display: block;
    }

    /*==========================
	見出し
==========================*/
    .page-title {
        padding: 2em 0;
        background-position: 80% top;
    }

    .page-title h2 {
        font-size: 20px;
    }

    .post-type-page h3,
    .mainblock h3 {
        font-size: 23px;
    }

    .entry-block h3 {
        font-size: 20px;
    }

    .post-type-page h4,
    .mainblock h4 {
        font-size: 20px;
    }

    .post-type-page h5,
    .mainblock h5 {
        font-size: 17px;
    }


    h3.number_title .number {
        font-size: 140%;
        margin-right: 0;
    }

    .catch_title {
        line-height: 1.4em;
        font-size: 18px;
        letter-spacing: 0.05em;
    }

    .title {
        font-size: 19px;
    }

    /*==========================
	ブロック
==========================*/

    /* 横ならびbox */
    .box2,
    .box3,
    .box4 {
        margin-bottom: 20px;
    }

    /*-- before after ------------*/
    .ba-block {
        background: none;
        margin-bottom: 10px;
        font-size: 92%;
    }

    .ba-block .before,
    .ba-block .after {
        float: none;
        width: 100%;
    }

    .ba-block .before {
        padding-bottom: 40px;
        background: url(img/arrow_b.svg) no-repeat center bottom;
        background-size: 50px auto;
        margin-bottom: 20px;
    }

    /*==========================
	お問い合わせ
==========================*/
    .wpcf7 dl dt {
        float: none;
        margin-bottom: 0em;
        padding-bottom: 2px;
    }

    .wpcf7 dl dd {
        padding-left: 5px;
        padding-top: 5px;
    }

    .wpcf7 dl dd input,
    .wpcf7 dl dd textarea {
        padding: 5px 2px;
        border: 1px solid #ccc;
        box-shadow: none;
        -webkit-appearance: none;
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }

    /*==========================
	サイトマップ
==========================*/
    #menu-sitemap li::after {
        top: 1.5em;
    }

    /*==========================
	googlemap
==========================*/
    .googlemap {
        padding-bottom: 60%;
        /*縦横比*/
    }

    /*==========================
	汎用
==========================*/
    .page-list {
        display: block;
    }

    .page-list li:not(:nth-of-type(3n)),
    .page-list li {
        flex: 100%;
        margin-right: 0 !important;

    }

    .con_l {
        margin-bottom: 1em;
    }

}

@media screen and (max-width: 480px) {
    .qa-block .answer {
        margin-left: 10px;
    }

    .post-type-page h3,
    .mainblock h3 {}

    /* 時間表 --------------------*/
    .time-table th,
    .time-table td {
        font-size: 75%;
        padding: 5px 2px;
    }

    /* googlemap --------------------*/
    .googlemap {
        padding-bottom: 60%
    }

}

@media screen and (max-width: 320px) {}

/**/
.archive_wrap .btn-style a {
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 0.075em;
    line-height: 1.1;
    padding: 0.7em 1.85em;
    width: auto;
}

/*20220805*/

@media (min-width: 1043px) {
    .tablet-only {
        display: none;
    }
}

@media (max-width: 767px) {
    .tablet-only {
        display: none;
    }
}

.text-center {
    text-align: center;
}

@media (max-width: 1000px) {
    .hdr_info_wrap .tel {
        width: 33% !important;
    }
}

#menu-header-nav>li:hover>ul.sub-menu>li:first-child {
    border-top: 0;
}

@media (min-width: 768px) {
    .footer .fnav .columns .column:first-child {
        width: 25%;
        max-width: 25%;
        flex-basis: 25%;
        padding-right: 8%;
        position: relative;
    }
    .footer .fnav .columns .column:first-child:after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        background: #ddd;
    }
}

@media (min-width: 768px) {
    .footer .fnav .columns .column:last-child {
        width: 67%;
        max-width: 67%;
        flex-basis: 67%;
    }
}

.footer h3 {
    font-size: 22px;
    /* font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif; */
    margin-bottom: 30px;
    font-weight: bold;
    color:#4a7c5b;
}
@media (max-width: 900px) {
  .footer h3 {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
    .footer h3 {
        font-size: 18px;
    }
}

.footer .nav_list_footer {
    column-gap: 2%;   
}

@media (min-width: 768px) {
  .footer .nav_list_footer {
    column-count: 3;
  }
}

.footer .nav_list_footer>li {
    line-height: 1.4;
    font-size: 16px;
    margin-bottom: 1.4em;
    break-inside: avoid !important;
}

@media (max-width: 767px) {
    .footer .nav_list_footer>li {
        width: 100%;
    }
}

.footer .nav_list_footer>li span {
    position: relative;
    padding-left: 15px;
}

.footer .nav_list_footer>li span:before {
    position: absolute;
    content: "";
    top: 7px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #4a7c5b;
}

.footer .nav_list_footer>li .children {
    margin-top: 12px;
}

.footer .nav_list_footer>li .children li {
    margin-bottom: 12px;
}

.footer .nav_list_footer>li .children li span {
    padding-left: 25px;
    display: block;
}

.footer .nav_list_footer>li .children li span:before {
    content: "";
    left: 15px;
    width: 5px;
    height: 1px;
    background: #1e2229;
}

.mainimage {
    position: relative;
}

.mainimage .main_copy {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    max-width: 1300px;
    width: 100%;
    height: 100%;
    margin: auto;
}

.mainimage .main_copy picture img {
    max-width: 98%;
    width: 508px;
    height: 237px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
}

@media (max-width: 1300px) {
    .mainimage .main_copy picture img {
        max-width: 33%;
        height: auto;
    }
}

@media (max-width: 767px) {
    .mainimage .main_copy picture img {
        top: auto !important;
        left: 9%;
        bottom: 5%;
        max-width: 67%;
        max-height: auto;
    }
}

/*top*/
.home h2,
.home h3,
.home h4 {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}

.home h2 {
    font-size: 40px;
    line-height: 1.4;
    margin-bottom: 50px;
    text-align: center;
}

@media (max-width: 767px) {
    .home h2 {
        font-size: 28px;
        margin-bottom: 20px;
    }
}

.home h2 span {
    font-size: 20px;
    display: block;
    color: #367cb2;
}

@media (max-width: 767px) {
    .home h2 span {
        font-size: 16px;
    }
}

.sec_prevention {
    padding: 100px 0;
    background: url(img/bg_img001.jpg) no-repeat center center/cover;
}

@media (max-width: 767px) {
    .sec_prevention {
        padding: 50px 0;
    }
}

.sec_prevention .box_prevention {
    border: 2px solid #8fd1d5;
    border-radius: 10px;
    padding-top: 5%;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention {
        padding-top: 10%;
    }
}

.sec_prevention .box_prevention h2 {
    margin-bottom: 40px;
}

.sec_prevention .box_prevention h2 .icon {
    display: inline;
    color: #1e2229;
    font-size: 35px;
    position: relative;
    padding-left: 85px;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention h2 .icon {
        font-size: 22px;
        line-height: 1;
        padding-left: 120px;
        display: block;
        text-align: left;
    }
}

.sec_prevention .box_prevention h2 .icon:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
    width: 70px;
    height: 70px;
    background: url(img/top_icon001.png) no-repeat center center/cover;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention h2 {
        font-size: 24px;
    }
    .sec_prevention .box_prevention h2 .icon:after {
       left: 11%;
    }
}

.sec_prevention .box_prevention ul {
    margin: 0 auto;
    padding: 0 20px;
    display: table;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention ul {
        max-width: 90%;
    }
}

.sec_prevention .box_prevention ul li {
    margin-bottom: 15px;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention ul li {
        line-height: 1.6;
        margin-bottom: 20px;
    }
}

.sec_prevention .box_prevention ul li span {
    position: relative;
    padding-left: 15px;
    display: block;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention ul li span {
        display: block;
    }
}

.sec_prevention .box_prevention ul li span:after {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #679bbe;
}

.sec_prevention .box_prevention .bg_area {
    background: #8fd1d5;
    margin-top: 60px;
    padding: 0 0 6%;
}

@media (max-width: 767px) {
    .sec_prevention .box_prevention .bg_area {
        padding: 0 0 10%;
    }
}

.sec_prevention .box_prevention .bg_area h3 {
    text-align: center;
    transform: translateY(-20px);
}

.sec_prevention .box_news {
    margin-top: 100px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    border-radius: 30px;
    padding: 40px 60px;
}

@media (min-width: 768px) {
    .sec_prevention .box_news {
        display: flex;
        align-items: center;
    }
}

@media (max-width: 767px) {
    .sec_prevention .box_news {
        padding: 30px;
        margin-top: 40px;
    }
}

@media (min-width: 768px) {
    .sec_prevention .box_news .heading {
        flex: 0 0 auto;
    }
}

.sec_prevention .box_news .heading h2 {
    text-align: left;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .sec_prevention .box_news .heading {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}


.sec_prevention .box_news .heading .btn-style a {
    max-width: 130px;
    padding: 0.8em 1.1em 0.8em 0;
    letter-spacing: 0.1em;
    font-weight: normal;
    font-family: "Times New Roman";
}

@media (min-width: 768px) {
    .sec_prevention .box_news .contents {
        width: 100%;
        padding-left: 4%;
    }
}

@media (min-width: 768px) {
    .sec_prevention .box_news .contents dl {
        display: flex;
        flex-wrap: wrap;
        flex: 1 1 auto;
    }
}

.sec_prevention .box_news .contents dl dt,
.sec_prevention .box_news .contents dl dd {
    padding: 20px 0;
}

@media (max-width: 767px) {

    .sec_prevention .box_news .contents dl dt,
    .sec_prevention .box_news .contents dl dd {
        padding: 5px 0 !important;
    }

    .sec_prevention .box_news .contents dl dt {
        border: 0 !important;
    }
    .sec_prevention .box_news .contents dl dd {
        padding-bottom: 15px !important;
    }
}

.sec_prevention .box_news .contents dl dt {
    width: 85px;
    border-bottom: 1px solid #eee;
}

.sec_prevention .box_news .contents dl dd {
    width: calc(100% - 85px - 20px);
    border-bottom: 1px solid #eee;
    padding-left: 20px;
}
@media (max-width: 767px) {
  .sec_prevention .box_news .contents dl dd {
    width: 100%;
  }
}

.sec_prevention .box_news .contents dl dd a {
    color: #1e2229;
}

.sec_prevention .box_news .contents dl dd a:hover {
    color: #367cb2;
}

.sec_feature {
    padding: 100px 0;
    background: url(img/bg_img002.jpg) no-repeat center center/cover;
}

@media (max-width: 767px) {
    .sec_feature {
        padding: 50px 0;
    }
}

.sec_feature h2 {
    text-align: center;
}

.sec_feature h3 {
    font-size: 26px;
    line-height: 1.8;
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    .sec_feature h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }
}

@media (min-width: 767px) {
  .sec_feature picture {
    margin-left: -2%;
    margin-right: -3%;
    display: block;
  }
}

.sec_feature p {
    margin-bottom: 40px;
}

@media (max-width: 767px) {
    .sec_feature p {
        margin-bottom: 20px;
    }
}

.sec_subjects {
    padding: 100px 0;
    background: url(img/bg_img003.jpg) no-repeat top 30% center/100%;
}

@media (max-width: 767px) {
    .sec_subjects {
        padding: 50px 0;
    }
}

.sec_subjects .tab_btn_wrap {
    display: flex;
    justify-content: space-between;
    gap: 0 30px;
    margin-bottom: 40px;
}

.sec_subjects .tab_btn_wrap .tab_btn {
    display: block;
    text-align: center;
    cursor: pointer;
    width: 48%;
    background: #e5e7e6;
    border-radius: 50px;
    padding: 8px;
    font-size: 28px;
    letter-spacing: 0.1em;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}

@media (max-width: 900px) and ( min-width : 768px ) {
  .sec_subjects .tab_btn_wrap .tab_btn {
    font-size: 3vw;
  }
}

@media (max-width: 767px) {
    .sec_subjects .tab_btn_wrap .tab_btn {
        font-size: 16px;
        padding: 8px 16px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.sec_subjects .tab_btn_wrap .tab_btn.active {
    background: #a6e4df;
    position: relative;
}

.sec_subjects .tab_btn_wrap .tab_btn.active:after {
    content: "";
    position: absolute;
    top: auto;
    bottom: -20px;
    right: 0;
    left: 0;
    margin: auto;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #a6e4df;
}

.sec_subjects .tab_content {
    border: 2px solid #a6e4df;
    border-radius: 10px;
    padding: 4% 4% 1%;
    margin-bottom: 60px;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content {
        margin-bottom: 30px;
    }
}

.sec_subjects .tab_content .tab_item {
    display: none;
}

@media (min-width: 768px) {
    .sec_subjects .tab_content .tab_item .columns .column {
        max-width: 48% !important;
        flex-basis: 48% !important;
    }
}

.sec_subjects .tab_content .tab_item .columns .column p {
    margin-top: 15px;
    line-height: 2;
}

.sec_subjects .tab_content .tab_item h4 {
    font-size: 26px;
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item h4 {
        font-size: 20px;
    }
}

.sec_subjects .tab_content .tab_item h4:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background: #a6e4df;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item h4:after {
        width: 16px;
        height: 16px;
    }
}

.sec_subjects .tab_content .tab_item .h4_list {
    display: flex;
    flex-wrap: wrap;
    padding: 20px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .h4_list {
        gap: 0 6%;
    }
}

.sec_subjects .tab_content .tab_item .h4_list li a {
    font-size: 26px;
    position: relative;
    padding: 0 25px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
.sec_subjects .tab_content .tab_item .h4_list li a:hover {
    color: #8fd1d5;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .h4_list li a {
        font-size: 20px;
    }
}

.sec_subjects .tab_content .tab_item .h4_list li a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background: #a6e4df;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .h4_list li a:after {
        width: 16px;
        height: 16px;
    }
}

.sec_subjects .tab_content .tab_item .h4_list li a:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: auto;
    margin: auto;
    width: 14px;
    height: 13px;
    background: url(img/arrow03.png) no-repeat center center/cover;
}

.sec_subjects .tab_content .tab_item .h4_list li:not(:first-child) {
    margin-left: 60px;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .h4_list li:not(:first-child) {
        margin-left: 0;
    }
}

.sec_subjects .tab_content .tab_item .h4_list li a {
    color: #1e2229;
}

.sec_subjects .tab_content .tab_item .btn_list {
    display: flex;
    flex-wrap: wrap;
    gap: 2.666%;
    margin-bottom: 20px;
}

.sec_subjects .tab_content .tab_item .btn_list .btn-style {
    width: 23%;
    margin-bottom: 2.666%;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .btn_list .btn-style {
        width: 48%;
    }
}

.sec_subjects .tab_content .tab_item .btn_list .btn-style a {
    max-width: 100%;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .btn_list .btn-style a {
        padding: 15px 0;
    }
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .btn_list .btn-style a:after {
        right: 5px;
    }
}

.sec_subjects .tab_content .tab_item .btn_list .btn-style.adjust a {
    padding: 13px 0;
}

@media (max-width: 767px) {
    .sec_subjects .tab_content .tab_item .btn_list .btn-style.adjust a {
        padding: 5.4px;
    }
}

.sec_subjects .tab_content .tab_item.active {
    display: block;
}

.sec_subjects .box_type {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
    margin-bottom: 40px;
    position: relative;
}


.sec_subjects .box_type:hover img{
  opacity: .7;
}
.sec_subjects .box_type:hover h3 span {
  color: #8fd1d5 !important;
}

.sec_subjects .box_type:hover p {
  color: #8fd1d5 !important;
}

@media (min-width: 768px) {
    .sec_subjects .box_type {
        max-width: 48% !important;
        flex-basis: 48% !important;
    }
}

.sec_subjects .box_type .img {
    width: 120px;
}
.sec_subjects .box_type .img img {
    transition: .2s;
}

.sec_subjects .box_type .txt {
    width: calc(100% - 120px);
    padding-left: 20px;
}

@media (max-width: 767px) {
    .sec_subjects .box_type .txt {
        padding-left: 10px;
    }
}

.sec_subjects .box_type .txt h3 {
    font-size: 26px;
    color: #1e2229;
}

@media (max-width: 900px) and ( min-width : 768px) {
    .sec_subjects .box_type .txt h3 {
        font-size: 20px;
    }
}

@media (max-width: 767px) {
    .sec_subjects .box_type .txt h3 {
        font-size: 20px;
    }
}

.sec_subjects .box_type .txt h3 span {
    color: #1e2229;
    position: relative;
    padding-right: 30px;
    transition: .2s;
}

.sec_subjects .box_type .txt h3 span:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: auto;
    margin: auto;
    width: 14px;
    height: 13px;
    background: url(img/arrow03.png) no-repeat center center/cover;
}

.sec_subjects .box_type .txt p{
    line-height: 1.4;
    color: #1e2229;
    transition: .2s;
}

.sec_subjects .box_type .area_link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.sec_about {
    padding: 100px 0;
    background: #f1f3f3;
}

@media (max-width: 767px) {
    .sec_about {
        padding: 50px 0;
    }
}

@media (min-width: 768px) {
    .sec_about h2 {
        margin-bottom: 20%;
    }
}

.sec_about .columns {
    position: relative;
    z-index: 0;
}

.sec_about .columns:after {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 40px;
    left: 0;
    margin: auto;
    width: 660px;
    height: 660px;
    background: url(img/bnr_img005.png) no-repeat center center/cover;
}

@media (max-width: 1000px) {
    .sec_about .columns:after {
        width: 60%;
    }
}

@media (max-width: 767px) {
    .sec_about .columns:after {
        content: none;
    }
}

.sec_about .box_white {
    background: #fff;
    padding: 12%;
    border-radius: 10px;
    box-shadow: 0 0 20px 0 rgba(30,34,41,.1);
}

.sec_about .box_white h3 {
    font-size: 22px;
    color: #367cb2;
    margin-bottom: 30px;
}

@media (max-width: 767px) {
    .sec_about .box_white {
        margin-top: 20px;
    }
    .sec_about .box_white h3 {
        font-size: 18px;
        margin-bottom: 20px;
    }
}

.sec_about .box_white h3 span {
    margin-left: 25px;
    font-size: 27px;
}

@media (max-width: 767px) {
    .sec_about .box_white h3 span {
        margin-left: 10px;
        font-size: 22px;
    }
}

.sec_about .box_white h3 span.eng {
    font-size: 16px;
}

@media (max-width: 767px) {
    .sec_about .box_white h3 span.eng {
        font-size: 14px;
        display: block;
        margin-left: 0;
    }
}

.sec_about .box_white p:not(.btn-style) {
    letter-spacing: 0.1em;
}

.sec_about .box_white .btn-style {
    margin: 40px 0 0;
}

.sec_reason {
    padding: 100px 0;
    background: url(img/bg_img004.jpg) no-repeat center center/cover;
}

@media (max-width: 767px) {
    .sec_reason {
        padding: 50px 0;
    }
}

.sec_reason .columns:not(:last-child) {
    margin-bottom: 20px;
}

@media (min-width: 768px) {
    .sec_reason .columns {
        display: flex;
        align-items: center;
    }
    .sec_reason .columns:not(:last-child) {
        margin-bottom: 50px;
    }
}

.sec_reason .box_num {
    position: relative;
}

@media (max-width: 767px) {
    .sec_reason .box_num {
        padding: 10px;
    }
}

.sec_reason .box_num:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 169px;
    height: 137px;
    background: url(img/num01.png) no-repeat center center/cover;
}

@media (max-width: 767px) {
    .sec_reason .box_num:after {
        top: 10px;
        right: 10px;
    }
}

.sec_reason .box02:after {
    width: 185px;
    background: url(img/num02.png) no-repeat center center/cover;
}

.sec_reason .box03:after {
    width: 177px;
    background: url(img/num03.png) no-repeat center center/cover;
}

.sec_reason h3 {
    font-size: 30px;
    margin-bottom: 15px;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 9;
}

@media (max-width: 767px) {
    .sec_reason h3 {
        font-size: 22px;
    }
}

.sec_reason h4 {
    font-size: 22px;
    color: #367cb2;
    margin-bottom: 20px;
    line-height: 2;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 9;
}

@media (max-width: 767px) {
    .sec_reason h4 {
        font-size: 18px;
    }
}

.sec_btn {
    padding: 100px 0;
    background: url(img/bg_img005.jpg) no-repeat center center/cover;
}

@media (max-width: 767px) {
    .sec_btn {
        padding: 0 0 50px;
    }
}

@media (min-width: 768px) {
    .sec_btn .list_btn {
        display: flex;
        justify-content: space-between;
        gap: 2%;
    }
    .sec_btn .list_btn li {
      max-width: 32%;
    }
}

@media (max-width: 767px) {
    .sec_btn .list_btn li {
        text-align: center;
        margin-bottom: 15px;
    }
}

.sec_info {
    padding: 100px 0;
    background: #fff;
border-bottom: solid 1px #f7f7f7;
}

@media (max-width: 767px) {
    .sec_info {
        padding: 50px 0;
    }
}

.sec_info figure {
    margin-bottom: 20px;
}

@media (max-width: 767px) {
    .sec_info figure {
        text-align: center;
    }
}

.sec_info .tel {
    margin-bottom: 0px;
}

@media (max-width: 767px) {
    .sec_info .tel {
        text-align: center;
    }
}

.sec_info .tel a {
    font-size: 39px;
    color: #1e2229;
    padding-left: 40px;
    position: relative;
    text-decoration: none;
    font-family: 'Times New Roman', serif !important;
}

.sec_info .tel a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
    width: 26px;
    height: 26px;
    background: url(img/tel.png) no-repeat center center/cover;
}

.sec_info .address {
    padding-left: 20px;
    position: relative;
}

@media (max-width: 767px) {
    .sec_info .address {
        padding-left: 30px;
    }
}

.sec_info .address:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 0;
    margin: auto;
    width: 16px;
    height: 22px;
    background: url(img/pin02.png) no-repeat center center/cover;
}

@media ( max-width : 1042px ) and ( min-width : 768px) {
	#header .address {
		width: 100%;
		text-align: right;
	}
	#header .tel {
		margin-left: 0;
	}
	#header .address br {
		display: none;
	}
}

/*オレンジパーツ*/

.bread li a{
color:#eb6700!important;
}
.qa-block .answer::before {
  background:#eb6700!important;  
}
.page-title{
background:url("img/under_title_orange.jpg")no-repeat center / cover;
}
.post-type-page h3, .under h3{
background: url(img/h3_bg_orange.png) no-repeat center center /100%!important;
}
.ul_check li::before{
background: url(img/check_orange.png) no-repeat!important;
}
@media (min-width: 768px) {
#menu-header-nav>li>a {
color:#333;
}
}