/* カラー変更 */
:root {
--content-width: 1000px;
--main-color: #FE7400;
--sub-color: #324D98;
--pale-color: #324D98;
}

/* コンテンツレイアウト */
body{
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
word-break: break-all;
border-spacing: 0;
border-collapse: collapse;
text-indent: initial;
text-decoration: none;
line-height: 2.0em;
}

section {
padding: 60px 0;
}


@media (max-width: 767px) {
section {
padding: 30px 0;
}
}


.container{
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
}

@media (min-width: 767px) {
.container {
margin: 0 auto;
max-width: var(--content-width);
}
:first-child {
margin-top: 0;
}
}

.row {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: 30px;
margin-bottom: 0;
margin-right: calc(-1 * 30px / 2);
margin-left: calc(-1 * 30px / 2);
justify-content: space-evenly;
}

.row.offset_2{
justify-content: space-evenly;
}

@media (max-width: 767px) {
.row {
display: block;
margin-top: 0;
margin-left: 0;
margin-right: 0;
}
.row.sp-2row {
display: flex;
}
}
@media (min-width: 767px) {
.container {
margin: 0 auto;
max-width: var(--content-width);
}
:first-child {
margin-top: 0;
}
}

.reverse {
-webkit-box-orient: horizontal;
-webkit-box-direction: reverse;
-ms-flex-direction: row-reverse;
flex-direction: row-reverse;
}

.row .span_1 {
width: calc(100% / 12 * 1);
}

.row .span_2 {
width: calc(100% / 12 * 2);
}

.row .span_3 {
width: calc(100% / 12 * 3);
}

.row .span_4 {
width: calc(100% / 12 * 4);
}

.row .span_5 {
width: calc(100% / 12 * 5);
}

.row .span_6 {
width: calc(100% / 12 * 6);
}

.row .span_7 {
width: calc(100% / 12 * 7);
}

.row .span_8 {
width: calc(100% / 12 * 8);
}

.row .span_9 {
width: calc(100% / 12 * 9);
}

.row .span_10 {
width: calc(100% / 12 * 10);
}

.row .span_11 {
width: calc(100% / 12 * 11);
}

.row .span_12 {
width: 100%;
}

.row > .col {
margin-top: 30px;
margin-left: 0;
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
}


@media (max-width: 767px) {
.row > .col {
margin-top: 20px;
margin-left: 0;
margin-right: 0;
padding-right: calc(30px / 2);
padding-left: calc(30px / 2);
width: 100%;
}

.row.sp-2row > .col {
width: 50%;
}
}

@media (max-width: 767px) {
.row .span_1 {
width:auto;
}
.row > .col:not(:first-child) {
margin-top: 20px;
}
}

/* ぱんくず */
.bread_wrap {
margin-top: 0;
margin-bottom: 0;
}

.bread {
overflow: hidden;
margin: 0;
}

.bread ul {
margin: 0 auto;
float: none;
}

@media (max-width: 767px) {
.bread ul {
padding: 15px 0;
}
}

.bread ul li {
list-style: none;
position: relative;
float: left;
margin-right: 20px;
padding-right: calc(20px + 9px);
}

@media (max-width: 767px) {
.bread ul li {
margin-right: 15px;
padding-right: calc(15px + 9px);
}
}

.bread ul li a {
padding:0;
text-decoration: none;
color: #1b1b1b;
}


.bread ul li a:hover {
color: #1b1b1b;
text-decoration: none;
}

.bread ul li:after {
content: '>';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
margin: auto;
}

.bread ul li:last-child {
padding-right: 0;
margin-right: 0;
}

.bread ul li:last-child:after {
content: none;
}

/* 画像のフィックス */

figure{
margin: 0;
text-align: center;
}

img {
vertical-align: middle;
image-rendering: -moz-crisp-edges;
image-rendering: -o-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: crisp-edges;
-ms-interpolation-mode: nearest-neighbor;
max-width: 100%;
width: 100%;
height: auto;
}

figure img{
width: inherit;
}

/* 投稿 */
.article_list {
padding: 30px;
border: 1px solid #FF4E41;
position: relative;
overflow: hidden;
}

@media (max-width: 767px) {
.article_list {
padding: 20px;
}
}

.article_list:first-child {
margin-top: 0;
}

.article_list:nth-child(n+2) {
margin-top: 30px;
}

.article_detail {
background: rgba(234, 0, 0, 0.05);
padding: 4%;
margin-bottom: 4%;
font-size: 1.2rem;
}


.article_detail .span_12 {
margin: 2% 0;
}

.article_button {
margin-top: 30px;
text-align: right;
}

@media (max-width: 767px) {
.article_button {
margin-top: 20px;
}
}

.more {
display: inline-block;
overflow: hidden;
margin: auto;
}

.more.btn_ss a,
.more.btn_ss span {
padding: 0.3em 2.1em 0.3em 1.4em;
}

.more.btn_s a,
.more.btn_s span {
padding: 0.5em 2.1em 0.5em 1.4em;
}

.more.btn_m a,
.more.btn_m span {
padding: 0.5em 2.1em 0.5em 1.4em;
}

.more a,
.more span {
display: inline-block;
letter-spacing: normal;
color: #FF4E41;
border: 1px solid #FF4E41;
padding: 0.9em 1.6em;
margin-bottom: 1px;
text-decoration: none;
}

.more a:after,
.more span:after {
border-color: #FF4E41;
}

.more a:hover,
.more span:hover {
color: #333;
border-color: #333;
}

.more a:hover:after,
.more span:hover:after {
border-color: #333;
}

.more a.add_arrow,
.more span.add_arrow {
padding-right: 1.9em;
}

.add_arrow {
display: block;
position: relative;
}

.add_arrow:after {
content: "";
display: block;
position: absolute;
top: 50%;
right: 5%;
margin: auto;
width: 6px;
height: 6px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: translate(0, -50%) rotate(45deg);
transform: translate(0, -50%) rotate(45deg);
-webkit-transition: 0.2s;
transition: 0.2s;
}

.add_arrow:hover:after {
right: 3%;
border-color: #fff;
}

.more {
display: inline-block;
overflow: hidden;
margin: auto;
}

.more a {
display: inline-block;
letter-spacing: normal;
border: 1px solid #FF4E41;
color: #FF4E41;
padding: 0.3em 1.3em 0.3em 1em;
margin-bottom: 1px;
text-decoration: none;
font-size: 1.2rem;
}

.pager {
overflow: hidden;
margin-bottom: 5%;
}

.pager .pager_prev {
float: left;
}

.pager .pager_prev a {
display: block;
position: relative;
padding-left: 15px;
text-decoration: none;
}

.pager .pager_prev a:before,
.pager .pager_prev a:after {
content: "";
display: block;
position: absolute;
left: 2px;
margin: auto;
width: 8px;
height: 1px;
background: #FF4E41;
-webkit-transition: .2s;
transition: .2s;
}

.pager .pager_prev a:before {
-webkit-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
top: calc(50% - 2px);
}

.pager .pager_prev a:after {
-webkit-transform: translateY(-50%) rotate(-135deg);
transform: translateY(-50%) rotate(-135deg);
top: calc(50% + 3px);
}

.pager .pager_prev a:hover {
text-decoration: underline;
}

.pager .pager_prev a:hover:before {
left: 0;
}

.pager .pager_prev a:hover:after {
left: 0;
}

.pager .pager_next {
float: right;
}

.pager .pager_next a {
display: block;
position: relative;
padding-right: 15px;
text-decoration: none;
}

.pager .pager_next a:before,
.pager .pager_next a:after {
content: "";
display: block;
position: absolute;
right: 2px;
margin: auto;
width: 8px;
height: 1px;
background: #FF4E41;
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition: .2s;
transition: .2s;
}

.pager .pager_next a:before {
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
top: calc(50% - 2px);
}

.pager .pager_next a:after {
-webkit-transform: translateY(-50%) rotate(135deg);
transform: translateY(-50%) rotate(135deg);
top: calc(50% + 3px);
}

.pager .pager_next a:hover {
text-decoration: underline;
}

.pager .pager_next a:hover:before {
right: 0;
}

.pager .pager_next a:hover:after {
right: 0;
}

.news-item {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
padding: 10px 20px;
border: 1px solid #FF4E41;
border-radius: 15px;
background: #fff;
line-height: 1.625;
}

@media (max-width: 767px) {
.news-item {
padding: 10px 15px;
border-radius: 8px;
line-height: 1.625;
}
}

.news-item:nth-child(n+2) {
margin-top: 20px;
}

@media (max-width: 767px) {
.news-item:nth-child(n+2) {
margin-top: 15px;
}
}

.news-item time {
width: 110px;
}


.news-item a {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
color: #FF4E41;
}

.news-item a:hover {
text-decoration: underline;
opacity: .7;
}


/* コンタクトフォーム */
.inquiry{
width: 960px;
margin: 0 auto;
}

@media (max-width: 960px) {
.inquiry{
width:auto;
}
}

.inquiry input[type="text"], .inquiry input[type="url"], .inquiry input[type="email"], .inquiry input[type="tel"], .inquiry input[type="date"], .inquiry input[type="number"], .inquiry select, .inquiry textarea {
width: 100%;
padding: 5px;
color: #000;
}
.submit{
display: block;
text-align: center;
margin: 30px auto 0;
}
.button, .inquiry .wpcf7-submit {
display: inline-block;
min-width: 0px;
margin: 0;
padding: 1em 1em;
border: 0;
border-radius: 4px;
line-height: 1;
background: #f18200;
color: #fff;
text-align: center;
text-decoration: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
transition: .3s;
}
.button:hover, .inquiry .wpcf7-submit:hover {
background: #ced4d2;
color: #383637;
}
.wpcf7-spinner{
display: none;
}
.required {
color: #c00;
}


/* Slider */
.mv{
position: relative;
}
.mv-image {
position: relative;
}

.slider02 .mv-image, .slider03 .slide-image {
padding: 0 5px;
}

.mv-image span {
font-size: 3.6rem;
align-items: center;
line-height: 1.4;
font-weight: normal;
color:#fff;
}

.mv-image figure img {
width: 100%;
}

.mv-image div {
position: absolute;
bottom: 25%;
left: 40px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

@media (max-width: 1024px) {
.mv-image span {
font-size: 2.2rem;
}
.mv-image div {
bottom:20%;
}
}
@media (max-width: 767px) {
.mv-image span {
font-size: 1.6rem;
}
.mv-image div {
left:10px;
bottom:30%;
}
}
/* 見出し */

h2.heading-1 {
position: relative;
word-wrap: break-word;
font-weight: bold;
margin: 0;
padding:10px 0;
font-size: 2.8rem;
color: #333333;
letter-spacing: 1px;
text-align: center;
}

h2.heading-1 span {
font-size: 1.2rem;
display: block;
color: var(--main-color);
}

h2.heading-1.type2 {
background: var(--main-color);
padding: 30px 0;
text-align: center;
color: #fff;
}

h3.heading-3{
position: relative;
font-size:1.6rem;
text-align: center;
letter-spacing: 2px;
margin:20px 0;
}

h3.heading-3 span{
font-size:1.2rem;
}
h3.heading-3.type2 {
display: table;
margin: 0 auto;
}
h3.heading-3.type2:before {
content: '';
display: block;
margin: auto auto 0;
background: #000;
position: absolute;
top: -10px;
right: 0;
width: 100%;
height: 3px;
}

h3.heading-3.type2:after {
content: '';
display: block;
background: #000;
bottom: -10px;
right: 0;
position: absolute;
width: 100%;
height: 3px;
margin: auto auto 0;
}

@media (max-width: 767px) {
h2.heading-1 {
font-size: 1.4rem;
}
h2.heading-1 span {
font-size: 1.2rem;
}
h3.heading-3{
font-size:1rem;
}
}

@media (max-width: 480px) {
h2.heading-2{
font-size:1.6rem;
}
}

/* ボタン */

.btn-1 {
color: #1b1b1b;
display: block;
width: 180px;
margin: 0 auto 40px;
height: auto;
padding: 16px 10px;
text-align: center;
border: var(--sub-color) 1px solid;
background: #fff;
-webkit-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}

.btn-1.left{
float: left;
}

.btn-1.right{
float: right;
}

.btn-1:hover {
color: #fff;
background: var(--sub-color);
}

/* テーブル */


.table-compare {
width: 100%;
}

.table-compare td,
.table-compare th {
border: 1px solid var(--sub-color);
padding: 0.7em;
text-align: center;
}

@media (max-width: 480px) {

.table-compare td,
.table-compare th {
padding: 0.7em .3em;
}
}

.table-compare thead th {
background: var(--main-color);
color: #fff;
}

.table-compare tbody th {
background: var(--pale-color);
color: #fff;
}


.table-schedule {
width: 100%;
}

.table-schedule td,
.table-schedule th {
padding: 0.2em;
border-bottom: 1px solid #2D2928;
text-align: center;
}

@media (max-width: 480px) {

.table-schedule td,
.table-schedule th {
padding: 0.7em .3em;
}
}

.table-schedule thead th {
color: #2D2928;
}

.table-schedule tbody th {
color: #2D2928;
}

.table-default {
width: 100%;
}

.table-default td,
.table-default th {
padding: 0.7em 1em;
border: 1px solid var(--main-color);
vertical-align: middle;
}

.table-default th {
background: var(--pale-color);
color: #fff;
}

@media (max-width: 768px) {
.scroll{
width: 100%;
border-collapse: collapse;
white-space: nowrap;
overflow-x: scroll;
}
}
/* 流れ */

.arrow{
position: relative;
}

.arrow:after {
content: '';
background: url("../images/flow-arrow.png") no-repeat center;
width: 18px;
height: 70px;
position: absolute;
right: 0%;
bottom: 50%;
transform: rotate(0deg);
}

@media (max-width: 767px){
.arrow{
margin-bottom: 50px;
}
.arrow:after {
right: 50%;
bottom: -60px;
transform: rotate(90deg);
}
}

/* リスト */

dl {
margin: 0 0 1em;
line-height: 1.6;
display: flex;
flex-wrap: wrap;
}

dl:last-child {
margin-bottom: 0;
}

dl dt {
width: 10%;
display: flex;
align-items: center;
justify-content: center;
border-bottom: 1px solid #333;
padding: 10px 0;
}

dl dd {
margin-left: 0;
width: 90%;
padding-left: 10px;
border-bottom: 1px solid #333;
display: flex;
flex-wrap: wrap;
align-content: stretch;
align-items: center;
}

dl dd:last-child {
margin-bottom: 0;
}

@media (max-width: 767px){
dl dd {
height: auto;
}
}

/* ページトップ */
.pagetop {
position: fixed;
bottom: 98px;
right: 5%;
z-index: 100;
}

@media (max-width: 767px) {
.pagetop {
bottom: 74px;
}
}

.pagetop a {
overflow: hidden;
text-indent: 100%;
white-space: nowrap;
display: inline-block;
position: relative;
width: 70px;
height: 70px;
padding: 0;
border-radius: 50%;
background: var(--main-color);
}

@media (max-width: 767px) {
.pagetop a {
width: 50px;
height: 50px;
}
}

.pagetop a:after {
content: "";
display: block;
position: absolute;
top: 50%;
left: 50%;
margin: auto;
width: 10px;
height: 10px;
border-top: 2px solid #fff;
border-left: 2px solid #fff;
-webkit-transform: translate(-50%, -20%) rotate(45deg);
transform: translate(-50%, -20%) rotate(45deg);
-webkit-transition: .2s;
transition: .2s;
}


/* バナーエリア */
.chatbot_bnr{
max-width: 700px;
margin: 0 auto;
}

.bnr {
margin: -15px;
padding: 0;
list-style: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

@media (max-width: 767px) {
.bnr {
margin: -10px;
}
}

.bnr li {
padding: 15px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
max-width: 250px;
}

@media (max-width: 767px) {
.bnr li {
padding: 10px;
}
}

.bnr li a img {
margin: 0 auto;
}

/* ヘッダー */
header{
position: absolute;
top: 0;
z-index: 10;
width: 100%;
}
.header-wrap {
position: relative;
margin-right: auto;
margin-left: auto;
width: auto;
min-height: 77px;
padding: 20px 40px 0;
text-align: center;
background: rgba(255, 255, 255, 0.8);
}

@media (max-width: 480px) {
.header-wrap:after {
border: none;
}
.header-wrap:before {
border: none;
}
}
@media (max-width: 767px) {
.header-wrap {
overflow: hidden;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 100%;
height: 100%;
min-height: 0;
margin-top: 0;
z-index: 999;
padding: 15px;
}
}
@media (max-width: 480px) {
.header-wrap {
padding: 10px 15px 10px 10px;
}
}

.header-main {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
width: 100%;
}
.header-info{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
justify-content: end;
flex-wrap: wrap-reverse
}

.header-head:not(.title) img {
height: 50px;
}
@media (max-width: 767px) {
.header-main {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: flex-start;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
width: 100%;
}
}
.header-head:not(.title) {
line-height: 1;
margin: 0;
flex: none;
}

@media (max-width: 767px) {
.header-head:not(.title) {
margin: 0 auto 0 0;
padding: 0;
text-align: left;
width: 100%;
}
}
@media (max-width: 767px) {
.header-head:not(.title) {
width: 60%;
}
}
@media (max-width: 767px) {

}
.header-text{
text-align: center;
border:1px solid var(--main-color);
color: var(--main-color);
}
.header-head {
text-align: left;
}
.header-head a {
display: inline-block;
}
.header-copy:not(.title) {
color: #1b1b1b;
font-size: 1rem;
font-weight: normal;
line-height: 1.2;
margin: 0 0 20px 0;
padding: 4px 0;
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
text-align: left;
position: relative;
}

@media (max-width: 767px) {
.header-copy:not(.title) {
display: none;
}
}

.tel-text{
font-size: 20px;
display: inline-block;
font-family: 'Kosugi Maru', sans-serif;
color: var(--main-color);
}


.header-btn {
display: flex;
flex-wrap: wrap;
cursor: pointer;
padding:10px;
justify-content: flex-end;
}

.header-btn img {
width: 180px;
margin-left: 10px;
}

@media (max-width: 767px) {
.header-btn img {
width: auto;
}
}



/* フッター */

.footer {
padding: 60px 0 0;
}

@media (max-width: 767px) {
.footer {
padding: 30px 0 0;
}
}

.footer-info {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}

@media (max-width: 767px) {
.footer-info {
display: block;
}
}

.footer-info__data {
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
padding: 0 calc(30px / 2);
color: #fff;
text-align: left;
}

@media (max-width: 767px) {
.footer-info__data {
margin-top: 20px;
text-align: center;
}
}

.footer-info__name img {
margin: auto;
width: auto!important;
}

.footer-info__adress {
margin-top: 5px;
line-height: 1.5em;
}

.footer-info__tel {
margin-top: 5px;
}

.footer-info__tel a {
color: #fff;
}

.footer__copy {
background: var(--main-color);
padding: 20px 0;
line-height: 1.42857;
text-align: center;
color: #fff;
margin: 0;
}

@media (max-width: 767px) {
.footer__copy {
padding: 20px 0;
line-height: 1.66667;
}
}

.footer-info__data .footer-info__tel {
margin-bottom: 0;
}

/* 汎用クラス */

.bg-red{
background-color:#fe266d!important;
}

.bg-blue{
background-color:#1646b1!important;
}

.bg-green{
background-color:#5fcf32!important;
}

.bg-orange{
background-color:#ffa204!important;
}

.text-red{
color: #db2d2d!important;
}

.text-blue{
color: #2420db!important;
}

.text-green{
color: #6ddb20!important;
}

.text-orange{
color: #FE7400!important;
}

.text-pink{
color: #db20b2!important;
}

.text-black{
color: #000000!important;
}

.text-white{
color: #FFFFFF!important;
}

.mt0 {
margin-top: 0px!important;
}
.mb0 {
margin-bottom: 0px!important;
}
.pb0 {
padding-bottom: 0px!important;
}
.pt0{
padding-top: 0px!important;
}
.pl0{
padding-left: 0px!important;
}
.pall30{
padding: 30px!important;
}
.mt10{
margin-top:10px!important;
}

.mt20{
margin-top:20px!important;
}

.mt30{
margin-top:30px!important;
}

.mt40{
margin-top:40px!important;
}

.mt50{
margin-top:50px!important;
}

.mt60{
margin-top:60px!important;
}

.mr10{
margin-right:10px!important;
}

.mr20{
margin-right:20px!important;
}

.mr30{
margin-right:30px!important;
}

.mr40{
margin-right:40px!important;
}

.mr50{
margin-right:50px!important;
}

.mr60{
margin-right:60px!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;
}

.mb60{
margin-bottom:60px!important;
}

.ml10{
margin-left:10px!important;
}

.ml20{
margin-left:20px!important;
}

.ml30{
margin-left:30px!important;
}

.ml40{
margin-left:40px!important;
}

.ml50{
margin-left:50px!important;
}

.ml60{
margin-left:60px!important;
}

.pt10{
padding-top:10px!important;
}

.pt20{
padding-top:20px!important;
}

.pt30{
padding-top:30px!important;
}

.pt40{
padding-top:40px!important;
}

.pt50{
padding-top:50px!important;
}

.pt60{
padding-top:60px!important;
}

.pr10{
padding-right:10px!important;
}

.pr20{
padding-right:20px!important;
}

.pr30{
padding-right:30px!important;
}

.pr40{
padding-right:40px!important;
}

.pr50{
padding-right:50px!important;
}

.pr60{
padding-right:60px!important;
}

.pb10{
padding-bottom:10px!important;
}

.pb20{
padding-bottom:20px!important;
}

.pb30{
padding-bottom:30px!important;
}

.pb40{
padding-bottom:40px!important;
}

.pb50{
padding-bottom:50px!important;
}

.pb60{
padding-bottom:60px!important;
}

.pl10{
padding-left:10px!important;
}

.pl20{
padding-left:20px!important;
}

.pl30{
padding-left:30px!important;
}

.pl40{
padding-left:40px!important;
}

.pl50{
padding-left:50px!important;
}

.pl60{
padding-left:60px!important;
}

.text-bold{
font-weight: bold!important;
}

.text-center{
text-align: center!important;
}

.text-right{
text-align: right!important;
}

.text-left{
text-align: left!important;
}


.text-xlarge {
font-size: 2.0rem!important;
}

.text-large {
font-size: 1.6rem!important;
}

.text-middle {
font-size: 1.2rem!important;
}

.text-small {
font-size: 0.7rem!important;
}


@media (max-width: 767px) {
.pc-only{
display: none !important;
}
.text-xlarge {
font-size: 1.8rem;
}
.text-large {
font-size: 1.3rem!important;
}
}

@media (min-width: 767px) {
.sp-only {
display: none !important;
}
}

@media (min-width: 767px) and (max-width: 1023px) {
.tablet-hide {
display: none !important;
}
}

@media (min-width: 1024px) {
.tablet-only {
display: none !important;
}
}


/* 背景ありコンテンツ */
.content-items .row{
justify-content: center;
}

.bg-01 {
overflow: hidden;
position: relative;
background: url("../images/content-01-bg.png") no-repeat center;
background-size: cover;
}

.bg-02 {
background: #F6F4F0;
}

.bg-03 {
overflow: hidden;
position: relative;
background: url("../images/content-03-bg.jpg") no-repeat center;
background-size: cover;
}


.bg-04 {
overflow: hidden;
position: relative;
background: url("../images/content-04-bg.png") no-repeat center;
background-size: cover;
}

@media (max-width: 767px) {
.bg-04{
background:#FFF1E6;
}
}

.bg-05 {
position: relative;
background:var(--main-color);
}

.bg-05:before {
content:"";
overflow: hidden;
position: absolute;
background: url("../images/content05_01.jpg") no-repeat center;
background-size: cover;
top: 0;
left: 0;
z-index: 5;
height: 100%;
width: 50%;
}

@media (max-width: 767px) {
.bg-05:before {
background-size: contain;
width: 100%;
height: 270px;
top:-18px;
}
}

.bg-06 {
  overflow: hidden;
  margin-top:40px;
}

.cont01 {
position: relative;
}
.cont01:after {
content: "";
position: absolute;
top: 0;
left: 5%;
background: url("../images/content-06-bg01.png") #FFF8F2 no-repeat center;
background-size: contain;
width: 100%;
height:100%;
z-index: -1;
}

.cont02 {
position: relative;
}
.cont02:after {
content: "";
position: absolute;
top: 0;
right: 5%;
background: url("../images/content-06-bg02.png") #FFF8F2 no-repeat center;
background-size: contain;
width: 100%;
height:100%;
z-index: -1;
}
.cont03 {
position: relative;
}
.cont03:after {
content: "";
position: absolute;
top: 0;
left: 5%;
background: url("../images/content-06-bg03.png") #FFF8F2 no-repeat center;
background-size: contain;
width: 100%;
height:100%;
z-index: -1;
}

@media (max-width: 767px) {
.bg-06 {
background: #FFF8F2;
}
}

.bg-07 {
background: #fff1e6;
}

.bg-08 {
overflow: hidden;
position: relative;
background: url("../images/content-08-bg.png") no-repeat center;
background-size: cover;
}

.greeting{
margin-top: 125px!important;
position: relative;
z-index: 3;
}
.greeting p{
padding-right: 30px
}
.greeting:after{
content: "";
position: absolute;
background: rgba(255, 255, 255, 0.4);
top: -35px;
right: 0;
width: 110%;
height: 120%;
z-index: -1;
}

.greeting.rev ul{
padding-left:0;
padding-right: 0;
font-size: 14px;
}
.greeting.rev:after{
content: "";
position: absolute;
background: rgba(255, 255, 255, 0.4);
top: -35px;
left: -35px;
width: 120%;
height: 120%;
z-index: -1;
}

@media (max-width: 767px) {
.greeting{
margin-top: 20px!important;
position: relative;
z-index: 3;
padding: 10px 0;
}
.greeting p{
padding-right: 0
}
.greeting:after{
content: "";
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
z-index: -1;
}
.greeting.rev p{
padding-left: 0;
}
.greeting.rev:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
}

.address{
text-align: center;
line-height: 1.5rem;
}

.tel{
font-size: 2rem;
text-align: center;
line-height: 1.5rem;
color: #fff;
font-weight: bold;
}
.tel span{
position: relative;
}
.tel span:before{
content:"";
position: absolute;
left: -50px;
top: 0;
overflow: hidden;
background: url("../images/phone.png") no-repeat center;
height: 40px;
width: 40px;
background-size: cover;
}
.tel.foot{
font-size: 2rem;
text-align: left;
margin:0;
color: var(--main-color);
font-weight: bold;
padding-left: 50px;
}
.tel.foot span:before{
content:"";
position: absolute;
left:-50px;
top: 0;
overflow: hidden;
background: url("../images/phone2.png") no-repeat center;
height: 40px;
width: 40px;
background-size: cover;
}
