@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* common======================== */

@media screen and (min-width: 960px) {
	.wide80{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 80%;
		min-width: 900px;
}
	.wide70{
	position: relative;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 70%;
		min-width: 900px;
}
}

.no-kaigyou {
	white-space: nowrap
}

.c-table td{
	height: 70px;
}

/*ぱんクズリスト非表示*/
#breadcrumb {
 display: none;
}

/* 共通お問い合わせボックス */

.contact-ttl{
	position: absolute;
	top: 10px;
  right: 0;
  bottom: 0;
  left: 0;
	font-size: 130px;
	z-index: -1;
}
	@media screen and (max-width: 480px) {
.contact-ttl{
	top: 0px;
	font-size: 60px;
}
}

.contact-gp{
	border: 1px solid #fff;
	padding: 40px;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 70%;
		min-width: 1000px;
	z-index: 99;
}
@media screen and (max-width:767px) {
.contact-gp{
	border: 1px solid #fff;
	padding: 40px;
	top: 0;
	right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 100%;
		min-width: 0px;

}
}

/* グローバルナビ====================== */

.l-header {
	border-bottom: 1.5px solid #bfbfbf;
}

.c-gnav>.menu-item>a .ttl {
font-size: 15px;
color: #232323;
font-weight: bold;
letter-spacing: 1.3px;
}

.l-header .l-header__inner {
	padding-top: 10px;
}

/*ヘッダー電話番号*/
@media (min-width: 960px) {
.w-header__inner p {
line-height: 1.5;
}
}

.phone_num {
	color: #1e73be;
	font-size: 1.5em;
	font-weight: bold;
	white-space: nowrap;
}

.phone_p {
	white-space: nowrap;
	text-align: center;
}

.header_contact_phone {
font-family: Inter, "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
font-size: 1.4vw;
font-weight: 700;
color: #fff;
	white-space: nowrap;
letter-spacing: 1px;
}
.header_contact_phone span.icon-phone {
font-size: 1.2vw;
vertical-align: baseline;
margin-right: 2px;
}
.header_business_hours {
font-size: 0.7vw;
	color: #fff;
letter-spacing: 2px;
	white-space: nowrap;
text-align: center;
}

.header_phone_bg{
	background: #1e73be;
	padding: 0.5vw 1.2vw;
}

/* メガメニュー */
.my-parent-menu-pc {
  position : unset !important;
}
.my-parent-menu-pc .sub-menu {
  width: calc(100vw - 16px);
  border : 10px solid #fff;
	background: linear-gradient(to left, #1e73be,  #5ba0d3);
	color: #fff;
	padding: 5%;
}
.my-parent-menu-pc .sub-menu a {
  padding: 0em;
}
.my-parent-menu-pc .sub-menu a:before {
  display : none;
}
.my-parent-menu-pc .sub-menu a:hover {
  background-color : unset;
}
.my-parent-menu-pc .sub-menu .ttl {
  left: 0 !important;
}


/* メインビジュアル===================== */

#main_visual{
	padding: 120px 0 0 15%;
}

.main_text {
	position: absolute;
	top: -500px;
	left: 5%;
	font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.copy_text {
	margin-bottom: 0;
}

@media screen and (max-width:959px) {
	#main_visual{
	padding: 70px 0 0 10%;
}
	.main_text {
	top: -300px;
}
	.copy_text {
	font-size: 5em;
	font-weight: bold;
}
}

@media screen and (max-width: 480px) {
#main_visual{
	padding: 70px 0 0 10%;
}
	.main_text {
	top: -200px;
}
	.copy_text {
	font-size: 5em;
	font-weight: bold;
}
}


/* 新着情報============================ */

ul.newsList {
  display: flex;
  flex-flow: row wrap;
  border-top: 1px dotted #999;
  padding: 0px 0;
  margin-bottom: 10px;
}

ul.newsList li {
display: block;
margin: 10px 10px;
}
@media screen and (max-width:767px) {
ul.newsList li {
	margin: 10px 10px;
	}
}

ul.newsList li:nth-child(3) {
flex-basis: auto;
}


.scroll {
    overflow: hidden;
    height: 150px;
    -webkit-overflow-scrolling: touch; /* モバイルデバイスでスムーズスクロールを有効に */
    &:hover {
        overflow: scroll;
        &::-webkit-scrollbar {
            width: 10px;
            height: 0;
        }
        &::-webkit-scrollbar-track {
            border-radius: 0px;
            height: 100%;
            background-color: #eeeeee;
        }
        &::-webkit-scrollbar-thumb {
            border-radius: 0px;
            background-color: #c0c0c0;
        }
    }
}


/*トップ===========================*/

.top_about {
	position: relative;
	top: 15%;
	left: -10%;
	width: 120%;
	background: linear-gradient(45deg, #1e73be,  #5ba0d3);
	color: #fff;
	padding: 100px 30% 100px 100px;
}

.top_blue01 {
	position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 80%;
	height: 450px;
	background: linear-gradient(45deg, #1e73be,  #5ba0d3);
	z-index: -99;
}

.top_business_content{
	position: relative;
	top: -70px;
	background:rgba(240,249,255,0.9);
	margin: 20px;
	padding: 20px;
	border-radius: 10px;
	border: 1px solid #1e73be;
}
@media screen and (max-width:959px) {
	.top_about {
	top: -8%;
	padding: 100px 15% 100px 15%;
		z-index: -99;
}
	.top_blue01 {
	position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
	width: 80%;
	height: 1750px;
	background: linear-gradient(45deg, #1e73be,  #5ba0d3);
	z-index: -99;
}
}


/*無限ループ*/
@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 3.5);
}
@media screen and (max-width:767px) {
.scroll-infinity__item {
  width: calc(100vw / 2);
}
}

.scroll-infinity__item>img {
	width: 100%;
  height: 20vw;
  object-fit: cover;
  padding: 10px;
}
@media screen and (max-width:767px) {
	.scroll-infinity__item>img {
  padding: 5px;
		height: 25vh;
}
}

/*お問い合わせページ==================*/
.CF7_contact{
	width:100%;
}

/*入力欄*/
.CF7_contact input, .CF7_contact textarea {
	width:100%;
	background-color: #fff;
	border-radius: 3px;
	border: 1px solid #d8d8d8;
	margin-top:10px;
	margin-bottom:25px
}

.CF7_honbun{
	width:100%;
}

/*入力欄*/
.CF7_honbun input, .CF7_honbun textarea {
	width:100%;
	background-color: #fff;
	border-radius: 3px;
	border: 1px solid #d8d8d8;
	margin-top:10px;
	margin-bottom:25px
}

/*タイトル左ライン*/
.title_contact{
   position:relative;
}

span.wpcf7-list-item {
  margin-top: 20px;
  margin-bottom: 20px
}

.title_contact::before{
   content:"";
   display:inline-block;
   width:3px;
   height:30px;
   background-color:#022257;
   position:absolute;
}

/*「必須」文字*/
.CF7_req{
	font-size:.8em;
	padding: 5px;
	background: #dc143c;/*レッド*/
	color: #fff;
	border-radius: 3px;
}

/*個人情報*/
.title01 {
	font-size:18px;
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 10px;
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
	background-color:#f09f4d;
	border:0;
	color:#fff;
	font-weight:bold;
	padding-right:50px;
	padding-left:50px;
	letter-spacing: 5px;
}

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

.wpcf7-spinner{
	width:0;
	margin:0;
}

.scroll2 {
    overflow: hidden;
	  height: 250px;
	border-radius: 3px;
	border: 1px solid #d8d8d8;
	padding: 10px;
    &:hover {
      overflow: scroll;
      &::-webkit-scrollbar {
       width: 10px;
       height: 0;
      }
      &::-webkit-scrollbar-track {
        border-radius: 0px;
        height: 100%;
        background-color: #eeeeee;
      }
      &::-webkit-scrollbar-thumb {
       border-radius: 0px;
       background-color: #c0c0c0;
     }
  }
}


/* フッター========================= */

#footer {
	background: linear-gradient(45deg, #1e73be,  #5ba0d3);
}

/*reCAPTCHA全面表示*/
.grecaptcha-badge {
	z-index: 1; 
}

/* 「トップへ戻るボタン」の位置調整 */ 
.p-fixBtnWrap { 
	bottom: 85px;
	right: 10px
}