@charset "UTF-8";

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


/*↓ここから編集-----------------------------------------------------------------------*/


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


/*
* base
*/

body {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-font-feature-settings: 'palt';
font-feature-settings: 'palt';
margin: 0;
padding: 0;
border: 0;
outline: 0;
vertical-align: baseline;
line-height: 1.6;
letter-spacing: 0.05em;
word-wrap: break-word;
overflow: hidden;
background: #fff;
}

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, img, ins, kbd, q, samp, small, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, textarea {
margin: 0;
padding: 0;
border: none;
font-size: 100%;
font-weight: normal;
font-style: normal;
vertical-align: baseline;
background: transparent;
}

html {
font-size: 62.5%;
min-height: 100%;
overflow-y: scroll;
overflow-x: hidden;
}

img {
vertical-align: bottom;
}

article, aside, details, figcaption, figure, footer, header, menu, nav, section, div, address, iframe, canvas, hr, textarea {
display: block;
}

iframe {
max-width: 100% !important;
}

a, label {
cursor: pointer;
}

blockquote {
padding: 0;
margin: 0;
display: block;
}

address {
font-style: normal;
}

hr {
border: 0;
margin: 0;
padding: 0;
}

ul, ol, li {
list-style: none;
}

.main-contents ul,
.main-contents ol,
.sub-contents ul,
.sub-contents ol {
padding-left: 1.3em;
}

.main-contents ul li,
.sub-contents ul li {
list-style-type: disc;
}

.main-contents ol li,
.sub-contents ol li {
list-style-type: decimal;
}

textarea {
resize: vertical;
overflow: auto;
-webkit-appearance: none;
border: none;
}

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

a:focus {
outline: none;
}

*:before, *:after {
padding: 0;
margin: 0;
line-height: 1;
}

* {
box-sizing: border-box;
}

.cf:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}

.cf {
min-height: 1px;
}

* html .cf {
height: 1px;
/*¥*/
/*/
height: auto;
overflow: hidden;
/**/
}

.both {
clear: both;
}


/*
-----------------------------
ベース部分
-----------------------------
*/

.pc-only {
display: block !important;
}

.sp-only {
display: none !important;
}

.sp-only02 {
display: none;
}

.sp-only03 {
display: none;
}

.mq01 {
display: none;
}

body {
font-size: 16px;
font-size: 1.6rem;
color: #333;
position: relative;
}

body {
font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.inner {
width: 1200px;
margin: 0 auto;
}

.alignfull {
margin: 0 calc(50% - 50vw);
width: 100vw;
}

.wp-block-group__inner-container {
max-width: 1200px;
margin: 0 auto;
}

.wp-block-columns {
margin-bottom: 0;
}

.is-style-columns-margin-large .wp-block-column:not(:first-child) {
margin-left: 3em;
}

.is-style-columns-margin-normal .wp-block-column:not(:first-child) {
margin-left: 2em;
}

.is-style-columns-margin-small .wp-block-column:not(:first-child) {
margin-left: 1em;
}

.is-style-columns-margin-none .wp-block-column:not(:first-child) {
margin-left: 0em;
}

.is-style-columns-sp-large .wp-block-column:not(:first-child) {
margin-right: 3em;
margin-left: 0;
}

.is-style-columns-sp-normal .wp-block-column:not(:first-child) {
margin-right: 2em;
margin-left: 0;
}

.is-style-columns-sp-small .wp-block-column:not(:first-child) {
margin-right: 1em;
margin-left: 0;
}

.is-style-columns-sp-none .wp-block-column:not(:first-child) {
margin-right: 0em;
margin-left: 0;
}

.is-style-columns-sp-large .wp-block-column:first-of-type,
.is-style-columns-sp-normal .wp-block-column:first-of-type,
.is-style-columns-sp-small .wp-block-column:first-of-type,
.is-style-columns-sp-none .wp-block-column:first-of-type {
order: 2;
}

.is-style-columns-sp-large .wp-block-column:last-of-type,
.is-style-columns-sp-normal .wp-block-column:last-of-type,
.is-style-columns-sp-small .wp-block-column:last-of-type,
.is-style-columns-sp-none .wp-block-column:last-of-type {
order: 1;
}

img {
max-width: 100%;
height: auto;
}

a img {
transition: .2s;
}

a {
color: #229ae7;
text-decoration: none;
}

.main-contents a:hover,
.sub-contents a:hover {
color: #229ae7;
text-decoration: underline;
}

a:hover img {
opacity: 0.8;
}

.flt-box {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
margin-bottom: 40px;
}

.flt-box02 {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
}

.flt-left01 {
width: 48%;
}

.flt-right01 {
width: 48%;
}

.flt-left02 {
width: 60%;
}

.flt-right02 {
width: 35%;
}

.flt-left03 {
width: 70%;
}

.flt-right03 {
width: 25%;
}

.flt-left04 {
width: 35%;
}

.flt-right04 {
width: 60%;
}

.flt-left05 {
width: 25%;
}

.flt-right05 {
width: 70%;
}

.flt-left06 {
width: 55%;
}

.flt-right06 {
width: 40%;
}

.flt-left07 {
width: 40%;
}

.flt-right07 {
width: 55%;
}

.flt-left08 {
width: 48%;
}

.flt-right08 {
width: 48%;
}

.text-center {
text-align: center;
}

.text-center02 {
text-align: center;
}

button {
border: none;
cursor: pointer;
}

button:focus {
outline: none;
}


/* margin,padding ******************/

.mt_5 {
margin-top: 5px;
}

.mt_10 {
margin-top: 10px;
}

.mt_15 {
margin-top: 15px;
}

.mt_20 {
margin-top: 20px;
}

.mt_30 {
margin-top: 30px;
}

.mt_40 {
margin-top: 40px;
}

.mt_50 {
margin-right: 50px;
}

.mt_60 {
margin-right: 60px;
}

.mr_5 {
margin-right: 5px;
}

.mr_10 {
margin-right: 10px;
}

.mr_15 {
margin-right: 15px;
}

.mr_20 {
margin-right: 20px;
}

.mr_30 {
margin-right: 30px;
}

.mr_40 {
margin-right: 40px;
}

.mr_50 {
margin-right: 50px;
}

.mr_60 {
margin-right: 60px;
}

.mb_5 {
margin-bottom: 5px;
}

.mb_10 {
margin-bottom: 10px;
}

.mb_15 {
margin-bottom: 15px;
}

.mb_20 {
margin-bottom: 20px;
}

.mb_30 {
margin-bottom: 30px;
}

.mb_40 {
margin-bottom: 40px;
}

.mb_50 {
margin-bottom: 50px;
}

.mb_60 {
margin-bottom: 60px;
}

.ml_5 {
margin-left: 5px;
}

.ml_10 {
margin-left: 10px;
}

.ml_15 {
margin-left: 15px;
}

.ml_20 {
margin-left: 20px;
}

.ml_30 {
margin-left: 30px;
}

.ml_40 {
margin-left: 40px;
}

.ml_50 {
margin-left: 50px;
}

.ml_60 {
margin-left: 60px;
}

.pt_5 {
padding-top: 5px;
}

.pt_10 {
padding-top: 10px;
}

.pt_15 {
padding-top: 15px;
}

.pt_20 {
padding-top: 20px;
}

.pt_30 {
padding-top: 30px;
}

.pt_40 {
padding-top: 40px;
}

.pt_50 {
padding-top: 50px;
}

.pt_60 {
padding-top: 60px;
}

.pr_5 {
padding-right: 5px;
}

.pr_10 {
padding-right: 10px;
}

.pr_15 {
padding-right: 15px;
}

.pr_20 {
padding-right: 20px;
}

.pr_30 {
padding-right: 30px;
}

.pr_40 {
padding-right: 40px;
}

.pr_50 {
padding-right: 50px;
}

.pr_60 {
padding-right: 60px;
}

.pb_5 {
padding-bottom: 5px;
}

.pb_10 {
padding-bottom: 10px;
}

.pb_15 {
padding-bottom: 15px;
}

.pb_20 {
padding-bottom: 20px;
}

.pb_30 {
padding-bottom: 30px;
}

.pb_40 {
padding-bottom: 40px;
}

.pb_50 {
padding-bottom: 50px;
}

.pb_60 {
padding-bottom: 60px;
}

.pl_5 {
padding-left: 5px;
}

.pl_10 {
padding-left: 10px;
}

.pl_15 {
padding-left: 15px;
}

.pl_20 {
padding-left: 20px;
}

.pl_30 {
padding-left: 30px;
}

.pl_40 {
padding-left: 40px;
}

.pl_50 {
padding-left: 50px;
}

.pl_60 {
padding-left: 60px;
}


/*グループ*/

.is-style-group01 {
padding: 10px;
}

.is-style-group02 {
padding: 15px;
}

.is-style-group03 {
padding: 20px;
}

.is-style-group04 {
padding: 30px;
}

.is-style-group05 {
padding: 20px 0;
}

.is-style-group06 {
padding: 30px 0;
}

.is-style-group07 {
padding: 40px 0;
}

.is-style-group08 {
padding: 50px 0;
}

.is-style-group09 {
padding: 60px 0;
}

.is-style-group10 {
padding: 80px 0;
}

.is-style-group11 {
padding: 100px 0;
}

.has-sub-color-background-color {
background: #fffaf2}

.has-main-color-background-color {
background: #2638dd}

.has-accent-color-background-color {
background: #f59728}

.has-color-black-background-color {
background: #333;
}

.has-color-white-background-color {
background: #fff;
}


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


/*
ボタン
*/

.wp-block-button__link {
background: none;
padding: 0;
font-size: 16px;
}

.wp-block-button {
margin-right: 0;
}

.wp-block-button a:hover {
text-decoration: none;
color: #fff;
}

.block-editor-block-preview__content {
text-align: center;
}

.is-style-btn01 {
background: #f59728;
-webkit-transition: .2s;
transition: .2s;
}

.is-style-btn01 a {
display: inline-block;
padding: 15px 60px;
position: relative;
font-size: 16px;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
}

.is-style-btn01 a:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 22px;
left: inherit;
-webkit-transition: .2s;
transition: .2s;
}

.is-style-btn01:hover {
opacity: 0.8;
}

.is-style-btn01:hover a:after {
right: 17px;
}

.is-style-btn02 {
-webkit-transition: .2s;
transition: .2s;
background: #f59728;
border-radius: 60px;
}

.is-style-btn02 a {
display: inline-block;
padding: 15px 60px;
position: relative;
font-size: 16px;
font-weight: 700;
border-radius: 60px;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
}

.is-style-btn02 a:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 8px;
height: 8px;
margin-top: -4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 22px;
left: inherit;
-webkit-transition: .2s;
transition: .2s;
}

.is-style-btn02:hover {
opacity: 0.8;
}

.is-style-btn02:hover a:after {
right: 17px;
}

.is-style-btn03 {
background: transparent;
border: solid 2px #f59728;
-webkit-transition: .2s;
transition: .2s;
}

.is-style-btn03 a {
display: inline-block;
padding: 15px 60px;
position: relative;
font-size: 16px;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
}

.is-style-btn03 a:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 8px;
height: 8px;
margin-top: -4px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 22px;
left: inherit;
-webkit-transition: .2s;
transition: .2s;
border-top: 2px solid #f59728;
border-right: 2px solid #f59728;
}

.is-style-btn03:hover {
background: #f59728;
}

.is-style-btn03 a:hover {
color: #fff;
}

.is-style-btn03:hover a:after {
right: 17px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}

.is-style-btn03 .wp-block-button__link {
color: #333;
}

.is-style-btn04 {
border-radius: 60px;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
background: transparent;
border: solid 2px #f59728;
}

.is-style-btn04 a {
display: inline-block;
padding: 15px 60px;
position: relative;
font-size: 16px;
border-radius: 60px;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
}

.is-style-btn04 a:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 8px;
height: 8px;
margin-top: -4px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 22px;
left: inherit;
-webkit-transition: .2s;
transition: .2s;
border-top: 2px solid #f59728;
border-right: 2px solid #f59728;
}

.is-style-btn04:hover {
background: #f59728;
}

.is-style-btn04 a:hover {
color: #fff;
}

.is-style-btn04:hover a:after {
right: 17px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}

.is-style-btn04 .wp-block-button__link {
color: #333;
}

.btn01, #submit #confirm, #submit #send, #submit #back {
display: inline-block;
padding: 25px 100px;
position: relative;
font-size: 16px;
font-size: 1.6rem;
border-radius: 60px;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
}

.btn02 {
display: inline-block;
padding: 15px 80px;
position: relative;
border-radius: 60px;
font-size: 16px;
font-size: 1.6rem;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1.4;
}

.contact-btn {
display: inline-block;
padding: 30px 10px;
width: 90%;
border-radius: 60px;
text-align: center;
position: relative;
background: #f55000;
border: solid 2px #f55000;
font-size: 20px;
font-size: 2rem;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1;
}

.contact-btn span {
font-weight: bold;
color: #fff;
padding-left: 5px;
}

.contact-btn:hover {
background: #fff;
}

.contact-btn:hover span {
color: #f55000;
}

.contact-btn:hover .icon-mail02:before {
width: 43px;
height: 32px;
background: url(../images/common/icon_mail03.png);
background-size: 43px 32px;
left: -60px;
}

.contact-btn02 {
display: inline-block;
padding: 30px 100px;
text-align: center;
position: relative;
background: #fff;
font-size: 18px;
font-size: 1.8rem;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1;
}

.contact-btn02 span {
font-weight: bold;
color: #fff;
}

.contact-btn02:hover {
opacity: 0.8;
}

.btn-wrap01 {
margin-top: 50px;
text-align: center;
}

.btn-wrap02 {
margin-top: 30px;
text-align: center;
}

.btn-wrap03 {
margin-top: 20px;
text-align: center;
}

.arrow01 {
position: relative;
}

.arrow01:after {
display: block;
content: "";
position: absolute;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
right: 13px;
width: 6px;
height: 6px;
margin-top: -3px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}

.arrow02 {
position: relative;
}

.arrow02:after {
display: block;
content: "";
position: absolute;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 0;
height: 0;
right: 13px;
width: 6px;
height: 6px;
margin-top: -3px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
border-top: 2px solid #229ae7;
border-right: 2px solid #229ae7;
}

.arrow03 {
position: relative;
-webkit-transition: .2s;
transition: .2s;
}

.arrow03:before {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 26px;
height: 26px;
border-radius: 50%;
background: #229ae7;
right: 10px;
-webkit-transition: .2s;
transition: .2s;
}

.arrow03:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 6px;
height: 6px;
margin-top: -4px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 21px;
-webkit-transition: .2s;
transition: .2s;
}

.arrow04 {
position: relative;
-webkit-transition: .2s;
transition: .2s;
}

.arrow04:before {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 50px;
height: 50px;
background: #0244a7;
right: 24px;
-webkit-transition: .2s;
transition: .2s;
}

.arrow04:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
width: 15px;
height: 15px;
margin-top: -8px;
border-top: 3px solid #fff;
border-right: 3px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 41px;
-webkit-transition: .2s;
transition: .2s;
}

.arrow04:hover:before {
background: #fff;
}

.arrow04:hover:after {
border-top: 3px solid #229ae7;
border-right: 3px solid #229ae7;
}

.arrow05 {
position: relative;
padding-left: 15px;
}

.arrow05:after {
display: block;
content: "";
position: absolute;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
left: 0px;
width: 4px;
height: 4px;
margin-top: -2px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
border-top: 2px solid #fff;
border-right: 2px solid #fff;
}


/*
センター揃え
*/

.center {
text-align: center;
}

.m_center {
margin: 0 auto;
}


/*
フォント
*/

.font01 {
font-family: 'Roboto Mono', monospace;
font-style: normal;
font-weight: bold;
}

.has-fs-12-font-size {
font-size: 12px;
}

.has-fs-14-font-size {
font-size: 14px;
}

.has-fs-16-font-size {
font-size: 16px;
}

.has-fs-18-font-size {
font-size: 18px;
}

.has-fs-20-font-size {
font-size: 20px;
}

.has-fs-24-font-size {
font-size: 24px;
}

.has-fs-28-font-size {
font-size: 28px;
}

.has-fs-32-font-size {
font-size: 32px;
}

.has-fs-36-font-size {
font-size: 36px;
}

.has-fs-40-font-size {
font-size: 40px;
}


/*
見出し
*/

.is-style-heading01 {
font-size: 32px;
font-weight: bold;
padding-left: 28px;
margin-bottom: 40px;
border-left: 6px solid #2638dd;
letter-spacing: 4px;
}

.is-style-heading02 {
font-size: 32px;
font-weight: bold;
border-bottom: 2px solid #ccc;
position: relative;
padding: .5em 0;
padding-left: 50px;
margin-bottom: 40px;
letter-spacing: 4px;
}

.is-style-heading02:before {
content: "";
display: block;
width: 30px;
height: 10px;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: #2638dd;
}

.is-style-heading03 {
font-size: 32px;
font-weight: bold;
padding: 1rem 2rem;
background: #f4f4f4;
margin-bottom: 40px;
border-bottom: 3px solid #2638dd;
letter-spacing: 4px;
}

.is-style-heading04 {
font-size: 32px;
font-weight: bold;
padding: 1rem 2rem;
background: #f4f4f4;
margin-bottom: 40px;
border-top: 3px solid #2638dd;
letter-spacing: 4px;
}

.is-style-heading05 {
font-size: 32px;
font-weight: bold;
position: relative;
padding: 1rem 2rem;
padding-top: 0;
border-bottom: 3px solid #ccc;
margin-bottom: 40px;
letter-spacing: 4px;
}

.is-style-heading05:before {
position: absolute;
bottom: -3px;
left: 0;
width: 20%;
height: 3px;
content: '';
background: #2638dd;
}

.is-style-heading06 {
font-size: 32px;
font-weight: bold;
position: relative;
padding-bottom: 1.5rem;
text-align: center;
margin-bottom: 45px;
letter-spacing: 4px;
}

.is-style-heading06 span {
font-weight: bold;
}

.is-style-heading06:before {
position: absolute;
bottom: -5px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 100px;
height: 5px;
content: '';
background: #2638dd;
}

.is-style-heading07 {
font-size: 32px;
text-align: center;
margin-bottom: 40px;
letter-spacing: 4px;
}

.is-style-heading07 span {
font-weight: bold;
display: inline-block;
position: relative;
}

.is-style-heading07 span:after {
content: "";
display: block;
height: 2px;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
left: -250px;
width: 200px;
background: #2638dd;
}

.is-style-heading07 span:before {
content: "";
display: block;
height: 2px;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: -250px;
width: 200px;
background: #2638dd;
}

.is-style-heading08 {
font-size: 32px;
font-weight: bold;
position: relative;
padding-bottom: 1.5rem;
text-align: center;
margin-bottom: 45px;
letter-spacing: 4px;
}

.is-style-heading08:before {
position: absolute;
bottom: -5px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 200px;
height: 3px;
content: '';
z-index: 2;
background: #2638dd;
}

.is-style-heading08:after {
position: absolute;
bottom: -5px;
top: inherit;
left: 0;
width: 100%;
height: 3px;
content: '';
background: #ccc;
z-index: 1;
}

.is-style-heading08 span {
font-weight: bold;
display: inline-block;
position: relative;
}

.is-style-sub-heading01 {
padding: 0.5em 0.5em;
color: #FFF;
font-size: 20px;
font-weight: bold;
margin-bottom: 20px;
background: #2638dd;
letter-spacing: 2px;
}

.is-style-sub-heading02 {
padding: 0 0.5em 0.5em;
font-size: 20px;
font-weight: bold;
margin-bottom: 20px;
border-bottom: solid 3px #2638dd;
letter-spacing: 2px;
}

.is-style-sub-heading03 {
font-size: 20px;
font-weight: bold;
position: relative;
padding: 0 0 0 0.5em;
margin-bottom: 20px;
border-left: solid 3px #2638dd;
letter-spacing: 2px;
}

.is-style-sub-heading03:after {
border-bottom: solid 2px #CCC;
left: 0px;
bottom: -0.5em;
content: " ";
width: 100%;
position: absolute;
pointer-events: none;
}

.is-style-sub-heading04 {
padding: 0.5em 0.5em;
padding-left: 40px;
color: #FFF;
font-size: 20px;
font-weight: bold;
position: relative;
margin-bottom: 20px;
background: #2638dd;
letter-spacing: 2px;
}

.is-style-sub-heading04:after {
content: "";
display: block;
width: 25px;
height: 3px;
background: #fff;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}

.is-style-sub-heading05 {
background: #eaeaea;
padding: 0.5em 0.5em;
padding-left: 40px;
color: #333;
font-size: 20px;
font-weight: bold;
position: relative;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-sub-heading05:after {
content: "";
display: block;
width: 25px;
height: 3px;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: #2638dd;
}

.is-style-sub-heading06 {
padding: 0.5em 0.5em;
padding-left: 40px;
color: #333;
border-bottom: solid 2px #ccc;
font-size: 20px;
font-weight: bold;
position: relative;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-sub-heading06:after {
content: "";
display: block;
width: 25px;
height: 3px;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: #2638dd;
}

.is-style-sub-heading07 {
padding: 0.5em 0.5em;
color: #333;
font-size: 20px;
font-weight: bold;
position: relative;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-sub-heading07:after {
content: "";
display: block;
width: 11%;
height: 3px;
position: absolute;
bottom: -5px;
left: 0;
top: inherit;
background: #2638dd;
}

.is-style-sub-heading07:before {
content: "";
display: block;
width: 100%;
height: 3px;
background: #ccc;
position: absolute;
bottom: -5px;
left: 0;
top: inherit;
}

.is-style-sub-heading08 {
padding-left: 30px;
color: #333;
font-size: 20px;
font-weight: bold;
position: relative;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-sub-heading08:after {
content: "";
display: block;
width: 20px;
height: 3px;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: #2638dd;
}

.is-style-sub-heading09 {
padding: 0 0 0 1em;
color: #333;
font-size: 20px;
font-weight: bold;
position: relative;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-sub-heading09:after {
content: "";
display: block;
width: 5px;
height: 100%;
border-radius: none;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
background: #2638dd;
}


/*
アイコン
*/

.icon {
position: relative;
display: inline-block;
}

.icon:before {
position: absolute;
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
}

.icon-sp-tel:before {
width: 20px;
height: 27px;
background: url(../images/sp_icon_tel.png);
background-size: 20px 27px;
left: -25px;
}

.icon-mail01:before {
width: 19px;
height: 20px;
background: url(../images/common/icon_mail01.png);
background-size: 19px 20px;
left: -5px;
}

.icon-mail02:before {
width: 43px;
height: 32px;
background: url(../images/common/icon_mail02.png);
background-size: 43px 32px;
left: -60px;
}

.icon-mail03:before {
width: 44px;
height: 31px;
background: url(../images/icon_mail03.png);
background-size: 44px 31px;
left: -50px;
}

.icon-sp-mail:before {
width: 20px;
height: 14px;
background: url(../images/common/sp_mail.png);
background-size: 20px 14px;
left: -27px;
}

.icon-map:before {
width: 10px;
height: 15px;
background: url(../images/common/icon_map.png);
background-size: 10px 15px;
left: -10px;
}

.icon-pdf:before {
width: 22px;
height: 30px;
background: url(../images/common/icon_pdf.png);
background-size: 22px 30px;
left: -35px;
}


/*
リンク
*/

.imghover {
-webkit-transition: all .2s;
transition: all .2s;
}

.imghover:hover {
opacity: 0.8;
}


/*
ラベル
*/

.lable01 {
background: #000;
padding: 5px 15px;
border-radius: 8px;
display: inline-block;
color: #fff;
}


/*
テキスト
*/

p {
margin-bottom: 10px;
line-height: 1.6;
margin-top: 0;
}

.text {
margin-bottom: 10px;
}

.required, .caution {
color: #e60012;
font-weight: bold;
}


/*
角丸
*/

.cycle {
border-radius: 10px;
overflow: hidden;
}

.cycle-item {
padding-left: 15px;
position: relative;
margin-bottom: 5px;
font-weight: bold;
}

.cycle-item:before {
display: block;
content: '';
position: absolute;
top: .6em;
left: 0px;
width: 8px;
height: 8px;
background-color: #229ae7;
border-radius: 100%;
}

.cycle-red {
padding-left: 20px;
position: relative;
margin-bottom: 5px;
}

.cycle-red:before {
display: block;
content: '';
position: absolute;
top: .6em;
left: 0px;
width: 8px;
height: 8px;
background-color: #e60012;
border-radius: 100%;
}

li::marker {
color: #2638dd;
}


/*
テーブル
*/

table {
border-top: solid 1px #ccc;
border-bottom: solid 1px #ccc;
width: 100%;
}

table th {
width: 25%;
padding: 20px;
background: #edeff1;
color: #333;
vertical-align: top;
text-align: left;
font-size: 16px;
font-size: 1.6rem;
font-weight: bold;
border-bottom: solid 1px #ccc;
}

table td {
border-bottom: solid 1px #ccc;
padding: 20px;
background: #fff;
}

.wp-block-table figcaption {
display: none;
}

.is-style-table01 table {
border-top: solid 1px #ccc;
border-bottom: solid 1px #ccc;
width: 100%;
}

.is-style-table01 table td:nth-child(1) {
width: 25%;
padding: 30px;
background: #2638dd;
color: #fff;
vertical-align: top;
text-align: left;
font-size: 16px;
font-weight: bold;
border-bottom: solid 1px #ccc;
border-top: solid 1px #ccc;
border-left: none;
border-right: none;
}

.is-style-table01 table td {
border-bottom: solid 1px #ccc;
padding: 30px;
background: #fff;
border-right: none;
border-left: none;
border-top: none;
}

.is-style-table02 table {
border-top: solid 1px #ccc;
border-bottom: solid 1px #ccc;
width: 100%;
table-layout: fixed;
}

.is-style-table02 table tr:nth-child(1) td {
display: table-cell;
width: auto;
padding: 30px;
background: #2638dd;
color: #fff;
vertical-align: top;
text-align: left;
font-size: 16px;
font-weight: bold;
border-bottom: solid 1px #ccc;
}

.is-style-table02 table td {
border-bottom: solid 1px #ccc;
padding: 30px;
background: #fff;
border-right: solid 1px #ccc;
border-left: solid 1px #ccc;
border-top: none;
}

.flt-4-item {
float: left;
width: 23%;
margin-right: 2.6%;
}

.flt-4-item:last-child {
margin-right: 0;
}

.flt-3-list {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.flt-3-item {
width: 31%;
}

.flt-6-item {
float: left;
width: 31%;
margin-right: 3.5%;
margin-bottom: 30px;
}

.flt-6-item:nth-of-type(3n) {
margin-right: 0;
}

.flt-img-title {
font-weight: bold;
text-align: center;
margin-top: 10px;
}

.flt-img-text {
text-align: center;
font-weight: bold;
margin-top: 10px;
}

.flt-img-text02 {
text-align: center;
margin-top: 10px;
}

.bg-color01 {
background: #ebf5fd;
}

button {
position: relative;
}


/*----------------------------------
スマホ非表示
----------------------------------*/

.sp-nav {
display: none;
}


/*----------------------------------
TablePress
----------------------------------*/

.tablepress th, .tablepress td {
border: #CCC 1px solid;
}

.tablepress tfoot th, .tablepress thead th {
background-color: #2638dd;
}

.tablepress tfoot th, .tablepress thead th {
background-color: #2638dd;
}

.tablepress .sorting:hover, .tablepress .sorting_asc, .tablepress .sorting_desc {
background-color: #2638dd;
}


/*----------------------------------
ヘッダー
----------------------------------*/

.loading-img {
width: 100vw;
height: 100vh;
background-color: #ffffff;
position: fixed;
top: 0;
right: 0;
z-index: 100;
}

.loading-logo {
width: 122px;
height: 122px;
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
/* Safari用 */
transform: translate(-50%, -50%);
}

.logo {
margin-bottom: 0;
}

.header-search form {
position: relative;
}

.header_search .glyphicon {
position: absolute;
top: 11px;
left: 8px;
}

.header_search input#searchsubmit {
border: 1px solid #666;
background: #FFF;
font-weight: 700;
font-size: 14px;
padding: 0px 10px;
}

.header_search_text {
width: 175px;
padding: 2px;
border: solid 1px #ccc;
}

.fixed {
position: fixed;
top: 0;
left: 0;
z-index: 200;
}

.header-fixed.fixed {
background: rgba(255, 255, 255, 0.95);
}

.sub-header-fixed.fixed {
background: rgba(255, 255, 255, 0.95);
}

@media (max-width:1199px) {
.header_search_text {
width: 80px;
}
}

@media (max-width:991px) {
.header_search_text {
width: 60px;
}
}

.pc-nav .nav-list li ul {
display: none;
}

.pc-nav .nav-list li ul {
list-style: none;
position: absolute;
z-index: 9999;
top: 100%;
left: -50%;
margin: 0;
padding: 0;
width: 200%;
}

.pc-nav .nav-list li ul li {
width: 100%;
}

.pc-nav .nav-list li ul li a {
display: block;
height: auto;
font-size: 14px;
padding: 15px 10px;
color: #fff;
transition: .2s;
position: relative;
background: #2638dd;
}

.pc-nav .nav-list li ul li a:hover {
opacity: 0.8;
}

.pc-nav .nav-list li ul li a:hover:after {
transform-origin: top right;
}

.pc-nav .nav-list li ul li a:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
right: 13px;
left: inherit;
width: 4px;
height: 4px;
-webkit-transform: rotate(45deg) !important;
transform: rotate(45deg) !important;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
}

.main-contents {
padding: 100px 0;
}

@keyframes zoomUp {
0% {
will-change: transform;
transform: scale(1);
}
100% {
will-change: transform;
transform: scale(1.15);
}
}

.swiper-slide-active .slide-img, .swiper-slide-duplicate-active .slide-img, .swiper-slide-prev .slide-img {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
animation: zoomUp 8s linear 0s 1 normal both;
}

.slide-img img {
display: block;
}

.section-contents {
padding: 80px 0;
}

.main-img {
position: relative;
}

.main-img>img {
width: 100%;
}

.main-img .main-img-copy {
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
left: 14%;
width: 40%;
}

.news-inner article {
border-bottom: solid 1px #ccc;
}

.news-inner article a {
padding-top: 20px;
padding-bottom: 20px;
overflow: hidden;
display: block;
color: #333;
display: flex;
}

.news-inner article a:hover {
text-decoration: none;
}

.news-inner article:first-of-type a {
padding-top: 0;
}

.news-text-wrap {
padding-left: 40px;
display: flex;
}

.news-cat-list {
display: flex;
}

.news-inner article a {
-webkit-transition: .2s;
transition: .2s;
}

.news-inner article a:hover {
color: #2638dd;
}

.news-inner article a time {
font-weight: bold;
color: #2638dd;
}

.news-inner article a .news-text {
padding-left: 30px;
}

.news-inner h2+article a {
padding-top: 0;
}

.news-cat {
border: solid 1px #ccc;
font-size: 12px;
padding: 2px 10px;
margin-right: 10px;
}

.news-thumb-box {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
}

.news-inner.has-thumbnail article a {
display: block;
}

.news-thumb-wrap {
width: 20%;
overflow: hidden;
position: relative;
background: #f6f7f8;
}

.news-has-thumb-text {
width: 80%;
}

.has-thumbnail .news-text-wrap {
display: block;
}

.news-thumb-img {
position: relative;
height: 100%;
height: 140px;
-webkit-transform: scale(1);
transform: scale(1);
-webkit-transition: .5s ease-in-out;
transition: .5s ease-in-out;
}

.news-thumb-img img {
transition: .2s;
-webkit-transition: .2s;
width: 100%;
object-fit: cover;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}

.news-inner article a:hover .news-thumb-img {
-webkit-transform: scale(1.1);
transform: scale(1.1);
opacity: 0.8;
}


.news-inner.has-thumbnail article a .news-text {
padding-left: 0px;
font-size: 18px;
font-weight: bold;
margin-bottom: 5px;
}

.news-inner.has-thumbnail article a time {
font-weight: normal;
display: block;
margin-bottom: 10px;
}

.wp-block-costom-widget-my-example01 {
margin: 0 calc(50% - 50vw);
width: 100vw;
}

.top-result-list {
display: flex;
justify-content: space-between;
padding: 0 30px;
}

.top-result-list li {
width: 25%;
margin: 0 34px;
position: relative;
list-style: none;
}

.top-result-img-wrap, .result-img-wrap {
overflow: hidden;
position: relative;
background: #fff;
}

.top-result-img-wrap .top-result-img, .result-img-wrap .result-img {
max-height: 240px;
min-height: 240px;
-webkit-transform: scale(1);
transform: scale(1);
-webkit-transition: .5s ease-in-out;
transition: .5s ease-in-out;
}

.top-result-img-wrap .top-result-img img, .result-img-wrap .result-img img {
max-height: 240px;
min-height: 240px;
height: auto;
width: 100%;
object-fit: cover;
}

.top-result-list li:hover .top-result-img, .result-list li:hover .result-img {
-webkit-transform: scale(1.1);
transform: scale(1.1);
opacity: 0.8;
}

.result-heading {
margin-top: 10px;
font-weight: bold;
font-size: 16px;
color: #333;
margin-bottom: 0;
}

.top-result-list li:hover a {
text-decoration: none;
}

.pagetop {
display: none;
position: fixed;
bottom: 20px;
right: 20px;
margin: 0 auto;
z-index: 200;
cursor: pointer;
color: #FFF;
background-color: #2638dd;
width: 70px;
height: 70px;
line-height: 70px;
text-align: center;
}

.pagetop a {
display: block;
}

.pagetop i {
display: block;
content: "";
position: absolute;
top: 54%;
left: 50%;
-webkit-transform: translate(-50%, -50%) rotate(-45deg);
transform: translate(-50%, -50%) rotate(-45deg);
width: 16px;
height: 16px;
border-top: 4px solid #fff;
border-right: 4px solid #fff;
}

.pagetop:hover {
opacity: 0.8;
}

.footer {
margin-top: 100px;
background: #efefef;
}

.footer .inner {
padding-top: 60px;
padding-bottom: 60px;
}

.footer-inner-wrap {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
}

.footer-address-wrap {
width: 25%;
}

.footer-address {
color: #333333;
}

.footer-logo {
background: #fff;
text-align: center;
padding: 15px;
margin-bottom: 20px;
}

.footer-nav {
width: 70%;
}

.footer-nav ul {
display: flex;
flex-wrap: wrap;
}

.footer-nav ul li {
width: 18%;
margin-right: 2%;
margin-bottom: 15px;
}

.footer-nav ul li:nth-child(5n) {
margin-right: 0;
}

.footer-nav ul li .sub-menu {
margin-top: 0px;
margin-left: 20px;
}

.footer-nav ul li .sub-menu li {
margin-bottom: 5px;
text-align: left;
position: relative;
width: 100%;
margin-right: 0;
}

.footer-nav ul li .sub-menu li a {
font-size: 12px;
}

.footer-nav ul li .sub-menu li a:after {
position: static;
}

.footer-nav ul li .sub-menu li:after {
display: block;
content: '';
position: absolute;
top: .7em;
left: -1em;
width: 10px;
height: 1px;
background-color: #333333;
}

.footer-nav a {
display: inline-block;
 /* padding-right: 30px; */
position: relative;
color: #333333;
font-size: 14px;
}

.footer-nav a:hover {
text-decoration: underline;
}

.footer-nav-list {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-bottom: 20px;
}

.footer-nav-list02 {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.footer-nav-item {
width: 20%;
}

.footer-nav-item02 {
margin-right: 40px;
}

.copyright {
color: #333333;;
padding: 20px 0;
text-align: center;
}

.copyright p {
text-align: center;
}

.is-fixed {
position: fixed;
top: 0;
left: 0;
z-index: 200;
border-bottom: solid 1px #a02328;
}

.is-fixed .header-block-wrap {
display: none;
}

.sub-title-wrap {
background: url(https://www.basing.co.jp/wp-content/uploads/2021/08/sub-top.jpg) center center no-repeat #ccc;
background-size: cover;
width: 100%;
}

.sub-title {
padding: 100px 10px 100px;
text-align: center;
font-size: 40px;
font-size: 4rem;
font-weight: bold;
letter-spacing: 8px;
color: #fff;
}

.sub-title h1 {
font-weight: bold;
}

.sub-title span {
display: block;
font-size: 20px;
font-size: 2rem;
letter-spacing: 3px;
}

.bread-crumb {
padding: 20px 0;
margin-bottom: 40px;
font-size: 12px;
}

.bread-crumb ul li {
float: left;
}

.bread-crumb a {
font-weight: bold;
color: #2638dd;
}

.bread-crumb a:hover {
text-decoration: underline;
}

.section-inner {
margin-bottom: 60px;
}

.section-inner:last-child {
margin-bottom: 0px;
}

.sub-section {
margin-bottom: 80px;
}

.sub-section02 {
padding: 80px 0;
width: 100%;
background: url(../images/common/bg_top_concept.png) repeat;
}

.sub-section03 {
padding: 80px 0;
}


/*
fadeinアニメーション用
*/

.fadein {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 0;
transform: translate(0, 50px);
transition: all 800ms;
}

.fadein.scrollin {
opacity: 1;
transform: translate(0, 0);
}

.fade-in {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 0;
transition: .8s;
}

.fade-in.scrollin {
opacity: 1;
}

.fade-in-up {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 0;
transition: .8s;
transform: translateY(50px);
}

.fade-in-up.scrollin {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 1;
transform: translateY(0);
}

.fade-in-right {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 0;
transition: .8s;
transform: translateX(-100px);
}

.fade-in-right.scrollin {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 1;
transform: translateX(0);
}

.fade-in-left {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 0;
transition: .8s;
transform: translateX(100px);
}

.fade-in-left.scrollin {
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
opacity: 1;
transform: translateX(0);
}

.fade-in-delay-4 {
transition-delay: .4s;
animation-delay: .4s;
}

.fade-in-delay-4:before {
transition-delay: .4s;
animation-delay: .4s;
}

.fade-in-delay-6 {
transition-delay: .6s;
animation-delay: .6s;
}

.fade-in-delay-6:before {
transition-delay: .6s;
animation-delay: .6s;
}

.fade-in-delay-8 {
transition-delay: .8s;
animation-delay: .8s;
}

.fade-in-delay-8:before {
transition-delay: .8s;
animation-delay: .8s;
}

.fade-in-delay-10 {
transition-delay: 1s;
animation-delay: 1s;
}

.fade-in-delay-10:before {
transition-delay: 1s;
animation-delay: 1s;
}

.fade-in-delay-12 {
transition-delay: 1.2s;
animation-delay: 1.2s;
}

.fade-in-delay-12:before {
transition-delay: 1.2s;
animation-delay: 1.2s;
}

.slide-mask {
position: relative;
visibility: visible;
overflow: hidden;
}

.slide-mask:before {
-moz-backface-visibility: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
background: #2638dd;
}

.slide-mask.scrollin:before {
-moz-backface-visibility: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
-moz-transform: translateX(-101%);
-ms-transform: translateX(-101%);
-webkit-transform: translateX(-101%);
transform: translateX(-101%);
z-index: 2;
background: #2638dd;
animation-name: anim-slide-mask;
animation-duration: 1.2s;
animation-timing-function: cubic-bezier(.78, .07, 0, 1);
animation-direction: normal;
}

.slide-mask02 {
position: relative;
overflow: hidden;
}

.slide-mask02:before {
-moz-backface-visibility: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
background: #2638dd;
}

.slide-mask02.scrollin:before {
-moz-backface-visibility: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
-moz-transform: translateX(-101%);
-ms-transform: translateX(-101%);
-webkit-transform: translateX(-101%);
transform: translateX(-101%);
z-index: 2;
background: $color-green;
animation-name: anim-slide-mask02;
animation-duration: 1s;
animation-timing-function: ease;
animation-direction: normal;
animation-fill-mode: forwards;
}

.slide-mask02-inner {
opacity: 0;
}

.slide-mask02-inner.scrollin {
animation-name: anim-slide-mask02-inner;
animation-duration: 1s;
animation-timing-function: ease;
animation-direction: normal;
animation-fill-mode: forwards;
}

@keyframes anim-slide-mask {
0% {
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0)
}
47.5% {
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0)
}
52.5% {
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0)
}
100% {
-moz-transform: translateX(100%);
-ms-transform: translateX(100%);
-webkit-transform: translateX(100%);
transform: translateX(100%)
}
}

@keyframes anim-slide-mask02 {
0% {
-moz-transform: translateX(-101%);
-ms-transform: translateX(-101%);
-webkit-transform: translateX(-101%);
transform: translateX(-101%);
}
50% {
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0)
}
51% {
-moz-transform: translateX(0);
-ms-transform: translateX(0);
-webkit-transform: translateX(0);
transform: translateX(0)
}
100% {
-moz-transform: translateX(100%);
-ms-transform: translateX(100%);
-webkit-transform: translateX(100%);
transform: translateX(100%);
}
}

@keyframes anim-slide-mask02-inner {
0% {
opacity: 0;
}
50% {
opacity: 0;
}
100% {
opacity: 100%;
}
}


/*----------------------------------
ニュース一覧ページ
----------------------------------*/

.news-cat-list,
.news-category-list,
.result-category-list,
.result-item-cat-list,
.result-list,
.news-cat-list,
.result-img-item-wrap,
.post-link ul {
padding-left: 0px !important;
}
.news-cat-list li,
.news-category-list li,
.result-category-list li,
.result-item-cat-list li,
.result-list li,
.news-cat-list li,
.result-img-item-wrap li,
.post-link ul li,
.top-result-list li {
list-style: none !important;
}

.news-wrap a:hover {
text-decoration: none;
}

.archive-single a {
color: #0089c4 !important;
}

.archive-single a:hover {
text-decoration: underline !important;
}

.news-wrap-flex {
display: flex;
justify-content: space-between;
}

.news-main-70 {
width: 70%;
}

.news-main-100 {
width: 100%;
margin-bottom: 40px;
}

.news-category-25 {
width: 25%;
}

.news-category-100 {
width: 100%;
}

.news-category-100 .news-category-list, .result-category-100 .result-category-list {
display: flex;
flex-wrap: wrap;
margin-top: 30px;
}

.news-category-100 .news-category-list li, .result-category-100 .result-category-list li {
border-bottom: none;
width: 18%;
margin-right: 2.5%;
margin-bottom: 20px;
}

.news-category-100 .news-category-list li:nth-child(5n), .result-category-100 .result-category-list li:nth-child(5n) {
margin-right: 0;
}

.news-category-100 .news-category-list li a, .result-category-100 .result-category-list li a {
display: block;
border: solid 2px #ccc;
padding: 15px 5px;
text-align: center;
font-weight: bold;
position: relative;
-webkit-transition: .2s;
transition: .2s;
font-size: 14px;
}

.news-category-heading, .result-category-heading {
font-size: 20px;
font-size: 2rem;
font-weight: bold;
letter-spacing: 2px;
position: relative;
padding-left: 15px;
margin-bottom: 15px;
}

.news-category-heading:before, .result-category-heading:before {
content: "";
display: block;
width: 40%;
height: 2px;
position: absolute;
bottom: -10px;
left: 0;
background: #2638dd;
z-index: 2;
}

.news-category-heading:after, .result-category-heading:after {
content: "";
display: block;
width: 100%;
height: 2px;
position: absolute;
bottom: -10px;
left: 0;
background: #ccc;
z-index: 1;
}

.news-category-list li, .result-category-list li {
border-bottom: solid 1px #ccc;
}

.news-category-list li a, .result-category-list li a {
color: #333;
padding: 15px 5px 15px 20px;
display: block;
position: relative;
background: #fff;
-webkit-transition: .2s;
transition: .2s;
font-weight: bold;
font-size: 14px;
}

.news-category-list li a:after, .result-category-list li a:after {
display: block;
content: "";
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 0;
height: 0;
right: 15px;
width: 6px;
height: 6px;
margin-top: -3px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
border-top: 2px solid #2638dd;
border-right: 2px solid #2638dd;
-webkit-transition: .2s;
transition: .2s;
}

.news-category-list li a:hover, .result-category-list li a:hover {
color: #2638dd;
}

.news-category-list li a:hover:after, .result-category-list li a:hover:after {
right: 10px;
}

.fas {
font-size: 18px;
color: #2638dd;
padding-right: 5px;
}

/*----------------------------------
ニュースシングルページ
----------------------------------*/

.news-single article {
border-bottom: none;
}

.news-single-time {
font-weight: bold;
}

.news-single-inner {
margin-top: 20px;
margin-bottom: 30px;
}

.news-single-inner a {
color: #0244a7;
}

.news-single-inner a:hover {
text-decoration: underline;
}

.news-single-inner strong {
font-weight: bold;
}

.news-single-inner b {
font-weight: bold;
}

.news-single-inner em {
font-style: italic;
}

.news-single-inner ol li {
list-style-type: decimal;
margin-left: 20px;
}

.news-single-inner ul li {
list-style-type: disc;
margin-left: 20px;
}

.news-single-inner img.aligncenter {
display: block;
margin-left: auto;
margin-right: auto;
}

.news-single-inner img.alignright {
margin: 0 0 10px 10px;
display: inline;
}

.news-single-inner img.alignleft {
margin: 0 10px 10px 0;
display: inline;
}

.news-single-inner .aligncenter {
text-align: center;
}

.news-single-inner .alignright {
float: right;
}

.news-single-inner .alignleft {
float: left;
}

.news-single-inner .news-single-inner a {
color: #e50012;
}

.news-single-inner .news-single-inner a:hover {
text-decoration: underline;
}

.news-single-inner p {
margin-bottom: 10px;
clear: both;
}

.news-single-thumbnail {
margin-bottom: 20px;
}

.wp-caption {
max-width: 100%;
}

.wp-caption-text {
display: inline-block;
text-align: left;
margin: 3px 0 0;
font-size: 12px;
font-size: 1.2rem;
}

.post-link {
margin-top: 80px;
}

.post-link ul {
border-bottom: solid 1px #ccc;
}

.post-link li {
padding-bottom: 10px;
position: relative;
}

.post-link .prev {
float: left;
}

.post-link .prev a {
display: block;
color: #333;
font-weight: bold;
line-height: 1;
position: relative;
-webkit-transition: .2s;
transition: .2s;
padding-left: 20px;
}

.post-link .prev a:before {
display: block;
content: "";
position: absolute;
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
left: 7px;
width: 6px;
height: 6px;
margin-top: -3px;
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
border-top: 2px solid #2638dd;
border-right: 2px solid #2638dd;
}

.post-link .prev a:hover {
opacity: 0.8;
}

.post-link .next {
float: right;
}

.post-link .next a {
display: block;
color: #333;
font-weight: bold;
line-height: 1;
position: relative;
-webkit-transition: .2s;
transition: .2s;
padding-right: 20px;
}

.post-link .next a:before {
display: block;
content: "";
position: absolute;
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
/* Safari用 */
transform: translateY(-50%);
right: 7px;
width: 6px;
height: 6px;
margin-top: -3px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
border-top: 2px solid #2638dd;
border-right: 2px solid #2638dd;
}

.post-link .next a:hover {
opacity: 0.8;
}

.single-btn-wrap a {
display: inline-block;
color: #333;
font-weight: bold;
line-height: 1;
position: relative;
-webkit-transition: .2s;
transition: .2s;
padding-right: 20px;
}

.single-btn-wrap a:before {
content: "";
display: block;
width: 120%;
height: 2px;
background: #2638dd;
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
bottom: -10px;
}

.single-btn-wrap a:after {
display: block;
content: "";
position: absolute;
will-change: transform;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
right: -3px;
width: 6px;
height: 6px;
margin-top: -3px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
border-top: 2px solid #2638dd;
border-right: 2px solid #2638dd;
-webkit-transition: .2s;
transition: .2s;
}

.single-btn-wrap a:hover {
opacity: 0.8;
}

.single-btn-wrap a:hover:after {
right: -6px;
}


/*----------------------------------
ページナビ
----------------------------------*/


/*WP-PageNavi調整CSS*/

.wp-pagenavi {
margin-top: 40px;
overflow: hidden;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}

.wp-pagenavi span {
text-decoration: none;
background: #f2f2f2;
padding: 10px 15px;
float: left;
border: none;
}

.wp-pagenavi span.pages {
display: none;
}

.wp-pagenavi span.current {
border-color: #2638dd;
background: #2638dd;
padding: 15px 20px;
display: flex;
align-items: center;
text-align: center;
color: #fff;
font-weight: blod;
}

.wp-pagenavi a {
text-decoration: none;
border: none;
background: #f2f2f2;
padding: 10px 20px;
margin: 2px;
float: left;
}

.wp-pagenavi a:hover {
border-color: #2638dd;
background: #2638dd;
color: #fff;
font-weight: bold;
}


/*----------------------------------
フォーム
----------------------------------*/


/*form調整CSS*/

table input, table textarea, select {
padding: 15px;
box-sizing: border-box;
webkit-box-sizing: border-box;
font-size: 16px;
font-size: 1.6rem;
font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#check {
margin: 30px auto;
text-align: center;
}

#privacy {
height: 200px;
overflow-y: scroll;
border: solid 1px #ccc;
padding: 20px;
background: #fff;
}

#privacy h3 {
font-weight: bold;
margin: 10px 0;
}

#privacy dt {
font-weight: bold;
margin-bottom: 5px;
}

#privacy dd {
margin-bottom: 20px;
}

#privacyConsent {
background: #f8f8f8;
padding: 30px 10px;
margin-top: 20px;
text-align: center;
}

input[type="submit"], input[type="button"] {
-webkit-appearance: none;
}

#submit {
width: 274px;
margin: 20px auto;
text-align: center;
}

#submit #confirm {
border: none;
width: 270px;
color: #fff;
background: #f59728;
}

#submit input {
cursor: pointer;
}

#submit #send {
background: #f59728;
color: #fff;
width: 270px;
}

#submit #back {
background: #ccc;
color: #fff;
width: 270px;
}

table input, table textarea, select, input.wpcf7-validates-as-required {
border-radius: 4px;
border: 1px solid #bfbfbf;
padding: 15px;
box-sizing: border-box;
webkit-box-sizing: border-box;
}

input[type="checkbox"] {
border: 1px #CCC solid;
padding: 5px;
border-radius: 10px;
width: 1.5em;
height: 1.5em;
cursor: pointer;
vertical-align: middle;
margin-right: 3px;
}

.form, .wpcf7-textarea {
width: 100%;
}

input[type="submit"][disabled], input[type="submit"][disabled]:hover, input[type="submit"][disabled]:focus {
background: #f59728!important;
color: #fff !important;
cursor: not-allowed !important;
opacity: 0.8;
}

input[type="checkbox"] {
padding: 10px;
}

#submit #confirm:hover {
background: #2638dd;
color: #fff;
}

#submit #send:hover, #submit #back:hover {
opacity: 0.8;
}

.wpcf7c-conf {
background-color: #e8f0fe;
}

.wpcf7-validates-as-required {
background: #faccd0;
}

.wpcf7-validates-as-required .wpcf7-list-item {
margin: 0;
padding: 10px;
background: #faccd0;
}

.wpcf7-list-item-label {
cursor: pointer;
margin-left: 10px;
}

.wpcf7-list-item-label:before {
display: none;
}

.checkbox-item .wpcf7-list-item {
display: block;
}

.checkbox-item .wpcf7-list-item {
display: block;
padding-bottom: 10px;
margin-left: 0;
}

.wpcf7-form-control.wpcf7-file {
margin-bottom: 10px;
}




/*
必須項目<span class="contact-required">必須</span>
*/

.contact-required {
padding: 2px 12px;
display: inline-block;
background: #db4827;
color: #fff;
margin-left: 15px;
border-radius: 4px;
float: right;
font-size: 14px;
}

.contact-table th {
overflow: hidden;
vertical-align: middle;
}


/*
確認画面の調整
*/

.custom-wpcf7c-confirmed .wpcf7-validates-as-required .wpcf7-list-item {
background: #fff;
}

.custom-wpcf7c-confirmed .wpcf7-validates-as-required {
background: #fff;
}

.custom-wpcf7c-confirmed .wpcf7c-conf {
background: #fff;
}


/*----------------------------------
施工事例
----------------------------------*/

.result-list {
display: flex;
flex-wrap: wrap;
}

.result-item {
width: 31%;
margin-right: 3.5%;
margin-bottom: 40px;
border: solid 1px #ccc;
position: relative;
-webkit-transition: .2s;
transition: .2s;
}

.result-item:hover {
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.result-item a {
display: block;
-webkit-transition: .2s;
transition: .2s;
}

.result-item a:hover {}

.result-item-cat-list {
display: flex;
flex-wrap: wrap;
margin-bottom: 10px;
}

.result-item-cat-item {
padding: 3px 10px;
border: solid 1px #ccc;
color: #333;
margin-right: 10px;
margin-bottom: 10px;
}

.result-item .result-text {
padding: 15px;
}

.result-item .result-text .result-heading {
margin-top: 0;
margin-bottom: 10px;
}

.result-main-100 {
width: 100%;
margin-bottom: 40px;
}

.result-item:nth-of-type(3n) {
margin-right: 0;
}

.result-main-70 {
width: 70%;
}

.result-main-70 .result-item {
width: 49%;
padding: 0;
margin-bottom: 20px;
margin-right: 2%;
}

.result-main-70 .result-item:nth-of-type(3n) {
margin-right: 2%;
}

.result-main-70 .result-item:nth-of-type(2n) {
margin-right: 0;
}

.result-main-70 .result-cat-list li {
width: 23%;
margin-right: 2.666%;
}

.result-category-100 {
width: 100%;
}

.result-category-25 {
width: 25%;
}

.result-wrap-flex {
display: flex;
justify-content: space-between;
}

.result-img-item-wrap {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
justify-content: space-between;
-ms-flex-pack: space-between;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

.result-img-item {
width: 48%;
margin-bottom: 20px;
}

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

.result-img-text {
text-align: center;
margin-top: 10px;
}

.result-tag {
margin-bottom: 20px;
background: #229ae7;
display: inline-block;
padding: 2px 20px;
border-radius: 6px;
}

.result-tag span a {
color: #fff;
}

.result-wrap article {
padding-bottom: 25px;
background: url(../images/common/bg_cycle.png) repeat-x left bottom;
background-size: 14px 5px;
}

.result-img-img {
text-align: center;
}

.result-img-img img {
object-fit: cover;
}

.contact-list-once {
border: none;
}

.contact-list-once .contact-list-item {
color: #333;
width: 70%;
margin: auto;
border: solid 1px #ccc;
padding: 20px;
list-style-type: none;
}

.contact-list-once .contact-list-item-tel .icon-tel svg path {
fill: #2638dd;
}

.contact-list-once .contact-list-item-tel .font01 {
color: #333;
}

.contact-list {
display: flex;
border-left: solid 1px #fff;
border-right: solid 1px #fff;
padding-left: 0;
}

.contact-list-item {
width: 50%;
color: #fff;
text-align: center;
list-style: none;
}

.contact-list-item-text {
font-size: 20px;
font-weight: bold;
}

.contact-list-item-tel {
margin-bottom: 0;
line-height: 1.5;
}

.contact-list-item-tel a {
display: flex;
justify-content: center;
align-items: center;
}

.contact-list-item-tel .font01 {
font-size: 50px;
color: #fff;
letter-spacing: 3px;
font-family: 'Roboto', sans-serif;
font-style: normal;
font-weight: bold;
}

.contact-list-item-tel .icon-tel {
width: 40px;
height: 50px;
margin-right: 10px;
display: inline-block;
}

.contact-list-item-tel .icon-tel svg {
width: 40px;
height: 50px;
}

.contact-list-item-tel .icon-tel svg path {
fill: #fff;
}

.contact-list-item-annotation {
font-size: 20px;
font-weight: bold;
}

.search-result-item {
border-bottom: solid 1px #ccc;
}

.search-result-item a {
display: block;
padding: 20px 0;
}

.search_text {
display: block;
font-size: 18px;
margin-bottom: 5px;
color: #f59728;
font-weight: bold;
}

.search_btn input {
background: #FFF;
font-weight: 700;
font-size: 14px;
padding: 10px 20px;
background: #ccc;
cursor: pointer;
border-radius: 4px;
}

.search_word input {
width: 50%;
padding: 10px;
border: solid 1px #ccc;
}

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


/*個人情報*/


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

.pp_area {}

.pp_area dl {}

.pp_area dt {
font-weight: 700;
}

.pp_area dd {
margin-bottom: 2em;
}


}
@media only screen and (max-width: 1350px) {}
@media only screen and (max-width: 1280px) {
.top-result-list li {
margin: 0 20px;
}
}
@media only screen and (max-width: 1199px) {
.inner {
padding: 0;
}

.logo {
margin-right: 0px;
}

.top-concept-text {
width: 70%;
}

.contact-flow-text {
width: 65%;
padding: 25px;
}

.contact-bnr-title-wrap:after {
right: 0;
}

.contact-bnr-title-wrap:before {
left: -30px;
}
}
@media only screen and (max-width: 1199px) and (min-width: 768px) {
body {
max-width: 100%;
min-width: 100%;
}

.inner {
width: 95%;
margin: 0 auto;
}

.alignfull .wp-block-group__inner-container {
width: 95%;
margin: 0 auto;
}
}
@media only screen and (max-width: 992px) {
div.outer {
width: 100%;
overflow-x: scroll;
}

div.outer::-webkit-scrollbar {
height: 10px;
}

div.outer::-webkit-scrollbar-track {
border-radius: 5px;
background: #ccc !important;
}

div.outer::-webkit-scrollbar-thumb {
border-radius: 5px;
background: #666 !important;
}

div.outer::-webkit-scrollbar-track-piece {
background: #efefef !important;
}

.is-style-table02 table,
.tablepress {
width: 870px;
}

.top-result-list {
padding: 0 20px !important;
flex-wrap: wrap;
}

.top-result-list li {
width: 49%;
padding: 0;
margin: 0;
margin-bottom: 20px;
}

.result-item {
width: 49%;
padding: 0;
margin-bottom: 20px;
margin-right: 2%;
}

.result-item:nth-of-type(3n) {
margin-right: 2%;
}

.result-item:nth-of-type(2n) {
margin-right: 0;
}

.result-cat-list li {
width: 23%;
margin-right: 2.666%;
}

.news-wrap-flex, .result-wrap-flex {
display: block;
}

.news-main-70, .result-main-70 {
width: 100%;
margin-bottom: 40px;
}

.news-category-25, .result-category-25 {
width: 100%;
}

.news-category-100 .news-category-list li, .result-category-100 .result-category-list li {
width: 23%;
margin-right: 2.666%;
}

.news-category-100 .news-category-list li:nth-child(5n), .result-category-100 .result-category-list li:nth-child(5n) {
margin-right: 2.666%;
}

.news-category-100 .news-category-list li:nth-child(4n), .result-category-100 .result-category-list li:nth-child(4n) {
margin-right: 0;
}

.contact-list {
display: block;
border: solid 1px #fff;
}

.contact-list-item {
width: 100%;
padding: 40px 10px;
}

.wp-block-column {
margin-bottom: 20px;
}

.wp-block-column:last-of-type {
margin-bottom: 0;
}

.wp-block-columns:last-of-type {
margin-bottom: 0;
}

}
@media only screen and (max-width: 767px) {
body {
max-width: 100%;
min-width: 100%;
font-size: 14px;
font-size: 1.4rem;
}

.pc-only {
display: none !important;
}

.sp-only {
display: block !important;
}

.sp-only02 {
display: block !important;
}

img {
max-width: 100%;
height: auto;
}

.is-style-group01 {
padding: 5px;
}

.is-style-group02 {
padding: 10px;
}

.is-style-group03 {
padding: 15px;
}

.is-style-group04 {
padding: 20px;
}

.is-style-group05 {
padding: 10px 0;
}

.is-style-group06 {
padding: 15px 0;
}

.is-style-group07 {
padding: 20px 0;
}

.is-style-group08 {
padding: 25px 0;
}

.is-style-group09 {
padding: 30px 0;
}

.is-style-group10 {
padding: 40px 0;
}

.is-style-group11 {
padding: 50px 0;
}

.has-fs-12-font-size {
font-size: 12px;
}

.has-fs-14-font-size {
font-size: 12px;
}

.has-fs-16-font-size {
font-size: 14px;
}

.has-fs-18-font-size {
font-size: 16px;
}

.has-fs-20-font-size {
font-size: 16px;
}

.has-fs-24-font-size {
font-size: 18px;
}

.has-fs-28-font-size {
font-size: 20px;
}

.has-fs-32-font-size {
font-size: 24px;
}

.has-fs-36-font-size {
font-size: 28px;
}

.has-fs-40-font-size {
font-size: 32px;
}

.alignfull {
padding-right: 10px;
padding-left: 10px;
}

.wp-block-columns {
display: block;
}

.wp-block-column:nth-child(2n) {
margin-left: 0;
}

.wp-block-group__inner-container {
width: 100%;
}

/*
見出し
*/

.is-style-heading01 {
font-size: 24px;
padding-left: 20px;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-heading02 {
font-size: 24px;
padding: .5em 0;
padding-left: 50px;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-heading03 {
font-size: 24px;
padding: 1rem;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-heading04 {
font-size: 24px;
padding: 1rem;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-heading05 {
font-size: 24px;
padding: 1rem;
margin-bottom: 20px;
letter-spacing: 2px;
}

.is-style-heading06 {
font-size: 24px;
margin-bottom: 25px;
letter-spacing: 2px;
}

.is-style-heading07 {
font-size: 24px;
margin-bottom: 20px;
letter-spacing: 2px;
overflow: hidden;
}

.is-style-heading08 {
font-size: 24px;
margin-bottom: 25px;
letter-spacing: 2px;
padding-bottom: 1rem;
}

.is-style-sub-heading01 {
font-size: 18px;
margin-bottom: 15px;
letter-spacing: 2px;
padding: 0.25em;
}

.is-style-sub-heading02 {
font-size: 18px;
margin-bottom: 15px;
padding: 0 0.25em 0.25em;
}

.is-style-sub-heading03 {
font-size: 18px;
}

.is-style-sub-heading04 {
font-size: 18px;
margin-bottom: 15px;
padding: 0.25em;
padding-left: 25px;
}

.is-style-sub-heading04:after {
width: 15px;
}

.is-style-sub-heading05 {
font-size: 18px;
margin-bottom: 15px;
padding: 0.25em;
padding-left: 25px;
}

.is-style-sub-heading05:after {
width: 15px;
}

.is-style-sub-heading06 {
font-size: 18px;
margin-bottom: 15px;
letter-spacing: 2px;
padding: 0.25em;
padding-left: 25px;
}

.is-style-sub-heading06:after {
width: 15px;
}

.is-style-sub-heading07 {
font-size: 18px;
padding: 0.25em;
}

.is-style-sub-heading08 {
font-size: 18px;
margin-bottom: 10px;
padding-left: 25px;
}

.is-style-sub-heading08:after {
width: 15px;
}

.is-style-sub-heading09 {
font-size: 18px;
margin-bottom: 10px;
letter-spacing: 2px;
}

.flt-box {
display: block;
}

.flt-left01, .flt-right01 {
width: 100%;
}

.flt-right02, .flt-left02, .flt-right03, .flt-left03, .flt-right04, .flt-left04, .flt-right05, .flt-left05, .flt-left06, .flt-right06, .flt-left07, .flt-right07, .flt-left08, .flt-right08 {
width: 100%;
}

.flt-left01, .flt-left02, .flt-left03, .flt-left04, .flt-left05, .flt-left06, .flt-right07, .flt-right08 {
margin-bottom: 15px;
}

.flt-box {
margin-bottom: 20px;
}

.flt-3-list {
display: block;
}

.flt-3-item {
width: 100%;
margin-bottom: 15px;
}

.mb_20 {
margin-bottom: 10px;
}

.mb_30 {
margin-bottom: 15px;
}

.mb_40 {
margin-bottom: 20px;
}

.mt_40 {
margin-top: 20px;
}

.text-center02 {
text-align: left;
}

.pagetop {
width: 40px;
height: 40px;
line-height: 40px;
bottom: 10px;
right: 10px;
}

.pagetop i {
margin-top: 2px;
}

.inner {
width: auto;
margin: 0 auto;
padding: 0 10px;
}

.btn-wrap {
margin-top: 20px;
}

.nav-control {
padding: 0 30px;
}

.nav-fixed {
position: fixed;
top: 0;
right: 0;
}

.btn-wrap01 {
margin-top: 25px;
}

.btn-wrap02 {
margin-top: 15px;
}

.btn01, #submit #confirm, #submit #send, #submit #back {
padding: 25px;
width: 100%;
}

.heading01 {
font-size: 32px;
font-size: 3.2rem;
margin-bottom: 20px;
letter-spacing: 2px;
}

.heading02 {
font-size: 28px;
font-size: 2.8rem;
letter-spacing: 1px;
margin-bottom: 20px;
}

.heading03 {
font-size: 26px;
font-size: 2.6rem;
margin-bottom: 20px;
letter-spacing: 1px;
}

.heading04 {
font-size: 18px;
font-size: 1.8rem;
margin-bottom: 15px;
letter-spacing: 1px;
}

.heading05 {
font-size: 16px;
font-size: 1.6rem;
margin-bottom: 10px;
letter-spacing: 1px;
line-height: 1.3;
}

.heading06 {
font-size: 16px;
font-size: 1.6rem;
margin-bottom: 10px;
}

.wp-pagenavi {
margin-top: 20px;
margin-bottom: 20px;
}

.news-single-inner ol li {
margin-left: 10px;
}

.news-single-inner ul li {
margin-left: 10px;
}

.news-single-inner img.alignright {
margin: 0;
display: block;
}

.news-single-inner img.alignleft {
margin: 0;
display: block;
}

.news-single-inner .alignright {
float: none;
}

.news-single-inner .alignleft {
float: none;
}

.news-single-inner img {
width: 100%;
margin: 10px 0 !important;
}

.sub-title {
padding: 30px 10px 30px;
font-size: 24px;
font-size: 2.4rem;
letter-spacing: 4px;
}

.sub-title span {
font-size: 14px;
font-size: 1.4rem;
}

.section-inner {
margin-bottom: 30px;
}

.company-table th, .contact-table th {
width: auto;
display: block;
padding: 0.7em;
text-align: left;
font-size: 14px;
font-weight: bold;
border-right: none;
border-bottom: 1px solid #ccc;
}

.company-table td, .contact-table td {
width: auto;
display: block;
padding: 0.7em;
border-right: none;
padding: 0.7em 0;
}

.access-map {
position: relative;
padding-bottom: 65%;
height: 0;
overflow: hidden;
}

.access-map iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

.sub-section {
margin-bottom: 40px;
}

.sub-section02 {
padding: 40px 0;
}

.sub-section03 {
padding: 40px 0;
}

.section-contents {
padding: 40px 0;
}

.sp-only {
display: block !important;
}

.pc-nav {
display: none;
}

.header {
height: 65px;
padding: 0;
display: flex;
justify-content: space-between;
}

.header-block-wrap {
display: flex;
height: auto;
justify-content: center;
align-items: center;
}

.logo img {
width: auto;
madding-left: 10px;
}

.header-logo-block {
width: auto;
max-width: none;
display: block;
margin-top: 0px;
padding-left: 10px;
}

.header-contact-sale {
display: none;
}

.logo {
padding: 0;
width: 80%;
}

.logo a {
width: auto;
}

.header-contact-block {
display: none;
}

.main-nav-block01 {
display: none;
}

.main-nav-block01 {
margin-bottom: 0;
}

.header-catch {
display: none;
}
/*
ハンバーガーメニュー
*/

.nav-control {
background: #2638dd;
cursor: pointer;
z-index: 210;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
height: 65px;
padding: 0 30px;
width: 10%;
}

.header-fixed,
.sub-header-fixed {
position: static;
}

.header-fixed .nav-control,
.sub-header-fixed .nav-control {
position: fixed;
top: 0;
right: 0;
}

.sp-contact-btn-wrap {
display: flex;
justify-content: center;
align-items: center;
margin-left: auto;
}

.sp-contact-btn-list {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}

.sp-contact-btn-list {
margin-right: 20px;
}

.sp-contact-btn-item {
height: 90px;
}

.sp-contact-btn-item a {
display: flex;
justify-content: center;
align-items: center;
height: 90px;
padding: 0px 20px;
}

#menu-trigger, #menu-trigger span {
display: inline-block;
transition: all .4s;
box-sizing: border-box;
}

#menu-trigger {
position: relative;
width: 29px;
height: 36px;
margin: 0px;
/* padding: 30px 34px; */
}

#menu-trigger span {
position: absolute;
left: 0px;
width: 100%;
height: 3px;
background-color: #fff;
border-radius: 6px;
}

#menu-trigger span:nth-of-type(2)::after {
position: absolute;
top: 0;
left: 0;
content: '';
width: 100%;
height: 3px;
background-color: #fff;
border-radius: 6px;
transition: all .4s;
}

#menu-trigger span:nth-of-type(1) {
top: 9px;
}

#menu-trigger span:nth-of-type(2) {
top: 19px;
}

#menu-trigger span:nth-of-type(3) {
bottom: 4px;
}

#menu-trigger.active span:nth-of-type(1) {
transform: translateY(20px) scale(0);
}

#menu-trigger.active span:nth-of-type(2) {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

#menu-trigger.active span:nth-of-type(2)::after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}

#menu-trigger.active span:nth-of-type(3) {
transform: translateY(-20px) scale(0);
}

.nav-control .active span {
background-color: #fff !important;
}

.sp-nav {
position: fixed;
top: 0;
left: 0;
width: 100%;
min-height: 100%;
background: #2638dd;
z-index: 200;
padding: 65px 0px;
}

.sp-nav-list {
border-top: solid 1px rgba(255, 255, 255, 0.7);
}

.sp-nav-list li>a {
color: #fff;
font-weight: bold;
padding: 12px 20px;
display: block;
position: relative;
border-bottom: solid 1px rgba(255, 255, 255, 0.7);
}

.sp-sub-nav {
margin-left: 0px;
padding-left: 0px;
margin: 0;
}

.sp-sub-nav-item {
position: relative;
}

.sp-sub-nav-item a {
font-weight: normal;
font-size: 14px;
font-size: 1.4rem;
color: #fff;
display: block;
padding: 12px 20px;
border-bottom: solid 1px rgba(255, 255, 255, 0.7);
padding-left: 30px;
}

.sp-sub-nav-item a.arrow01:after {
right: 22px;
}

.sp-contact-list {
margin-top: 25px;
}

.sp-contact-tel {
font-size: 30px;
}

.sp-contact-tel a {
color: #fff;
display: block;
text-align: center;
font-family: 'Roboto', sans-serif;
font-style: normal;
font-weight: bold;
}

.sp-contact-tel a span {
font-weight: bold;
}

.contact-btn02 span {
color: #333;
}

.icon-mail svg polygon {
fill: #2638dd;
}

.icon-tel svg path {
fill: #fff;
}

.icon-tel svg {
width: 20px;
height: 25px;
}

.contact-btn02 {
display: inline-block;
padding: 20px 0;
width: 90%;
text-align: center;
position: relative;
background: #fff;
font-size: 18px;
font-size: 1.8rem;
font-weight: 700;
-webkit-transition: .2s;
transition: .2s;
line-height: 1;
}

.sp-contact-mail {
margin: 15px auto;
text-align: center;
width: 90%;
}

.sp-contact-mail .icon-mail01:before {
left: -33px;
}

.sp-contact-mail a {
border: solid 2px #fff;
}

.accordion_icon-wrap {
position: absolute;
top: 0px;
right: 4px;
}

.accordion_icon, .accordion_icon span {
display: inline-block;
transition: all .4s;
box-sizing: border-box;
}

.accordion_icon {
position: relative;
width: 30px;
height: 53px;
float: right;
margin-right: 3px;
cursor: pointer;
}

.accordion_icon span {
position: absolute;
left: 6px;
width: 50%;
height: 2px;
background-color: #fff;
border-radius: 4px;
-webkit-border-radius: 4px;
-ms-border-radius: 4px;
-moz-border-radius: 4px;
-o-border-radius: 4px;
}

.accordion_icon span:nth-of-type(1) {
top: 25px;
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
}

.accordion_icon span:nth-of-type(2) {
top: 25px;
transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
}
/*＋、－切り替え*/

.accordion_icon.active span:nth-of-type(1) {
display: none;
}

.accordion_icon.active span:nth-of-type(2) {
top: 25px;
transform: rotate(180deg);
-webkit-transform: rotate(180deg);
-moz-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
}

.sp-nav-item {
position: relative;
}

.sp-sub-nav {
display: none;
}

.pc-nav {
display: none;
}
/*form調整用*/

table input, table textarea, select {
padding: 18px 10px;
}

span.wpcf7-list-item {
display: block;
margin-left: 0;
}

.wpcf7-validates-as-required span.wpcf7-list-item {
background: rgba(230, 0, 18, 0.2);
padding: 5px;
}

.main-contents {
padding: 50px 0 0;
}
/*tableタグ調整用*/

table th {
width: auto;
display: block;
padding: 0.7em;
text-align: left;
font-size: 14px;
font-weight: bold;
border-right: none;
border-top: none;
}

table td {
width: auto;
display: block;
padding: 0.7em;
}

.is-style-table01 table td:nth-child(1) {
width: auto;
display: block;
padding: 0.7em;
text-align: left;
font-size: 14px;
font-weight: bold;
border-right: none;
border-top: none;
}

.is-style-table01 table td {
width: auto;
display: block;
padding: 0.7em;
}

.is-style-table02 table,
.tablepress {
width: 700px;
}

.is-style-table02 table tr:nth-child(1) td,
.tablepress tr:nth-child(1) th {
padding: 0.7em;
font-size: 14px;
font-weight: bold;
}

.is-style-table02 table td,
.tablepress td {
padding: 0.7em;
font-size: 14px;
display: table-cell;
}

.news-inner article a {
display: block;
padding: 15px 0;
}

.news-inner article a time {
display: block;
margin-bottom: 5px;
}

.news-text-wrap {
padding-left: 0;
}

.news-text-wrap {
display: block;
}

.news-cat-list {
margin-bottom: 5px;
}

.news-inner article a .news-text {
padding-left: 0;
}

.news-cat {
margin-right: 2%;
}

.top-result-list {
padding: 0 10px !important;
margin-bottom: -20px;
}

.top-result-img-wrap .top-result-img, .result-img-wrap .result-img {
max-height: 120px;
min-height: 120px;
}

.top-result-img-wrap .top-result-img img, .result-img-wrap .result-img img {
max-height: 120px;
min-height: 120px;
}

.result-heading {
font-size: 14px;
margin-top: 5px;
}

.footer .inner {
padding-top: 30px;
padding-bottom: 30px;
}

.footer-inner-wrap {
display: block;
}

.footer-address-wrap, .footer-nav {
width: 100%;
}

.footer-address-wrap {
margin-bottom: 20px;
}

.footer-nav ul {
display: block;
}

.footer-nav ul li {
width: 100%;
margin-right: 0;
margin-bottom: 0px;
}

.footer-nav ul li a {
padding-top: 8px;
padding-bottom: 8px;
border-bottom: solid 1px #ccc;
display: block;
}

.footer-nav ul li a:hover {
text-decoration: none;
}

.copyright {
font-size: 10px;
padding: 5px 0;
}

.footer-nav ul li .sub-menu li a {
padding-top: 0;
margin-top: 10px;
border-bottom: none;
}

.news-wrap-flex {
display: block;
}

.news-main-70 {
width: 100%;
margin-bottom: 40px;
}

.news-category-25 {
width: 100%;
}

.news-category-heading, .result-category-heading {
font-size: 16px;
}

.bread-crumb {
margin-bottom: 20px;
}

.result-item .result-text {
padding: 10px;
}

.result-item-cat-item {
font-size: 12px;
margin-bottom: 5px;
}

.news-category-100 .news-category-list, .result-category-100 .result-category-list {
margin-top: 0;
}

.news-category-100 .news-category-list li, .result-category-100 .result-category-list li {
width: 100%;
margin-right: 0;
margin-bottom: 0;
border: none;
border-bottom: solid 1px #ccc;
}

.news-category-100 .news-category-list li a, .result-category-100 .result-category-list li a {
border: none;
text-align: left;
padding: 15px 5px 15px 20px;
}

.news-category-100 .news-category-list li:nth-child(5n), .result-category-100 .result-category-list li:nth-child(5n) {
margin-right: 0;
}

.result-img-item {
margin-bottom: 10px;
}

.contact-list-once .contact-list-item {
width: 100%;
}

.contact-wrap {
padding: 50px 0;
}

.contact-list-item-text {
font-size: 18px;
}

.contact-list-item-tel .font01 {
font-size: 30px;
}

.contact-list-item-tel .icon-tel {
width: 20px;
height: 30px;
margin-right: 5px;
}

.contact-list-item-tel .icon-tel svg {
width: 20px;
height: 30px;
}

.contact-list-item-annotation {
font-size: 16px;
}

.search-result-item a {
padding: 15px 0;
}

.search_text {
font-size: 16px;
}

.search_word input {
width: 70%;
}

.is-style-columns-sp-large .wp-block-column:not(:first-child),
.is-style-columns-sp-normal .wp-block-column:not(:first-child),
.is-style-columns-sp-small .wp-block-column:not(:first-child) {
margin-right: 0 !important;
}

.has-thumbnail .news-text-wrap {
padding-left: 20px;
}

.top-result-list li {
margin-bottom: 10px;
}

.excerpt-wrap {
display: none;
}

.news-thumb-wrap {
width: 36%;
}

.news-has-thumb-text {
width: 64%;
}

.news-inner.has-thumbnail article a .news-text {
font-size: 16px;
}

.news-inner.has-thumbnail article a time {
font-size: 10px;
margin-bottom: 5px;
}

.news-inner.has-thumbnail article a {
position: relative;
}

.news-inner.has-thumbnail article a:before {
display: block;
content: "";
position: absolute;
bottom: 10px;
width: 6px;
height: 6px;
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
border-top: 2px solid #2638dd;
border-right: 2px solid #2638dd;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
right: 5px;
-webkit-transition: .2s;
transition: .2s;
}

.wp-block-buttons {
text-align: center;
}

.is-style-btn01,
.is-style-btn02,
.is-style-btn03,
.is-style-btn04 {
width: 90%;
margin-right: auto;
margin-left: auto;
}
.news-thumb-img {
    height: 90px;
}
}
@media only screen and (max-width: 320px) {
.sp-only03 {
display: block !important;
}
}

@media (min-width: 768px) {
a[href^="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

@media print {
/* デフォルト */

body {
margin: 0 !important;
padding: 0 !important;
overflow-x: visible !important;
overflow-y: visible !important;
color: #000;
-webkit-print-color-adjust: exact !important;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

h1, h2, h3, h4, h5, h6, section {
page-break-after: avoid !important;
/* 直前で改ページさせる */
page-break-before: avoid !important;
/* 直後で改ページさせる */
}

p {
orphans: 3;
widows: 3;
}
/* 個別 */

.header {
padding: 0 10px;
}

.top-concept-point-num, .flow-num, .flow-num, .flow-num {
line-height: 1.8;
}

.logo {
width: 12%;
}

.header-block {
width: 88%;
}

.nav-item a {
padding: 0 5px;
font-size: 14px;
font-size: 1.4rem;
}

.header-contact-tel {
margin-right: 10px;
font-size: 14px;
font-size: 1.4rem;
}

.header-contact-tel .tel-time {
font-size: 10px;
font-size: 1rem;
}

.top-concept-point-num, .flow-num, .flow-num {
line-height: inherit;
}
}
