/*
Theme Name: SPEEDS
Version: 1.0.0
Author: OHASHI
Template: businesspress
*/
/* Swiper全体 */
.mv-swiper.swiper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: visible;
    position: relative;
    padding: 0;
}
/* Wrapper */
.mv-swiper .swiper-wrapper {
    align-items: center;
}
/* スライド */
.mv-swiper .swiper-slide {
    width: 90vw;
    flex-shrink: 0;
}
/* タブレット */
@media screen and (min-width: 781px) {
    .mv-swiper .swiper-slide {
        width: 70vw;
    }
}
/* PC */
@media screen and (min-width: 1200px) {
    .mv-swiper .swiper-slide {
        width: 55vw;
    }
}
/* 画像 */
.mv-swiper img {
    width: 100%;
    display: block;
}
/* 矢印 */
.mv-swiper .swiper-button-prev {
    left: 10px;
}
.mv-swiper .swiper-button-next {
    right: 10px;
}
/* スマホ矢印 */
@media screen and (max-width: 781px) {
    .mv-swiper .swiper-button-prev {
        left: -5px;
    }
    .mv-swiper .swiper-button-next {
        right: -5px;
    }
}
/* 横スクロール防止 */
body {
    overflow-x: hidden;
}

#bgi01 {
    padding: 0 0 2rem 0;
    
    /* 1. 先にグラデーションの定義を書く */
    background: linear-gradient(150deg, #ffcb55, #fffef9, #ffcb55);
    
    /* 2. その後にサイズや位置を指定する（これで上書きを防ぎます） */
    background-size: 200% 200%;
    background-position: center;
    background-color: rgb(255 255 255 / 50%);
    background-blend-mode: lighten;
    
    /* 3. アニメーションの適用 */
    animation: moveGradient 12s ease infinite;
}

/* アニメーションの定義 */
@keyframes moveGradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
p.top_text.title01 {
    padding-top: 3em;
    font-weight: 700;
    margin-bottom: 2rem;
    font-size: 2rem;
}
p.top_text {
    font-size: 1.25rem;
    letter-spacing: 0.1rem;
    line-height: 3rem;
    width: 100%;
    margin-bottom: 0;
}

.home .content-area {
    margin-bottom: 4rem;
}
.grecaptcha-badge { visibility: hidden; }
body:lang(ja) {
    font-family: Roboto,"Droid Sans","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
body.page-id-19 .footer-widget-1,
body.page-id-25 .footer-widget-2,
body.blog .footer-widget-3 {
    display: none;
}
header#masthead {
    margin-bottom: 0;
}
header#masthead {
    background-color: #ffb002;
    background-image: url(https://oyatoko-sunkids.jp/speeds/wp-content/uploads/2023/11/noise-pattern-with-subtle-cross-lines.png);
    padding-top: 15px;
}
.main-header.main-header-original {
    background-color: #ffffff;
    padding: 0;
}
.main-header-content {
    background-color: #ffffff;
}
.main-header.main-header-clone.main-header-clone-show {
    padding: 0;
}
.jumbotron-content {
    padding-bottom: 60px;
    padding-top: 60px;
}
.footer-widget-1.footer-widget.widget-area,
.footer-widget-3.footer-widget.widget-area {
background:
radial-gradient(circle at 15% 15%, rgba(255,176,2,.05), transparent 220px),
radial-gradient(circle at 85% 80%, rgba(255,160,180,.04), transparent 220px),
repeating-linear-gradient(
    -45deg,
    rgba(255,176,2,.04) 0,
    rgba(255,176,2,.04) 3px,
    transparent 3px,
    transparent 18px
),
#fffdfa;
}
.footer-widget-2.footer-widget.widget-area {
    background-color: #f5f5f5;
}
a img:hover {
    opacity: 0.8;
    transition: 1.0s;
}
.wp-block-button a {
    min-width: 16rem;
    font-size: 1.35rem;
	text-decoration: none;
}
.wp-block-button a:hover {
    color: #fff;
}
.wp-block-button__link {
    background-color: #2d3e54;
}
a.wp-block-button__link {
    text-decoration: none;
    color: #fff;
	border: 2px solid #2d3e54;
}
a.wp-block-button__link:hover {
    background-color: #fff;
    border: 2px solid #2d3e54;
    color: #2d3e54 !important;
    transition: all 0.5s ease 0s;
}
.site-content {
    max-width: 960px;
}
.footer-widget.widget-area {
    border-bottom: 1px solid #e5e5e5;
}
.footer-widget-area {
    padding-top: 0;
	padding-bottom: 0;
}
h2.footer_headline{
    margin:2.5em 0 3.5rem;
    text-align:center;
    font-family:"Comfortaa",sans-serif;
    font-size:2.5rem;
    font-weight:500;
    letter-spacing:.08em;
    line-height:1.1;
    color:#23334d;
}
h2.footer_headline:first-letter {
    color: #f26b4f;
}
.widget_recent_entries li a {
    border-bottom: unset;
    font-weight: 700;
}
.wp-block-latest-posts__featured-image {
    margin-bottom: 1em;
}
.wp-block-latest-posts {
    border-top: unset;
}
.widget {
    font-size: 95%;
}
.mb0 {
    margin-bottom: 0;
}
.mt4rem {
    margin-top: 4rem;
}
.mt55rem {
    margin-top: 5.5rem;
}
p.mb0 {
    margin-bottom: 0;
}
.menu a[href*="lin.ee"]:before {
    content: "\f3c0";
}
.menu a[href*="x.com"]:before {
    content: "\e61b";
}
.wp-block-table td, .wp-block-table th {
    padding: 1rem;
}
table td:first-child {
    white-space: nowrap;
}

.footer-widget.widget-area {
    width: -webkit-fill-available;
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    border-bottom: 1px solid #e5e5e5;
}
aside#block-37, aside#block-40 {
    margin-bottom: 1rem;
}
.breadcrumbs {
    width: 100%;
    margin: -1px auto 5rem auto;
    padding: 0.75rem 0;
    font-size: 1rem;
    letter-spacing: 0.05rem;
    background-color: #f5f5f5;
    border-bottom: 1px solid #cccccc;
}
.breadcrumbs_inner {
    white-space: nowrap;
    overflow: auto;
}
.breadcrumbs a {
    color: #000000;
    text-decoration: none;
}
body.home .breadcrumbs {
    display: none;
}
input#wp-block-search__input-1 {
    border: 2px solid #cccccc;
}
button.wp-block-search__button.has-icon.wp-element-button {
    font-size: 10px;
    margin-left: 3px;
    border-radius: 0;
    background-color: #2d3e54;
}
#secondary h2 {
    margin: 0 0 1rem 0;
}
aside#block-1, aside#block-2, aside#block-3, aside#block-4, aside#block-5, aside#block-6 {
    margin-bottom: 2.5rem;
}
ul.wp-block-categories-list.wp-block-categories li {
    margin: 0 0 0.2rem 0;
}
ul.wp-block-categories-list.wp-block-categories li a {
    background-color: #fff;
    line-height: 50px;
    padding: 0 18px;
    width: 100%;
    display: inline-block;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #cccccc;
    color: #333333;
}
ul.wp-block-categories-list.wp-block-categories li a:hover {
    border: 2px solid #2d3e54;
    background-color: #2d3e54;
    color: #ffffff;
    transition: 1.0s;
}
.wp-block-archives-dropdown.wp-block-archives {
    position: relative;
    line-height: 54px;
}
.wp-block-archives-dropdown.wp-block-archives select {
    width: 100%;
    display: inline-block;
    padding: 0 18px;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    line-height: 50px;
    border: 2px solid #cccccc;
    color: #333333;
}
.wp-block-archives-dropdown.wp-block-archives:after {
    position: absolute;
    right: 17px;
    font-family: 'FontAwesome';
    content: "\f107";
}
.back-to-top {
    background: rgba(51,69,89,0.9);
}
.back-to-top:before {
    color: #ffffff;
}
.mt0 { margin-top: 0; }
.mb125 { margin-bottom: 1.25em; }
.mb05 { margin-bottom: 0.5em; }
.link_arrow {
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
}
.link_arrow a {
    color: #2d3e54;
}
.link_arrow:before,
.link_arrow:after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.link_arrow:before{
	width: 12px;
	height: 12px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #063161;
}
.link_arrow:after{
	left: 5px;
	box-sizing: border-box;
	width: 3px;
	height: 3px;
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}
h1.page-title.search-result + p {
    background-color: #f5f5f5;
    padding: 0.3rem 1rem;
    margin-bottom: 0;
}
.wp-block-gallery + p {
    margin-top: 1.8em;
}
h3 {
	font-size:1.65rem;
	font-weight:700;
	line-height:1.5;
	color:#23334d;
}
.wp-block-button__link{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	background:#ffb002;
	color:#23334d;
	border:none;
	border-radius:999px !important;
	padding: .7em 1.5em;
	font-size:1rem;
	font-weight:700;
	letter-spacing:.05em;
	box-shadow:0 6px 16px rgba(255,176,2,.25);
	transition:.3s;
}

.wp-block-button__link::after{
	content:"\f061";               /* fa-arrow-right */
	font-family:"Font Awesome 6 Free";
	font-weight:900;
	margin-left:.7em;
	font-size:.9em;
	transition:transform .3s ease;
}

.wp-block-button__link:hover{
	background:#ff9800;
	transform:translateY(-2px);
	box-shadow:0 10px 22px rgba(255,152,0,.35);
}

.wp-block-button__link:hover::after{
	transform:translateX(4px);
}
/* SERVICE */
.footer-widget-2 .wp-block-columns{
	gap:1em;
}

/* カード */
.footer-widget-2 .wp-block-column{
	background:#fff;
	border-radius:24px;
	padding:1.6em;
	box-shadow:0 8px 24px rgba(35,51,77,.06);
	border:1px solid rgba(35,51,77,.06);
	transition:all .35s ease;
	height:100%;
}

/* Hover */
.footer-widget-2 .wp-block-column:hover{
	transform:translateY(-6px);
	box-shadow:0 16px 40px rgba(35,51,77,.10);
	border-color:rgba(255,176,2,.35);
}

/* 画像 */
.footer-widget-2 .wp-block-image{
	margin:0 0 1.4em;
	overflow:hidden;
	border-radius:18px;
}

.footer-widget-2 .wp-block-image img{
	display:block;
	width:100%;
	border-radius:18px;
	transition:transform .5s ease;
}

.footer-widget-2 .wp-block-column:hover .wp-block-image img{
	transform:scale(1.04);
}
.footer-widget-2 .wp-block-column a {
    text-decoration: none;
}

/* タイトル */
.footer-widget-2 h3 {
    margin: 0 0 .7em;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.5;
    color: #23334d;
}

/* 本文 */
.footer-widget-2 p {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.5em;
    color: #666;
}
a.wp-block-latest-posts__post-title {
    font-weight: 700;
    margin-top: 2rem;
    margin-bottom: 1rem;
    display: block;
    line-height: 1.5em;
}
/* NEWS一覧 */


/* 各記事 */
.footer-widget-3 .wp-block-latest-posts li{
	transition:.3s;
}

/* サムネイル */
.footer-widget-3 .wp-block-latest-posts__featured-image{
	margin-bottom:.8em;
	overflow:hidden;
	border-radius:16px;
}

.footer-widget-3 .wp-block-latest-posts__featured-image img{
	display:block;
	width:100%;
	border-radius:16px;
	transition:transform .4s;
}

.footer-widget-3 .wp-block-latest-posts li:hover img{
	transform:scale(1.04);
}

/* タイトル */
.footer-widget-3 .wp-block-latest-posts__post-title{
	display:block;
	margin-bottom:.4em;
	font-size:1.55rem;
	font-weight:700;
	line-height:1.5;
	color:#23334d;
	text-decoration:none;
	transition:.3s;
}

.footer-widget-3 .wp-block-latest-posts li:hover .wp-block-latest-posts__post-title{
	color:#ff9800;
}

/* 日付 */
.footer-widget-3 .wp-block-latest-posts__post-date{
	display:block;
	margin-bottom:.6em;
	font-size:1.3rem;
	color:#999;
}

/* 抜粋 */
.footer-widget-3 .wp-block-latest-posts__post-excerpt{
	font-size:1.4rem;
	line-height:1.8;
	color:#666;
}
/* =========================================
   ABOUT
========================================= */

/* カラム */
.footer-widget-1 .wp-block-columns{
	align-items:center;
	gap:3em;
}

/* 画像 */
.footer-widget-1 .wp-block-image{
	margin:0;
	overflow:hidden;
	border-radius:18px;
	box-shadow:0 18px 36px -12px rgba(35,51,77,.15);
}

.footer-widget-1 .wp-block-image img{
	display:block;
	width:100%;
	border-radius:18px;
	filter:saturate(.95) brightness(1.02);
	transition:transform .5s ease;
}

/* Hover */
.footer-widget-1 .wp-block-column:first-child:hover img{
	transform:scale(1.03);
}
/* 本文 */
.footer-widget-1 p{
	margin:0 0 1.5em;
	line-height:2;
	color:#555;
}
.entry-content h2 {
    border-bottom: solid 4px skyblue;
    position: relative;
    padding-bottom: 0.35em;
}
.entry-content h2:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 4px #ffc778;
    bottom: -4px;
    width: 20%;
}
.entry-content h3 {
    position: relative;
    padding-left: 1.35em;
}
.entry-content h3:before {
    font-family: "Font Awesome 5 Free";
    content: "\f111";
    font-weight: 700;
    position: absolute;
    font-size: 1em;
    left: 0;
    color: #ffa7a1;
}
/*==========================
  サービスカード
==========================*/
.service-card .wp-block-columns {
    margin-bottom: 0;
}
.service-card{
    background:#fff;
    border-radius:20px;
    padding:40px;
    margin:0 0 50px;
    border:1px solid #eef2f6;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    transition:.3s;
    position:relative;
    overflow:hidden;
}
.service-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}
/* 上部アクセント */
.service-card:before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:8px;
    background:linear-gradient(90deg,#ffb347,#8fd3ff);
}
/* タイトル */
.service-card h3{
    margin:0 0 30px;
    padding-left:24px;
    position:relative;
    font-weight:700;
    color:#16335f;
    line-height:1.4;
}
.service-card h3:before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:12px;
    height:12px;
    border-radius:50%;
    background:#ff8f8f;
}
/* カラム */
.service-card .wp-block-columns{
    align-items:center;
}
/* ギャラリー */
.service-card .wp-block-gallery{
    gap:12px;
}
.service-card .wp-block-image{
    overflow:hidden;
    border-radius:14px;
}
.service-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
    transition:.4s;
}
.service-card .wp-block-image:hover img{
    transform:scale(1.06);
}
/* 本文 */
.service-card p{
    line-height:2;
    color:#555;
}
.service-card p:last-child{
    margin-top:30px;
}
/* ボタン */
.service-card p:last-child a{
    display:inline-flex;
    align-items:center;
    gap:.7em;
    padding:14px 30px;
    background:#ff8d2a;
    color:#fff;
    border-radius:999px;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}
.service-card p:last-child a::after{
    content:"\f178"; /* Font Awesome Long Arrow Right */
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:.9em;
    transition:.3s;
}
.service-card p:last-child a:hover{
    background:#ff7300;
}
.service-card p:last-child a:hover::after{
    transform:translateX(6px);
}
/* カードごとにアクセントカラー変更 */
.service-card:nth-of-type(1):before{
    background:#FDBA2D;
}
.service-card:nth-of-type(2):before{
    background:#72C9F5;
}
.service-card:nth-of-type(3):before{
    background:#82D173;
}
.service-card:nth-of-type(4):before{
    background:#FF8FA3;
}
.service-card:nth-of-type(5):before{
    background:#B28DFF;
}

/*==========================
  レスポンシブ
==========================*/

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

.service-card{
    padding:24px;
    border-radius:16px;
}

.service-card h3{
    font-size:1.5rem;
}

.service-card img{
    height:220px;
}

.service-card p:last-child a{
    padding: 13px 24px;
}
}
/*==================================
 採用カード
==================================*/

.recruit-card{
    display:flex;
    margin-bottom:30px;
}

.recruit-card-inner{
    width:100%;
    background:#fff;
    border:1px solid #eef2f6;
    border-radius:20px;
    box-shadow:0 12px 35px rgba(0,0,0,.06);
    position:relative;
    overflow:hidden;
    transition:.35s;
}

.recruit-card-inner:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

/*==================================
 上部ライン
==================================*/

.recruit-card-inner::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:6px;
    background:linear-gradient(90deg,#ffb347,#8fd3ff);
}

/*==================================
 カード内
==================================*/

.recruit-card-inner > .wp-block-group__inner-container{
    padding:36px;
}

/*==================================
 タイトル
==================================*/

.recruit-card h3{
    position:relative;
    margin:0 0 14px;
    padding-left:0;
    font-size:1.8rem;
    line-height:1.45;
    color:#16335f;
}
.recruit-card h3::before{
    content:none;
}

/*==================================
 サブタイトル
==================================*/

.recruit-subtitle{
    margin:0 0 18px;
    color:#ff7f24;
    font-weight:700;
    line-height:1.8;
    min-height:4em;
}

/*==================================
 リスト
==================================*/

.recruit-point-list{
    margin:0;
    padding:0;
    list-style:none;
}

.recruit-point-list li{
    position:relative;
    padding-left:30px;
    margin-bottom:5px;
    line-height:1.8;
    color:#555;
}

.recruit-point-list li:last-child{
    margin-bottom:0;
}

.recruit-point-list li::before{
    content:"\f058";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    color:#69c36d;
    position:absolute;
    left:0;
    top:2px;
}

/*==================================
 ボタン
==================================*/

.recruit-card p:last-child{
    margin:30px 0 0;
}

.recruit-btn{
    display:inline-flex;
    align-items:center;
    gap:.8em;
    padding:14px 28px;
    border-radius:999px;
    background:#ff8d2a;
    color:#fff !important;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.recruit-btn::after{
    content:"\f178";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    font-size:.9em;
    transition:.3s;
}

.recruit-btn:hover{
    background:#ff7300;
}

.recruit-btn:hover::after{
    transform:translateX(6px);
}

/*==================================
 スマホ
==================================*/

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

.recruit-card{
    margin-bottom:20px;
}

.recruit-card-inner{
    border-radius:16px;
}

.recruit-card-inner > .wp-block-group__inner-container{
    padding:24px;
}

.recruit-card h3{
    font-size:1.5rem;
}

.recruit-subtitle{
    margin-bottom:22px;
    min-height:auto;
}

.recruit-point-list li{
    margin-bottom:12px;
}

.recruit-card p:last-child{
    margin-top:30px;
}

.recruit-btn{
    width:100%;
    justify-content:center;
}

}
/* PC--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 782px) {
.br-pc {display:inline-block!important;} 
.br-sp {display:none!important;}
.forpc{display:inline-block!important;}
.forsp{display:none!important;} 
.footer-widget-6.footer-widget.widget-area {display: none !important;}
.post-thumbnail a,
.wp-block-latest-posts__featured-image a {
    overflow: hidden;
    display: block;
}
.post-thumbnail a img:hover,
.wp-block-latest-posts__featured-image a img:hover	{
    transform: scale(1.2);
    transition: 0.6s;
}
footer aside {
    width: 960px;
    margin: 0 auto;
}
.breadcrumbs_inner {
    width: 100%;
    margin: 0 auto;
    padding-left: 40px;
    padding-right: 40px;
    max-width: 960px;
}
body.blog .breadcrumbs_inner, body.archive .breadcrumbs_inner, body.category .breadcrumbs_inner, body.search .breadcrumbs_inner, body.single .breadcrumbs_inner {
    max-width: 1120px;
}
.main-header-content {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    max-width: 100%;
}
.main-navigation a {
    font-weight: 700;
	letter-spacing: 0.1em;
}
li.btn01 a {
    background-color: #eb5505;
    padding: 0 25px !important;
    border-radius: 10px;
    color: #fff;
    line-height: 3.5rem !important;
    margin-left: 15px;
}
li.btn01 a:hover {
    color: #fff;
    opacity: 0.8;
}
.main-navigation .current_page_item.btn01 > a, .main-navigation .current-menu-item.btn01 > a {
    color: #fff;
}
.main-navigation ul ul {
    width: 270px;
}
}
/* SP--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 781px) {
.br-sp {display:inline-block!important;} 
.br-pc {display:none!important;} 
.wp-block-latest-posts.is-grid li {margin-right: 0;}
.forpc{display:none!important;} 
.forsp{display:inline-block!important;} 
.footer-widget-6 {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
}
.floatingBnr img {
    width: 49%;
    margin: 0 0.5%;
    float: left;
}
.footer-widget-6.footer-widget.widget-area .widget,
.footer-widget-6.footer-widget.widget-area .wp-block-columns {
    margin-bottom: 0;
}
.back-to-top {
    bottom: 80px;
}
.nowrap table {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin-bottom: 3.5rem;
    table-layout: unset !important;
}
.footer-widget-4.footer-widget.widget-area img {
    width: 70%;
    margin: -0.5rem 15%;
}
nav.main-navigation li.menu-item {
    border-bottom: 1px solid #ccc;
    width: 100%;
}
nav.main-navigation li.menu-item ul li:first-child {
    border-top: 1px solid #ccc;
}
nav.main-navigation li.menu-item ul li:last-child {
    border-bottom: none;
}
.footer-widget.widget-area {
    max-width: 720px;
    padding-left: 5%;
    padding-right: 5%;
}
.breadcrumbs {
    margin: -1px 0 3rem 0;
    padding: 1rem 5%;
    display: inline-block;
    overflow: auto;
    white-space: nowrap;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.main-header-content {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.sidebar-area {
    border-top: solid 1px #ccc;
}
.home-header-content {
    padding-top: 105px;
    padding-bottom: 105px;
}
.home-header {
    background-position: left;
}
aside#block-29 {
    margin-bottom: 2em;
}
li.forsp.menu-item {
    display: block !important;
}
p.top_text {
    font-size: 1.2rem;
    line-height: 2.5rem;
}
p.top_text.title01 {
    font-size: 1.4rem;
}
}
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/************************************
** お問い合わせフォームの入力
************************************/
@media screen and (min-width:769px){
#cf-tbl{
width: 100%;
}
#cf-tbl table {
    width: 100%;
    margin: 0 auto;
    border: 1px solid #ccc;
    padding: 30px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    background-color: #fff;
    border-collapse: unset;
    margin-bottom: 1.5rem;
}
#cf-tbl table tr {
    width: 100%;
    float: left;
}
#cf-tbl table tr th {
    width: 35%;
    float: left;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    padding: 20px 10px 10px 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: unset;
    background-color: unset;
}
#cf-tbl table tr td {
    width: 65%;
    float: left;
    padding: 20px 10px 10px 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: unset;
}
}
@media screen and (max-width:768px){
#cf-tbl table {
    width: 100%;
    margin: 0 auto;
    border: 1px solid #ccc;
    padding: 20px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-collapse: unset;
    margin-bottom: 1.5rem;
    font-size: 100%;
}
#cf-tbl table tr {
    width: 100%;
    float: left;
}
#cf-tbl table th {
    width: 100%;
    float: left;
    text-align: left;
    border: 0;
    margin: 0 0 10px 0;
    padding: 0 0 1rem 0;
    font-size: 15px;
    border-bottom: 1px solid #ccc;
    background-color: unset;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#cf-tbl table td {
    width: 100%;
    float: left;
    margin-bottom: 3rem;
    padding: 0;
    border: unset;
}
#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}
}
/*「必須」文字デザイン*/
span.wpcf7-list-item {
    display: block;
    margin: 0;
}
#cf-tbl table input.wpcf7-form-control.wpcf7-text, #cf-tbl table textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 10px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    font-size: 100%;
    margin: 0;
    color: #000;
}
form.wpcf7-form p {
    font-weight: 700;
    text-align: center;
}
span.wpcf7-list-item.first {
    margin-left: 0;
}
.required {
    font-size: .8em;
    padding: 5px;
    background: orange;
    color: #fff;
    border-radius: 3px;
    margin-right: 5px;
    font-weight: normal;
}
/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #172f6a;
color: #fff;
border-radius: 3px;
margin-right: 5px;
    font-weight: normal;
}
/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text, textarea.wpcf7-form-control.wpcf7-textarea {
    width: 100%;
    padding: 8px 15px;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    border: 1px solid #d0d5d8;
    border-radius: 3px;
    background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}
span.pp_text {
    text-align: center;
    font-weight: 700;
    display: block;
    margin: 1rem 0;
}
/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 30px 15px;
    width: 400px;
    background: orange;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin: 15px auto 0;
    -webkit-border-radius: 50px;
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}
input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}