@charset "UTF-8";
.bd {
border: 1px solid red;
}

/*reCAPTCHAバッジ非表示*/
.grecaptcha-badge { visibility: hidden; }

/***　common　***/
:root{
--base-font:"Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
--base-font02:"Hiragino Mincho ProN W6", "ヒラギノ明朝 ProN W6", "Hiragino Mincho ProN","游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
--sub-font: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
--base-color: #646464; /*基本テキスト用*/
--sub-color01: #798ba5; /*グレー*/
--sub-color02: #51abdc; /*空色*/
--sub-color03: #dec38c; /*肌色*/
--sub-color04: #001B68; /*濃紺*/
--sub-color05: #C6A875; /*ベージュ*/
--bg-color01: #FFFAF0; /*うす肌色*/
--bg-color02: #E7F0FF; /*うすグレー*/
--bg-color03: #E8F6FF; /*ごくうすグレー*/
--bg-color04: #F8FBFF; /*ほぼ白*/
--bg-color05: #E3EEFF; /*薄い空色*/
--menu-color01: #DCEFFF;/*うす青グレー*/
--gradation01: linear-gradient(135deg, rgba(255,255,255,0.9) 50%, rgba(255,219,145,0.95) 100%);}
*{ box-sizing: border-box; }
html { font-size: 100%; }
body {
font-family: var(--base-font);
color: var(--base-color);
font-size: 1rem;
}
h2 {font-weight: inherit;}
h3 {font-size: 100%; font-weight: normal;}
img {
width: 100%;
height: auto;
}

main {
margin: 0;
text-align: center;
position: relative;
z-index: auto;/*ハンバーガーメニューを上に*/
}
#main {text-align: center;}
label {text-align: left;}
#content {
padding: 20px 0 0 0;
}
#content-wrap {
margin: 0 auto;
background-color: white;
/*box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);*/
}

#sidebar {
/*text-align: center;*/
}

#catchphrase {
  margin-bottom: 0;
  padding-bottom: 0.5rem;
  font-size: 13px;
}
/*下層ページ全般*/
.subheader {
text-align: center;
color: var(--sub-color01);
margin-top: 1rem;
font-size: 1.6rem;
}
.logo-lower-layer {
width: 100px;
margin: 1.5rem auto;
display: flex;
justify-content: center;
}
/*リンク*/
a {
text-decoration: none;
opacity: 1;
}
a:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}
/*リンクボタン*/
.link-btn{
max-width: 500px;
font-size: 1.2rem;
margin: 2rem auto 0;
padding: 0.5rem;
border-radius: 1.5rem;
background-color: var(--sub-color02);
color: #fff;
}
.link-btn2{
max-width: 500px;
font-size: 1.2rem;
margin: 2rem auto 0;
padding: 0.5rem;
border-radius: 1.5rem;
background-color: #fff;
color: var(--sub-color04);
}
.btn-arrow {
display: table;
position: relative;
min-width: 14em;
text-decoration: none;
box-sizing: border-box;
transition: 0.5s;
}
/*
.btn-arrow:hover, .link-btn-flex li a:hover{
opacity: 0.6;
filter: alpha(opacity=60);
-ms-filter: "alpha(opacity=60)";
}
*/
.btn-arrow::after {
position: absolute;
content: "";
width: 0.5em;
height: 0.5em;
border-top: 1px solid currentColor;
border-right: 1px solid currentColor;
top: 50%;
right: 1em;
transform: translateY(-50%) rotate(45deg);
}

.btn-arrow:hover {
opacity: 0.6;
filter: alpha(opacity=60);
-ms-filter: "alpha(opacity=60)";
}


/*リンクボタン　flex*/
.link-btn-flex{
display: flex;
justify-content: center;
align-items: center;
font-size: 1.2rem;
color: #fff;
}
.link-btn-flex li + li{margin-left: 5rem;}
.link-btn-flex li a{
position: relative;
display: flex;
width: 16rem;
height: 2.5rem;
border-radius: 1.5rem;
justify-content: center;
align-items: center;
transition: 0.5s;
}
.link-btn-flex li:nth-of-type(1) a {background: var(--sub-color02);}
.link-btn-flex li:nth-of-type(2) a {background: var(--sub-color03);}
.link-btn-flex li a:after{
position: absolute;
content: '';
width: .5rem;
height: .5rem;
border-top: solid 1px;
border-right: solid 1px;
top: 50%;
right: 1rem;
transform: translateY(-50%) rotate(45deg);
}

.section-bottom {
margin:12rem auto 0;
}

/*間隔*/
.pad1 {padding: 1rem}
.pad1-lr {
padding-left:1rem;
padding-right:1rem;
}
.pad1-ud {
padding-top: 1rem;
padding-bottom: 1rem;
}
.pad2-ud {
padding-top: 2rem;
padding-bottom: 2rem;
}
.pad3-ud {
padding-top: 3rem;
padding-bottom: 3rem;
}
.pad1-u {padding-top: 1rem;}
.pad2-u {padding-top: 2rem;}
.pad3-u {padding-top: 3rem;}
.pad1-d {padding-bottom: 1rem;}
.pad2-d {padding-bottom: 2rem;}
.pad3-d {padding-bottom: 3rem;}
.pad4-d {padding-bottom: 4rem;}


.mgn1-u {margin-top: 1rem;}
.mgn2-u {margin-top: 2rem;}

.mgn1-d {margin-bottom: 1rem;}
.mgn2-d {margin-bottom: 2rem;}

.mgn2-ud {
margin-top: 2rem;
margin-bottom: 2rem;
}
.mgn3-ud {
margin-top: 3rem;
margin-bottom: 3rem;
}

/*段落*/
.p p {
margin-bottom: 1rem;
}
/*スペース*/
.space1 {padding-top: 1rem;}
.space2 {padding-top: 2rem;}
.space3 {padding-top: 3rem;}
/*改行*/
.pc-only {display: block;}
.sp-only {display: none;}

.space {margin-bottom: 10rem;}
/*位置*/
.t-center {text-align: center;}
.t-left {text-align: left}
.position-center {margin: 0 auto}
/*.menu {margin-top: 10px;}*/

/*ボックス*/
.box-beige {
border: 1px solid var(--sub-color05);
padding: 0.8rem;
}
.box-gray {
background: var(--sub-color01);
margin: 10px auto;
border-radius: 10px;
color: #fff;
}
.box-gray2 {
border: 2px solid var(--sub-color01);
}
.box-white {
background: var(--bg-color04);
margin: 10px auto;
border-radius: 10px;
color: var(--sub-color01);
border: 1px solid var(--sub-color01);
}
/*バー*/
.bar-gray {
background: var(--sub-color01);
color: #fff;
padding: 1rem 0.5rem;
}
.h4-02 {
-webkit-transform: skew(-15deg);
transform: skew(-15deg);
color: #fff;
background-image: -webkit-gradient(linear, left top, right top, from(#798ba5), to(#A4BEE2));
background-image: -webkit-linear-gradient(left, #798ba5 0%, #A4BEE2 80%);
background-image: linear-gradient(to right, #798ba5 0%, #A4BEE2 80%);
width: 500px;
max-width: 95%;
padding: 0.3rem 2rem;
margin: 0 auto;
text-align: left;
}
.gradient-bar {
font-family: var(--sub-font);

margin: 0 auto;
padding: 0.5rem 2rem;
color: #fff;
background-image: -webkit-gradient(linear, left top, right top, from(#798ba5), to(#A4BEE2));
background-image: -webkit-linear-gradient(left, #798ba5 0%, #A4BEE2 80%);
background-image: linear-gradient(to right, #798ba5 0%, #A4BEE2 80%);
}
/*ボーダー　*/
.border-double {
max-width: 100%;
padding: 1rem 0;
margin: 1rem auto 0;
border-top: medium double #fff;
border-bottom: medium double #fff;
}
/***　リスト　アレンジ　***/
/*※印*/
.kome ul {
padding-left: 1.5em;
}
.kome li{
text-indent: -1.5em;
}
.kome li:before{
content: "※";
margin-right: 0.2em;
}
/*数字*/
.decimal ol {padding-left: 1.5em;}
.decimal ol li{list-style-type: decimal;}
/*黒丸*/
.disc li {
list-style-type: disc;
margin-left: 1rem;
text-align: left;
}
/*リストの段落*/
.list-1d li {margin-bottom: 1rem;}
/*** フォント ***/
.font-sans {font-family: var(--sub-font); text-align: left;}
/*フォントサイズ*/
.fs80 {font-size: 0.8rem;}
.fs90 {font-size: 0.9rem;}
.fs100 {font-size: 1rem;}
.fs110 {font-size: 110%;}
.fs120 {font-size: 120%;}
.fs130 {font-size: 130%;}
.fs140 {font-size: 140%;}
.fs150 {font-size: 150%;}
.fs160 {font-size: 160%;}
.lh170 {line-height: 170%}
/*フォントカラー*/
.gray {color: var(--sub-color01)}
.red {color: red}
.yellow {color: yellow}
.white {color: white}
.sky {color: var(--sub-color02)}
/*装飾見出し*/
.h2-02 {
position: relative;
padding: 0.8rem;
background: var(--sub-color01);
}
.h2-02:before, .h2-02:after {position: absolute; content: '';}
.h2-02:before {
top: -25px;
left: calc(50% - 40px);
width: 80px;
height: 70px;
border: 2px solid var(--sub-color01);
border-radius: 50%;
background: var(--sub-color01);
}
.h2-02:after {
top: 0;
left: 0;
}
.h2-02 i {
font-size: 1.6rem;/*アイコンサイズ*/
position: absolute;
z-index: 1;
top: -1rem;
left: calc(50% - 40px);
width: 80px;
height: 40px;
color: white;
transform: rotate(8deg);
}
.h2-02 span {position: relative; z-index: 1; font-size: 1.4rem; color:white; }
/*段落*/
.txt-p p{margin-bottom: 1rem;}
/*テキスト*/
.bold {font-weight: bold}
.bold-non {font-weight: normal}
.txt-gray {color: var(--sub-color01);}
.txt-orange {color: #ff9f31;}
.txt-blue {color:blue}
.txt-red {color:red}
.bg-color01{background: var(--bg-color01);}
.bg-color02{background: var(--bg-color02);}
.contents-txt {
font-size: 20px;
text-align: left;
line-height: 1.7em;
}
.txt-item {
font-size: 1.1rem;
line-height: 2em;
padding: 1rem 0 2rem;
}
.txt-item2 {
font-size: 0.9rem;
line-height: 1.5em;
padding: 0rem 1rem 1rem;
text-align: left;
}

.ttl {
font-size: 24px;
font-weight: bold;
color: #007bff;
}
.ttl2 {
font-size: 1.7rem;
font-weight: bold;
color: var(--sub-color02);
font-family: var(--sub-font);
}
.sub-ttl2 {
font-family: var(--sub-font);
font-size: 1.4rem;
font-weight: bold;
color: var(--sub-color01);
}
.ttl-gray {
font-size: 1.4rem;
color: var(--sub-color01);
padding: 0.4rem 0;
}
.ttl-gray2 {
font-size: 1.1rem;
color: var(--sub-color01);
padding: 0.4rem 0.8rem;
text-align: left;
}
.ttl-gray130 {
font-size: 130%;
color: var(--sub-color01);
}
.ttl-beige {
color: var(--sub-color05);
}
.ttl-h3 {
color: var(--sub-color01);
font-size: 1.2rem;
font-weight: bold;
border-left: 3px solid;
padding: 0 0.4rem;
margin-bottom: 0.7rem;
}
.ttl-h4 {
color: var(--sub-color01);
font-size: 0.9rem;
font-family: var(--sub-font);
border-left: 2px solid;
padding: 0 0.2rem;
margin-bottom: 0.7rem;
}

.h2-txt {
font-size: 2rem;
font-weight: normal;
color: var(--sub-color01);
}
.h2-txt2 {
font-size: 1.5rem;
color: var(--sub-color01);
}
.h2-txt span {
color: var(--sub-color02);
}
.h2-txt-white {
font-size: 2rem;
font-weight: normal;
color: #fff;
}
.h2-txt2-white {
font-size: 1.5rem;
color: #fff;
}
.h3-txt {
font-size: 18px;
text-align: left;
}
.h3-txt-c {
font-size: 18px;
text-align: center;
}
.h3-txt span {
font-weight: bold;
color: #007bff;
}
.h3-txt2 {
font-size: 1.1rem;
font-weight: bold;
text-align: left;
padding: 0.5rem;
line-height: 1.7rem;
}
.h4-txt {
text-align: left;
padding: 1rem;
line-height: 1.7rem;
}
.txt-h2line {
border-bottom: thin solid var(--sub-color01);
max-width: 380px;
margin: 5px auto;
padding: 0 10px;
}
.txt-line-white250 {
border-bottom: thin solid #fff;
max-width: 250px;
margin: 5px auto;
padding: 0 10px;
}
.txt-line-gray250 {
border-bottom: thin solid var(--sub-color01);
max-width: 250px;
margin: 5px auto;
padding: 0 10px;
}



.txt-bottombar-thin {
border-bottom: thin solid var(--sub-color01);
padding: 0 0 8px;
margin: 0px auto 15px;
}
.txt-bottombar-thin2 {
border-bottom: thin solid var(--sub-color01);
padding: 0 0 5px;
margin: 0px auto 15px;
width: 96%;
}
.txt-underbar1 {
position: relative;
padding: 1rem;
text-align: center;
font-size: 1.4rem;
color: var(--sub-color01);
margin-bottom: 1.3rem;
}
.txt-underbar1:before {
position: absolute;
left: calc(50% - 30px);
bottom: 0px;
width: 60px;
height: 5px;
content: '';
border-radius: 3px;
background: var(--sub-color01);

}
/*テキスト下層ページ*/
.ttl-bar {
background-color: var(--sub-color01);
color: #fff;
font-size: 1.4rem;
padding: 0.5rem 0;
line-height: 2.3rem;
}
.ttl-bar-top {
background-color: var(--sub-color01);
color: #fff;
font-size: 1.2rem;
padding: 0.3rem 0;
border-radius: 5px 5px 0 0;
}
.ttl-bar-bottom {
background-color: var(--sub-color01);
color: #fff;
padding: 0.3rem 0;
border-radius: 0 0 5px 5px;
}
.txt-low-layer {
max-width: 750px;
text-align: left;
margin: 2.5rem auto;
padding: 0 1rem;
line-height: 1.8rem;
}
.txt-low-layer2 {
font-family: var(--sub-font);
max-width: 700px;
text-align: left;
margin: 1rem auto;
padding: 0 2rem;
line-height: 1.6rem;
}
.txt-low-layer3 {
font-size: 1.2rem;
margin: 2rem auto;
padding: 0 0.5rem;
line-height: 1.8rem;
}
.txt-low-layer4 {
font-family: var(--sub-font);
text-align: left;
padding: 1rem 0.5rem;
line-height: 1.5rem;
}
.txt-low-layer5 {
max-width: 600px;
text-align: left;
margin: 2.5rem auto;
padding: 0 1rem;
line-height: 1.8rem;
}
.txt-low-layer6 {
text-align: left;
margin: 0 auto;
padding: 0 1rem;
line-height: 1.8rem;
}
.txt-low-layer p, .txt-low-layer2 p, .txt-low-layer3 p, .txt-low-layer5 p {margin-bottom: 1rem;}
.txt-low-layer p span, .txt-low-layer3 p span, .txt-low-layer5 p span {color: var(--sub-color01); font-weight: bold;}


/*逆三角*/
.triangle {
background: var(--sub-color01);
height: calc(60px / 2);
width: 60px;
clip-path: polygon(0 0, 100% 0, 50% 100%);
margin: 0 auto;
}
/*幅*/
.w900 {max-width: 900px; margin: 0 auto}
.w800 {max-width: 800px; margin: 0 auto}
.w750 {max-width: 750px; margin: 0 auto}
.w700 {max-width: 700px; margin: 0 auto}
.w650 {max-width: 650px; margin: 0 auto}
.w600 {max-width: 600px; margin: 0 auto}
.w500 {max-width: 500px; margin: 0 auto; width: 94%}
.w400 {max-width: 400px; margin: 0 auto; width: 94%}
.w300 {max-width: 300px; margin: 0 auto}
.w250 {max-width: 250px; margin: 0 auto}
.w200 {max-width: 200px; margin: 0 auto}
.w50per {width: 50%; margin: 0 auto}
.w40per {width: 40%; margin: 0 auto}

/* ロゴ */
.navbar-brand {
width: 120px;
}
/*ページ内ロゴ*/
.logo-page {
width: 4rem;
text-align: center;
margin: 2rem auto;
display: block;
}

.logo-page {
/*
display: flex;
justify-content: center;
*/

}
.logo-page-message-img {
width: 198px;
margin: 1rem auto 2rem;
}



/*画像全般*/
.border-blue {
border: 1px solid #5CB4EA;
border-radius: 8px;
}
.img-shadow {
box-shadow: 0px 10px 15px -6px rgba(0, 0, 0, 0.3);
}
.div-white {
background-color: #fff;
padding: 2rem 10px;
}
.bg-sky {
background-color: #ADE0FF;
padding: 1rem 0px;
margin: 0 auto;
}


/*** トップページ ***/

/*** フレックス ***/
.flex-box {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-between;
max-width: 1200px;
margin: 0 auto;
}
/*スマホで逆反転用*/
.flex-box2 {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-between;
margin: 0 auto;
}
.flex-box3 {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-between;
margin: 0 auto;
}
.flex-box4 {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-between;
margin: 0 auto;
gap:1rem;
}
.flex-box-nowap {
display: flex;
justify-content: center;
align-content: space-between;
margin: 0 auto;
gap:1rem;
}
.flex-item {
width: 350px;
padding: 20px;
}
.flex-item2 {
max-width: 50%;
padding: 25px;
}
.flex-item3 {
max-width: 33%;
padding: 5px;
}
.flex-item4 {
max-width: 30%;
padding: 4px;
margin-bottom: 1rem;
}
.flex-item5 {
max-width: 49%;
padding: 20px;
}
.flex-box-gray {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-between;
max-width: 1000px;
margin: 0 auto;
}
.flex-gray-item {
width: 280px;
padding: 0px;
border: 1px solid var(--sub-color01);
margin: 7px;
}
.flex-gray-item p {
text-align: left;
padding: 5px;
line-height: 1.9rem;
}
.bar-gray {
background: var(--sub-color01);
font-size: 1.1rem;
color: #fff;
height: 3.5rem;
display: flex;
justify-content: center;
align-items: center;
}


/*grid*/
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, 260px);
padding: 5px;
gap: 5px;
}
.grid-item {
padding: 10px;
/*background-color: #ddd;*/
}

/*ヘッダー*/
.bg-secondary-subtle {
background-color: transparent!important;
}
.container-fluid {
--bs-gutter-x:0rem;
}
.navbar-expand-lg {
padding:0;
}

/*ヘッダーバナー*/
.mainvisual_catch {

color: #FF8300;
}
.catch-copy {
font-size: 3vw;
}
.catch-copy2 {
font-size: 5vw;
}

/*ロゴの大きさ　サイト名*/
.site-name {
font-size: 27px;
font-weight: bold;
color: #3593CE;
margin-left: 10px;
vertical-align: bottom;
}

/*** 投稿ページ ***/
.single p {
margin-bottom: 1rem;
}
.single-post {
text-align: left;
padding: 0 1rem;
}
.post-meta {
font-size: 0.9rem;
text-align: left;
padding: 1.5rem 1rem 0.5rem;;
}
.post-navigation .nav-links {
display: flex;
align-items: center;
justify-content: space-between;
color: var(--sub-color01);
}
.p-post-nav .nav-links {
display: flex;
align-items: center;
justify-content: space-between;
color: var(--sub-color01);
}
/*** ページネーション ***/
/* ページネーション全体 */
.navigation.pagination {
margin: 1.5rem 0;
color: var(--sub-color01);

}
/* 数字リンク共通 */
.navigation.pagination .page-numbers {
display: inline-block;
padding: 7px 10px;
margin-bottom: 0.8rem;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 14px;
transition: all 0.2s ease;
}
/* ホバー */
.navigation.pagination .page-numbers:hover {
background: #f0f0f0;
}
/* 現在のページ（ここが強調部分） */
.navigation.pagination .page-numbers.current {
background: var(--sub-color01);
color: #fff;
border-color: var(--sub-color01);
font-weight: bold;
cursor: default;
pointer-events: none;
}
/*フッター*/
.logo-main {
display: flex;
justify-content: center;
padding: 3rem 0;
}
.logo-main-img {
width: 120px;
}
.footer-access {
padding-bottom: 1rem;
}
.fnav {
max-width: 340px;
margin: 0 auto;
}
.copyright {
text-align: center;
color: var(--sub-color01);
padding: 15px 0;
}
.footer-flex-box, .footer-menu-flex-box {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-between;
padding-bottom: 1rem;
}
.footer-flex-box2 {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.footer-flex-item {
padding: 8px 15px;
}
.footer-flex-item2 {
width: 420px;
}
.station {
color: var(--sub-color01);
padding-bottom: 1rem;
}
.station span {
font-size: 1.4rem;
}
.footer-address {
color: var(--sub-color01);
}
.btn-gmap {
margin: 0 auto;
}
.btn-short {
background-color: var(--sub-color02);
color: #fff;
text-align: center;
border-radius: 1.3rem;
padding: 0.3rem 1.3rem;
margin: 1rem auto;
height: 2.1rem;
}
.footer-map {
max-width: 420px;
text-align: center;
}
.footer-logo {
width: 40px;
}
.footer-sitettl {
font-size: 1.5rem;
vertical-align: 0.5ex;
}
.footer-sitettl img {
vertical-align: bottom;
}
.footer-sitettl span {
color: var(--sub-color02);
}
.footer-menu {
color: var(--sub-color01);
padding: 3rem 0;
}
.footer-menu-ttl {
font-size: 1.2rem;
font-weight: bold;
border-bottom: thin solid;
padding: 6px 0;
margin-bottom: 1rem;
}
.footer-menu-flex-box ul {
font-family: var(--sub-font);
font-weight: 200;
line-height: 2rem;
padding-right: 2rem;
}
.schedule {
padding-bottom: 1rem;
}
.scheTable thead {
border-bottom: thin solid var(--sub-color01);
}
.scheTable thead th {
color: var(--sub-color01);
font-family: var(--sub-font);
}
.scheTable td {
color: var(--sub-color02);
padding: 0.2rem 0.4rem;
}
.scheTable tbody th {
font-family: var(--sub-font);
font-weight: 200;
padding: 0 0.7rem;
color: var(--sub-color01);
}
.scheTable tbody tr {
border-bottom: thin solid var(--sub-color01);
}
.sche-notice {
color: var(--sub-color01);
padding: 0.6rem 0;
}
.scheTable thead span {
text-align: center;
padding: 0 0.5rem 0 0;
}
.slash {
padding: 0 0 0 0.4rem;
}
/*フッターEND*/





/* トップページ 特徴セクション */
.features {
padding: 0px 20px 40px;
text-align: center;
}
.section-title {
font-size: 36px;
font-weight: bold;
color: #666;
margin-bottom: 50px;
position: relative;
display: inline-block;
}
.section-title::after {
content: '';
display: block;
width: 80px;
height: 4px;
background-color: #3494CE;
margin: 15px auto 0;
border-radius: 2px;
}
.feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
}
.feature-item {
background-color: #f8f8f8;
padding: 30px 10px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-item img {
max-width: 320px;
height: 290px;
object-fit: cover;
border-radius: 5px;
margin-bottom: 20px;
}
.feature-item h3 {
font-size: 26px;
color: #007bff;
margin-bottom: 15px;
}
.feature-item p {
font-size: 1em;
color: #666;
}

/*CTAボタン*/
.cta-wrapper{
max-width: 700px;
margin: 3rem auto;}
.cta-banner{
position:relative;
background: var(--sub-color01);
border-radius:10px;
padding: 1rem 1rem 2rem;
text-align:center;
color:#fff;
overflow:hidden;
 /*background:linear-gradient(135deg,#43c0cc,#1fa4b8);*/
 /*box-shadow:0 12px 30px rgba(0,0,0,0.15);*/
}
.cta-title{
font-size: 1.4rem;
font-weight: bold;
line-height:1.7;
margin-bottom:1rem;
}
.cta-text{
line-height:1.9;
margin-bottom: 1.5rem;
}
.cta-btn{
font-family: var(--sub-font);
background:#fff;
color: var(--sub-color01);
border-radius:30px;
font-size:1.2rem;
font-weight: bold;
text-decoration:none;
transition:all 0.3s ease;
padding: 0.5rem 2rem;
/*
width: 370px!important;
border: thin solid red;
display:inline-flex;
align-items:center;
justify-content: center;
gap:10px;
*/
  /*box-shadow:0 8px 20px rgba(0,0,0,0.25);*/
}
.cta-btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 10px rgba(0,0,0,0.35);
background: #F8FBFF;
}
.cta-btn .icon2{
font-size: 1.5rem;
align-items:center;
}


/*トップページ バナーリンク*/
/*
.banner-ttl {
text-align: center;
padding: 0.25rem 0;
margin: 0 auto;
border-bottom: thin solid white;
width: 90%;
}
.banner-ttl span {
font-size:1.4rem;
font-weight:bold;
}
.banner-img1 {
background-image: url(../images/top/scoop-logo-squre.png);
width: auto;
height: 170px;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.banner-img2 {
background-image: url(../images/top/banner-biz.jpg);
width: auto;
height: 170px;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
*/

.bg-sky2 {
background: #D5EFFF;
padding: 40px 20px;
}

.company_table>tbody {
display:block
}
.company_table>tbody>tr:nth-child(n+2) {
border-top:2px solid #eee
}
.company_table>tbody>tr>th,.company_table>tbody>tr>td {
letter-spacing:.08em;
line-height:1.875em;
}
.company_table>tbody>tr>th {
font-weight:600;
}
.company_table>tbody>tr>th.text02 {
letter-spacing:1.16em
}
.company_table>tbody>tr>td {
font-weight:400
}

/*問い合わせボタン*/
.contact-btn{ display: flex; font-weight: bold; justify-content: center; flex-wrap: wrap;/* z-index: 9970;*/}
.contact-btn li {padding: 1rem;}
.contact-btn li + li{ /*margin-left: 0.5rem;*/ }
.contact-btn li a{ width: 12rem; height: 2.2rem; border-radius: 1.6rem; display: flex; justify-content: center; align-items: center; background: #fff; border: solid 1px; color: var(--sub-color01); position: relative; padding-right: 1rem; }
.contact-btn li:nth-of-type(2) a{ background: var(--sub-color03); color: #fff; }
.contact-btn li a span{ padding-left: 2.2rem; background: no-repeat left center/2rem; background-size: 1.5rem;/*line-height: 2;*/ }
.contact-btn li:nth-of-type(1) a span{
background-image: url(../images/common/icon-sp.svg);
font-size: 1.1rem; color: var(--sub-color04);
}
.contact-btn li:nth-of-type(2) a span{
background-image: url(../images/common/icon-24h.svg);
}
.contact-btn li a:after{ content: ''; width: .6rem; height: .6rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; top: 50%; right: 1rem; transform: translateY(-50%) rotate(-45deg); }

/*問い合わせページ*/

/* コンタクトフォーム横幅調節 */
.wpcf7 input[name="your-name"] { /* 名前入力欄 */

}
.wpcf7 input[name="your-email"] { /* メール入力欄 */

}
.wpcf7 input[name="your-tel"] { /* 電話番号入力欄 */

}
.wpcf7 input[name="your-subject"] { /* タイトル入力欄 */

}
.wpcf7 textarea[name="your-message"] { /* 本文入力欄 */
/* width: 100%;*/
}
 
.wpcf7 {
max-width: 700px;
margin: 2rem auto;
padding: 0 1rem;
}
.cf-attent {margin-top: 1rem;}
.cf-attent p {
margin-bottom: 1rem;
font-size: 0.9rem;
}
.cf-attent p span {font-size: 1rem;}
.cf-area {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 1.2em 0;
border-bottom: 1px dashed #ccc;
transition: all .3s;
}
.cf-area:last-child {border-bottom: none;}
.cf-area dt {
width: 200px;
padding-right: 20px;
text-align: right;
line-height:1.3em;
}
.cf-area dd {
flex: 1;
}
.cf-area input, .cf-area textarea {
width: 100%;
padding: 0.8em;
border: none;
background-color: #FBFBFB;
font-size: 1rem;
esize: vertical;
ransition: all .3s;
}
.cf-area input:focus,.cf-area textarea:focus {
outline: none;
background: #dde2e9;
}
.cf-required {
background: #b91e23;
color: #fff;
font-size: 0.75rem;
padding: 2px 2px;
border-radius: 2px;
}
.cf-send input {
display: block;
background: linear-gradient(135deg, #6b7a8e 0%, #3b4a5e 100%);
width: 300px;
height: 60px;
margin: 2rem auto 0;
border: none;
border-radius: 10px;
color: #fff;
box-shadow: 2px 5px 15px 0 rgba(0, 0, 0, .2);
font-size: 1.3em;
font-weight: bold;
transition: all .3s;
}
.cf-send input:hover {filter: brightness(1.25);}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
background-color: #fce3e3;
border: none;
text-align: center;
}

@media screen and (max-width:768px){
.cf-area {display: block;}
.cf-area dt {
width: 100%;
margin-bottom: 5px;
padding-right: 0;
text-align: left;
line-height:1.5em;
}
}
/* ==============================================
   レスポンシブ
   ============================================== */
@media screen and (min-width: 1014px) and (max-width: 1302px){
.tablet-none {
display: none;
}
}
@media screen and (min-width: 769px) and (max-width: 847px){
.tablet-none {
display: none;
}
}

/* タブレット (最大幅 1024px) */
@media screen and (max-width: 1080px) {
.flex-item {
width: 320px;
padding: 6px;
}
.section-title {
font-size: 32px;
}
.ttl03 {
width: 95%;
}
}

@media screen and (max-width: 991px) {
.flex-item {
width: 50%;
padding: 15px;
}
.flex-item2 {padding: 20px;}
}


@media screen and (max-width: 768px) {
/*効かない*/
.pagetop__arrow-pc {
display: none;
}
.footer-padding {
padding-bottom: 3rem;
}
.schedule {
padding-top: 1rem;
}
.bg-img-all {
padding: 2rem 0;
}
.flex-item2 {
padding: 8px;
}
.flex-item5 {
max-width: 90%;
}
/*リンクボタン flex*/
.link-btn-flex{display:grid;}
.link-btn-flex li + li{margin: 2rem auto 0;}

.section-bottom {
margin:9rem auto 0;
}
/*CTAバナー*/
.cta-wrapper{margin: 3rem 0.5rem;}
}

@media screen and (max-width: 650px) {

}

@media screen and (max-width: 640px) {
.pc-only {display: none;}
.sp-only {display: block;}
.pc_none {display: block;}
/*テキスト*/
.txt-low-layer3 {text-align: left}
/*フレックス*/
.flex-item {
padding: 10px;
}
.flex-box-nowap {
padding-left: 5px;
padding-right: 5px;
gap: 5px;
}
/*タイトルバー*/
.ttl-bar-top {border-radius: 0;}
.ttl-bar-bottom {border-radius: 0;}
/*ボックス*/
.box-gray, .box-white {margin: auto 0.5rem;}
}

@media screen and (max-width: 560px) {
.flex-box {
display: block;
}
.flex-box2 {
flex-direction: column-reverse;
}
.flex-item {
width: 100%;
padding: 20px 10px;
}
.flex-item2 {
max-width: 100%;
padding: 20px 0;
justify-content: center;
align-items: center;
margin: 0;
}
.flex-item3 {
max-width:100%;
}
.flex-gray-item {
width: 100%;
}
}

@media screen and (max-width: 530px) {
.m-4 {
margin: 0.75rem!important;
}
/*
.flex-box {
display: block;
}
*/


}

@media screen and (max-width: 470px) {
.footer-menu-flex-box {
justify-content: left;
}
/*CTAバナー*/
.cta-title{font-size: 1.2rem;}
}

@media screen and (max-width: 450px) {
.footer-flex-box2 {
justify-content: center;
}
.footer-address {
padding-left: 1rem;
}
.station {
text-align: center;
}
}


@media(min-width: 768px) {
/* 特徴セクション */
.features {
padding: 50px 0;
}
.section-title {
font-size: 28px;
margin-bottom: 40px;
}
.feature-grid {
grid-template-columns: 1fr; /* 1列にする */
gap: 20px;
}
.company_midashi {
font-size:2.9rem;
font-weight:600
}
.company_table {
margin:0 0 13rem
}
.company_table>tbody>tr {
display:flex;
width:100%;
padding:1.5em 0
}
.company_table>tbody>tr>th,.company_table>tbody>tr>td {
font-size:1.6rem
}
.company_table>tbody>tr>th {
width:220px
}
.company_table>tbody>tr>td {
width:calc(100% - 220px)
}
}



@media screen and (max-width: 460px) {

}


@media screen and (max-width: 400px) {

}