@charset "utf-8";

/*
Theme Name: アドダス
Author: アドダス
Author URI: https://addas.jp
Description: Bootstrap5@Webpack
*/

/*　H-01style  ================================================================================= */

body {
	font-family: YakuHanMP,"Shippori Mincho", "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	padding-top: 0!important;
}

.libre-baskerville {
  font-family: "Libre Baskerville", serif;
  font-weight: 500;
  font-style: normal;
}

a {
        color: #000;
}
a:hover {
    color: #000;
}

article.post {
    color: #000;
} 

.page-link:hover {
    border-color: #c2b8b9;
    background-color: #d9d9d9;
}

.lh-03 {line-height: 0.3;}
.lh-04 {line-height: 0.4;}
.lh-05 {line-height: 0.5;}
.lh-06 {line-height: 0.6;}
.lh-07 {line-height: 0.7;}
.lh-08 {line-height: 0.8;}
.lh-09 {line-height: 0.9;}
.lh-10 {line-height: 1;}
.lh-11 {line-height: 1.1;}
.lh-12 {line-height: 1.2;}
.lh-13 {line-height: 1.3;}
.lh-14 {line-height: 1.4;}
.lh-15 {line-height: 1.5;}
.lh-16 {line-height: 1.6;}
.lh-17 {line-height: 1.7;}
.lh-18 {line-height: 1.8;}
.lh-19 {line-height: 1.9;}
.lh-20 {line-height: 2.0;}
.lh-21 {line-height: 2.1;}
.lh-22 {line-height: 2.2;}
.lh-23 {line-height: 2.3;}
.lh-24 {line-height: 2.4;}
.lh-25 {line-height: 2.5;}
.lh-26 {line-height: 2.6;}
.lh-27 {line-height: 2.7;}
.lh-28 {line-height: 2.8;}
.lh-29 {line-height: 2.9;}
.lh-30 {line-height: 3.0;}

.ls-1 {letter-spacing: 1px;}
.ls-2 {letter-spacing: 2px;}
.ls-3 {letter-spacing: 3px;}
.ls-4 {letter-spacing: 4px;}
.ls-5 {letter-spacing: 5px;}
.ls-6 {letter-spacing: 6px;}
.ls-7 {letter-spacing: 7px;}
.ls-8 {letter-spacing: 8px;}
.ls-9 {letter-spacing: 9px;}
.ls-10 {letter-spacing: 10px;}

/* =============  角丸 ============ */
.rounded05 {border-radius:5px}
.rounded10 {border-radius:10px}
.rounded15 {border-radius:15px}
.rounded20 {border-radius:20px}
.rounded25 {border-radius:25px}
.rounded30 {border-radius:30px}
.rounded35 {border-radius:35px}
.rounded40 {border-radius:40px}
.rounded45 {border-radius:45px}
.rounded50 {border-radius:50px}

/* =============  上だけ角丸 ============ */
.rounded05-up {border-radius:5px 5px 0 0}
.rounded10-up {border-radius:10px 10px 0 0}
.rounded15-up {border-radius:15px 15px 0 0}
.rounded20-up {border-radius:20px 20px 0 0}
.rounded25-up {border-radius:25px 25px 0 0}
.rounded30-up {border-radius:30px 30px 0 0}
.rounded35-up {border-radius:35px 35px 0 0}
.rounded40-up {border-radius:40px 40px 0 0}
.rounded45-up {border-radius:45px 45px 0 0}
.rounded50-up {border-radius:50px 50px 0 0}

/* =============  下だけ角丸 ============ */
.rounded05-down {border-radius: 0 0 5px 5px}
.rounded10-down {border-radius: 0 0 10px 10px}
.rounded15-down {border-radius: 0 0 15px 15px}
.rounded20-down {border-radius: 0 0 20px 20px}
.rounded25-down {border-radius: 0 0 25px 25px}
.rounded30-down {border-radius: 0 0 30px 30px}
.rounded35-down {border-radius: 0 0 35px 35px}
.rounded40-down {border-radius: 0 0 40px 40px}
.rounded45-down {border-radius: 0 0 45px 45px}
.rounded50-down {border-radius: 0 0 50px 50px}

/* =============  左だけ角丸 ============ */
.rounded05-left {border-radius:5px 0 0 5px}
.rounded10-left {border-radius:10px 0 0 10px}
.rounded15-left {border-radius:15px 0 0 15px}
.rounded20-left {border-radius:20px 0 0 20px}
.rounded25-left {border-radius:25px 0 0 25px}
.rounded30-left {border-radius:30px 0 0 30px}
.rounded35-left {border-radius:35px 0 0 35px}
.rounded40-left {border-radius:40px 0 0 40px}
.rounded45-left {border-radius:45px 0 0 45px}
.rounded50-left {border-radius:50px 0 0 50px}

/* =============  右だけ角丸 ============ */
.rounded05-right {border-radius:0 0 5px 5px}
.rounded10-right {border-radius:0 0 10px 10px}
.rounded15-right {border-radius:0 0 15px 15px}
.rounded20-right {border-radius:0 0 20px 20px}
.rounded25-right {border-radius:0 0 25px 25px}
.rounded30-right {border-radius:0 0 30px 30px}
.rounded35-right {border-radius:0 0 35px 35px}
.rounded40-right {border-radius:0 0 40px 40px}
.rounded45-right {border-radius:0 0 45px 45px}
.rounded50-right {border-radius:0 0 50px 50px}

/* ====================================================

       　               色（ポジ)　

==================================================== */

/* ============= 背景色 ============= */
.bg-base {
	background-color: #fff;
}

/* ============= 文字の色 ============ */
/*　ヘッダーの文字の色　*/
#area-header #menu-global .menu-item .nav-link {
    color: #000;
}

/*　文章の色　*/
p {
	color: #000;	
}

/* ============ 見出しの色 ============ */
h1,h2,h3,h4,h5 {
	color: #000;
}

/* ============ ボタンの色 ============ */
/*　ボタンの中の文字の色　*/
.link-btn1 span {
    color: #fff!important;
}

/*　ボタンの中の文字の色(ホバー時の色)　*/
.link-btn1:hover span{
  	color: #000!important;
}

/*　ボタンの中の背景の色　*/
.link-btn1 {
	background-color: #000!important;
}

/*　ボタンの中の背景の色(ホバー時の色)　*/
.link-btn1:before {
	background-color: #fff!important;
  	border: 2px solid #000!important;
}


/* ====================================================

       　               色（ネガ)　
       
==================================================== */

/* ========== 背景色(ネガ) =========== */
.bg-nbase {
	background-color: #ce9c1e;
}

.bg-bajyu {
	background-color: #fbf5ea;
}

.bg-midori {
	background-color: #72a603;
}
.text-midori {
	color: #72a603;
}

.bg-light-yellow {
	background-color: #fff59a;
}

/* ============= 文字の色 ============ */
/*　ヘッダーの文字の色(ネガ)　*/
#area-header.nega #menu-global .menu-item .nav-link {
    color: #fff;
}
/*　文章の文字の色(ネガ)　*/
.nega p {
	color: #fff;	
}

.text-kin {
	color: #ce9c1e;
}

/* ========= 見出しの色(ネガ) ========== */
/*　見出しの色(白色の文字)　*/
.nega h1,.nega h2,.nega h3,.nega h4,.nega h5 {
	color: #fff;
}

/* ========== ボタンの色(ネガ) ========== */
.link-btn1n span {
    color: #000!important;
}

/*　ボタンの中の文字の色(ホバー時の色)(ネガ)　*/
.link-btn1n:hover span{
  	color: #fff!important;
}

/*　ボタンの中の背景の色(ネガ)　*/
.link-btn1n {
	background-color: #fff!important;
}
.link-btn1n:before {
	background-color: #000!important;
  	border: 2px solid #fff!important;
}


/*　ヘッダーお問い合わせボタンの背景の色　*/
.h-01 #area-header #menu-global .btn-contact {
	background-color: #000!important;
}

/*　ヘッダーお問い合わせボタンの文字の色　*/
.h-01 #area-header #menu-global .btn-contact.menu-item a.nav-link {
	color: #fff!important;
}

a.tel-link {
	color: #000!important;
}

a.tel-link a {
	color: #000!important;
}

.nega a.tel-link {
	color: #fff!important;
}

.nega a.tel-link a {
	color: #fff!important;
}


/*  ページナビ  */
.pagination .page-link.active, .active>.page-link {
    background-color: #000;
    border-color: #000;
}
.pagination .page-link {
    border: 1px solid #000;
    color: #000;
}
.pagination .page-link.current {
	color: #fff;
}

/*　文字調整　*/
h2.h2.libre-baskerville {
	font-size: 36px;
}
@media (min-width: 992px) {
	h2.h2.libre-baskerville {
		font-size: 50px;
	}
}
@media (min-width: 1200px) {
	h2.h2.libre-baskerville {
		font-size: 60px;
	}
}
@media (min-width: 1400px) {
	h2.h2.libre-baskerville {
		font-size: 70px;
	}
}

.midashieigo {
	font-family: 'Oswald', sans-serif;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
}

h4 {
	font-size: calc(1.275rem + 0.3vw);
	line-height: 2rem;
}

.indent-1 {
	padding-left:1em;
	text-indent:-1em;
}

h1,h2,h3,h4,h5,p {
	word-break: break-all;
}


/* 幅 */
/*60px-150px*/
.py-haba01 {
	padding-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
	padding-bottom: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}
.pt-haba01 {
	padding-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}
.pb-haba01 {
	padding-bottom: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}

/*30px-75px*/
.py-haba02 {
	padding-top: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
	padding-bottom: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
}
.pt-haba02 {
	padding-top: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
}
.pb-haba02 {
	padding-bottom: clamp(1.875rem, 1.313rem + 2.81vw, 4.688rem);
}

/*90px-180px*/
.py-haba03 {
	padding-top: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
	padding-bottom: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
}
.pt-haba03 {
	padding-top: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
}
.pb-haba03 {
	padding-bottom: clamp(5.625rem, 4.5rem + 5.63vw, 11.25rem);
}

/*140px-180px*/
.py-haba04 {
	padding-top: clamp(8.75rem, 8.072rem + 3.39vw, 11.25rem);
	padding-bottom: clamp(8.75rem, 8.072rem + 3.39vw, 11.25rem);
}
.pt-haba04 {
	padding-top: clamp(8.75rem, 8.072rem + 3.39vw, 11.25rem);
}
.pb-haba04 {
	padding-bottom: clamp(8.75rem, 8.072rem + 3.39vw, 11.25rem);
}


.mt-haba01 {
	margin-top: clamp(3.75rem, 2.679rem + 5.36vw, 9.375rem);
}

.mt-30-90 {
	margin-top: clamp(1.875rem, 1.125rem + 3.75vw, 5.625rem);
}

.py-haba02 {
    padding-top: clamp(1.87rem, 1.3395rem + 2.68vw, 4.8675rem);
    padding-bottom: clamp(1.87rem, 1.3395rem + 2.68vw, 4.8675rem);
}

.py-haba03 {
	padding-top: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
	padding-bottom: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
}
.pt-haba03 {
	padding-top: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
}
.pb-haba03 {
	padding-bottom: clamp(6.25rem, 4.375rem + 9.38vw, 15.625rem);
}

/* ヘッダーロゴ設定 */
.h-01 #area-header .header-logo {
	width: 150px;
}
@media (min-width: 992px) {
	.h-01 #area-header .header-logo {
		width: 180px;
	}
}
.h-01 #area-header .navbar-brand {
    margin-right: 20px;
    width: auto;
}

.h-01 #area-header .header-logo.front-other {
	background-color: #fff;
    padding: 20px;
    border-radius: 0 0 10px 10px;
    position: absolute;
    top: 0;
    left: 20px;
}
.h-01 #area-header.scroll .header-logo.front-other {
	background-color: transparent;
	position: inherit;
	padding: 0;
}

/* ヘッダーナビ　ホバー処理 */
.h-01 #area-header #menu-global .menu-item:hover {
    background-color: #fff;
}

.h-01 #area-header #menu-global .btn-contact.menu-item:hover a.nav-link {
    color: #000;
}
.h-01 #area-header #menu-global .btn-contact.menu-item:hover {
    background-color: #fff;
}

/* ヘッダーナビ設定 */
.h-01 #area-header #menu-global .menu-item .nav-link a {
	color: #000;
}
.h-01 #area-header #menu-global .menu-item {
    background-color: transparent;
}

.h-01 #area-header #menu-global {
	margin-top: 60px;
}
@media (min-width: 768px) {
	.h-01 #area-header #menu-global {
		margin-top: 70px;
	}
}
@media (max-width: 768px) {
	.h-01 #area-header #menu-global {
		overflow-y: auto;
  		-webkit-overflow-scrolling: touch; 
	}
}

@media (min-width: 992px) {
	.h-01 #area-header #menu-global .menu-item {
		margin-top: 0px;
	}
	.h-01 #area-header #menu-global .menu-item .nav-link {
        font-size: 12px;
    }
	#area-header #menu-global .menu-item .nav-link {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media (min-width: 1200px) {
	.h-01 #area-header #menu-global .menu-item .nav-link {
        font-size: 16px;
    }
    #area-header #menu-global .menu-item .nav-link {
        padding-left: 20px;
        padding-right: 20px;
    }
}

.h-01 #area-header.scroll {
		background-color: #fff;
}
.h-01 #area-header.scroll  .header-logo {
	width: 100px;
}
.h-01 #area-header.scroll .hamburger {
    top: 9px;
}

@media (min-width: 992px) {
	.h-01 #area-header.scroll {
		background-color: #fff;
		margin: 0 auto;
		width: 88%;
		padding: 5px 15px 10px 15px !important;
		transition: .5s;
		border-radius: 0 0 20px 20px;
	}
	.h-01 #area-header.scroll  .header-logo {
		width: 120px;
	}

	.h-01 #area-header.scroll #menu-global .menu-item:hover {
	    background-color: #ce9c1e;
	    color: #fff;
	}
	.h-01 #area-header.scroll #menu-global .menu-item a:hover {
	    color: #fff;
	}
}

/*　ハンバーガーメニューボタン　*/
@media (max-width: 576px) {
	.h-01 #area-header .hamburger {
		position: absolute;
	    top: 15px;
	    right: 10px;
	    z-index: 100;
	}
}

@media (max-width: 992px) {
	.h-01 #area-header .globalMenuSp {
	  	position: fixed;
		z-index: -1;
		top: 0;
		left: 0;
		background: #fff;
		text-align: center;
		width: 100%;
		transform: translateX(100%);
		height: 100vh;
	}

	.h-01 #area-header .globalMenuSp ul {
	  margin: 0 auto;
	  padding: 0;
	  width: 100%;
	}

	.h-01 #area-header .globalMenuSp ul li {
	  list-style-type: none;
	  padding: 0;
	  width: 100%;
	}
	.h-01 #area-header .globalMenuSp ul li:first-child {
		padding-top: 0px;
	}
	.h-01 #area-header .globalMenuSp ul li:last-child {
	  padding-bottom: 0;
	}
	.h-01 #area-header .globalMenuSp ul li:hover{
	  background :#ddd;
	}

	.h-01 #area-header .globalMenuSp ul li a {
	  display: block;
	  color: #fff;
	  padding: 1.5em 0;
	  text-decoration :none;
	  animation: slideIn .3s forwards;
	}
	@keyframes slideIn {
	  from {
	    transform: translateX(-100%);
	  }
	  to {
	    opacity: 1;
	    transform: translateX(0%);
	  }
	}

	.h-01 #area-header .globalMenuSp ul li::after {
	  content: "→";
	  position: absolute;
	  right: 0.8em;
	  top: 50%;
	  transform: translateY(-50%);
	  font-size: 1.2em; 
	  line-height: 1;
	  color: currentColor; 
	  opacity: .7;
	  pointer-events: none;
	  transition: transform .25s ease, opacity .25s ease;
	  animation: slideIn2 .3s forwards;
	}
	@keyframes slideIn2 {
	  from {
	    transform: translateX(-100%)translateY(-50%);
	  }
	  to {
	    opacity: 1;
	    transform: translateX(5%)translateY(-50%);
	  }
	}

	.h-01 #area-header .globalMenuSp.active {
	  opacity: 100;
	  display: block;
	   transform: translateY(0%);
	}

	.h-01 #area-header .globalMenuSp .btn-english a {
		display: inline-block;
		margin-top: 25px;
		padding: 15px 30px;
		background-color: #fff;
	}
}

.h-01 #area-header #menu-global li:hover .dropdown-menu {
	display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.h-01 #area-header .openbtn{
	position: relative;
	cursor: pointer;
    width: 45px;
    height: 45px;
	background-color: #ce9c1e;
}

.h-01 #area-header .openbtn .openbtn-area{
    transition: all .4s;
}

.h-01 #area-header .openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 13px;
    height: 1px;
	background: #fff;
  	width: 45%;
}

.h-01 #area-header .openbtn span:nth-of-type(1) {
	top:14px;	
}

.h-01 #area-header .openbtn span:nth-of-type(2) {
	top:22px;
}

.h-01 #area-header .openbtn span:nth-of-type(3) {
	top:30px;
}

.h-01 #area-header .openbtn.active .openbtn-area{
	transform: rotateY(-360deg);
}

.h-01 #area-header .openbtn.active span:nth-of-type(1) {
    top: 16px;
    left: 10px;
    transform: translateY(6px) rotate(-135deg);
    width: 60%;
}

.h-01 #area-header .openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.h-01 #area-header .openbtn.active span:nth-of-type(3){
    top: 28px;
    left: 9px;
    transform: translateY(-6px) rotate(135deg);
    width: 60%;
}

@media (max-width: 992px) {
	.h-01 #area-header #menu-global .btn-contact {
		display: inline-block;
		width: 50%;
		margin: 0 auto;
	}
	.h-01 #area-header #menu-global .btn-contact.menu-item a.nav-link {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

.h-01 #area-header #navbarNav ul li.dropdown::before {
    content: '';
    position: absolute;
    right: 5%;
    top: 11px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(135deg);
}
@media (min-width: 1200px) {
	.h-01 #area-header #navbarNav ul li.dropdown::before {
	    top: 14px;
	}
}
.h-01 #area-header.scroll #navbarNav ul li.dropdown:hover::before {
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.h-01 #area-header #navbarNav ul li.btn-contact.dropdown::before {
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
@media (min-width: 1200px) {
	.h-01 #area-header #navbarNav ul li.dropdown::before {
	    right: 8%;
	}
}

.h-01 #area-header #navbarNav li.dropdown ul{
	position: absolute;
	left:0;
	top:62px;
	z-index: 4;
	background:#28BFE7;
	width:180px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

.h-01 #area-header #navbarNav ul ul li.dropdown::before{
	content:'';
	position: absolute;
	left:6px;
	top:17px;
	width:6px;
	height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}

.h-01 #area-header #navbarNav li.dropdown ul{
    left: 0;
    top: 36px;
    z-index: 4;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
    border-radius: 0;
    width: 270px;
}

.h-01 #area-header #navbarNav li.dropdown ul li {
	width: 100%;
}
.h-01 #area-header #navbarNav li.dropdown.btn-contact ul li {
	background-color: #000;
}

.h-01 #area-header #navbarNav li.dropdown:hover > ul,
.h-01 #area-header #navbarNav li.dropdown ul li:hover > ul,
.h-01 #area-header #navbarNav li.dropdown:active > ul,
.h-01 #area-header #navbarNav li.dropdown ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

.h-01 #area-header #navbarNav li.dropdown ul li:last-child a{
	border-bottom:none;
}

.h-01 #area-header #navbarNav li.dropdown ul li a:hover,
.h-01 #area-header #navbarNav li.dropdown ul li a:active{
	background: #000;
}

.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-582 a:hover,
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-582 a:active{
	background: #05aff2;
}
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-583 a:hover,
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-583 a:active{
	background: #72a603;
}
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-584 a:hover,
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-584 a:active{
	background: #9e9e9e;
}
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-585 a:hover,
.h-01 #area-header #navbarNav li.dropdown ul li#menu-item-585 a:active{
	background: #ea85a7;
}


@media screen and (max-width:992px) {
	.h-01 #area-header #navbarNav{
		padding: 0;
	}
	
	.h-01 #area-header #navbarNav ul{
		display: block;
	}
	
	.h-01 #area-header #navbarNav li.dropdown ul,
	.h-01 #area-header #navbarNav li.dropdown ul ul{
	  	position: relative;
		left:0;
		top:0;
		width:100%;
		visibility:visible;
		opacity:1;
		display: none;
		transition:none;
	}

	.h-01 #area-header #navbarNav ul li.dropdown::before{
		right:20px;
		top: 22px !important;
	}

	.h-01 #area-header #navbarNav ul ul li.dropdown::before{
	    transform: rotate(135deg);
		left:20px;
	}
	    
	.h-01 #area-header #navbarNav ul li.dropdown.active::before{
	    transform: rotate(-45deg);
	}
}

@media (min-width: 992px) {
	.h-01 #area-header #menu-global li:hover .dropdown-menu li a {
	   	background-image: none!important;
	}
}

.h-01 #area-header #menu-global li:hover .dropdown-menu {
	padding: 15px;
}

.h-01 #area-header #menu-global li:hover .dropdown-menu li a {
	display: block;
	padding: 15px 10px;
	width:  100%;
}

.h-01 #area-header #menu-global li .dropdown-menu li a:hover {
	color: #fff!important;
}

@media (max-width: 992px) {
	.h-01 .header_btn01,.header_btn02,.header_btn03 {
		display: none;
	}

	.h-01 #area-header #navbarNav ul li.dropdown::before {
	    right: 20px;
	    top: 30px!important;
	}

	.h-01 #area-header #menu-global .menu-item:hover {
	    background-color: transparent;
	}

	.h-01 #area-header #menu-global li:hover .dropdown-menu {
	    padding: 10px;
	}

	.h-01 #area-header #menu-global li .dropdown-menu > li {
		margin-top: 0;
	}
}


/*スマホナビ調整*/
@media (max-width: 992px) {
  .h-01 #area-header #menu-global li .dropdown-menu {
    display: block!important;
  }

  .h-01 #area-header #navbarNav li.dropdown ul {
    background: transparent;
    border: 0;
  }

  .h-01 #area-header .globalMenuSp ul li a {
      padding: 1.2em;
      text-align: left;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }

  .h-01 #area-header #menu-global li .dropdown-menu li a {
    font-size: 14px;
    border-bottom: 0;
  }

  .h-01 #area-header #navbarNav ul li.dropdown::before {
      display: none;
  }

  .h-01 #area-header #menu-global .btn-contact {
      display: block;
      width: 100%;
      margin: 5px 0 0 0;
  }

  .h-01 #area-header #menu-global {
      margin-top: 80px;
  }

  .h-01 #area-header #menu-global {
    padding: 0 20px 20px 20px;
  }

  .h-01 li.dropdown {
    position: relative;
    padding-right: 2em;
  }

  .h-01 #area-header .globalMenuSp ul li.dropdown::after {
      content: "＋";
      margin-left: 0.5em;
      font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
      font-size: 1.4em;
      position: absolute;
      top: 30px;
      right: .9em;
      transform: translateY(-50%) rotate(0deg);
      transition: transform 0.3s ease, opacity 0.3s ease;
  }

  .h-01 #area-header .globalMenuSp ul li.dropdown.open::after {
      content: "－";
      transform: translateY(-50%) rotate(180deg);  /* 90度回転させる */
  }

   .h-01 #area-header #navbarNav li.dropdown ul.dropdown-menu {
    max-height: 0;
      overflow: hidden;
      transition: max-height 0.5s ease, padding 0.3s ease;
      padding: 0 1em;
      pointer-events: none;
      visibility: hidden;
  }

  .h-01 #area-header #navbarNav li.dropdown ul.dropdown-menu.open {
      max-height: 1000px; 
      padding: 1em 1em 2em 1em;
      pointer-events: auto;
      visibility: visible;
      display: block;
  }

  .h-01 #area-header #navbarNav li.dropdown ul.dropdown-menu li {
  	border-bottom: 0;
  }

  .h-01 #area-header #menu-global li:hover .dropdown-menu {
      padding: 0px;
  }
}

/* =================================================================================　H-01style  */

/*　S-02style  ================================================================================= */

.slider {
  max-width: 500px;
  width: 80%;
}
.slick-img img {
  height: auto;
  width: 100%;
}

.slick-list {
  position: relative;
}

.slick-next.slick-arrow {
  position: absolute;
  top: 50%;
  right: 1%;
  z-index: 10;
  width: 30px;
  -webkit-transform: translate(0%,0%);
    -moz-transform: translate(0%,0%);
    -ms-transform: translate(0%,0%);
    -o-transform: translate(0%,0%);
    transform: translate(0%,0%);
}
.slick-prev.slick-arrow {
  position: absolute;
  top: 50%;
  left: 1%;
  z-index: 10;
  width: 30px;
  -webkit-transform: translate(0%,0%);
    -moz-transform: translate(0%,0%);
    -ms-transform: translate(0%,0%);
    -o-transform: translate(0%,0%);
    transform: translate(0%,0%);
}

.s-02 .slide-dots {
  margin: 15px 0 0 0;
  padding: 0;
  text-align: center;
  position: absolute;
  bottom: 0%;
  left: 50%;
  webkit-transform: translate(-50%,-50%);
  -moz-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  -o-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
.slide-dots li {
  display: inline-block;
  margin: 0 10px;
}
.slide-dots li button {
  position: relative;
  text-indent: -9999px;
}
.slide-dots li button::before {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  cursor: pointer;
  height: 13.5px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 24px;
  width: 13.5px;
}

.slide-dots button {
  background: none;
  border: none;
  outline: none;
  width: 13px;
  height: 13px;
  background-color: #fff;
}

.slide-dots li.slick-active button {
  background-color: #ce9c1e;
}

.slick-list .slick-slide {
  padding-right: 2px;
}

.slick02 img {
  width: 100%;
}

.slick02 div {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 100vh;
  margin: 0;
}

.slick02 div.img01 {
  background-image: url(img/slider01.jpg);
  background-position: center bottom;
}
.slick02 div.img02 {
  background-image: url(img/slider02s.jpg);
  background-position: center bottom;
}
.slick02 div.img03 {
  background-image: url(img/slider04s.jpg);
  background-position: center bottom;
}

@media (min-width: 768px) {
  .slick02 div.img01 {
    background-image: url(img/slider01.jpg);
    background-position: center bottom;
  }
  .slick02 div.img02 {
    background-image: url(img/slider02.jpg);
    background-position: center bottom;
  }
  .slick02 div.img03 {
    background-image: url(img/slider04.jpg);
    background-position: center bottom;
  }
}

.slick02 .slick-dots {
  bottom: 4%;
  z-index: +1;
}

.s-02 {
  position: fixed;
    width: 100%;
    z-index: 0;
}

.slide-arrow.slick-next.slick-arrow {
  z-index: 11;
}

.logo_mark {
	width: 250px;
	position: absolute;
	top: 52%;
	left: 50%;
	 -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
@media (min-width: 576px) {
	.logo_mark {
		width: 50%;
	}
}
@media (min-width: 992px) {
	.logo_mark {
		width: 32%;
	    top: 45%;
	    left: 35%;
	}	
}
@media (min-width: 1400px) {
	.logo_mark {
		top: 38%;
		width: 25%;
	}
}

.main-title {
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	position: absolute;
	z-index: 9;
	top: 17%;
	left: 50%;
	 -webkit-transform: translate(-50%,0%);
    -moz-transform: translate(-50%,0%);
    -ms-transform: translate(-50%,0%);
    -o-transform: translate(-50%,0%);
    transform: translate(-50%,0%);
    height: 70%;
}
.main-title h1 {
	line-height: 1.8;
	font-size: 20px;
	letter-spacing: 2.0px;
	height: 50%;
}
@media (min-width: 768px) {
	.main-title {
		top: 13%;
	}
	.main-title h1 {
		font-size: 24px;
	}
}
@media (min-width: 992px) {
	.main-title,.main-title h1 {
		height: 100%;
	}
}

@media (min-width: 992px) {
	.main-title {
		width: 100%;
		writing-mode: horizontal-tb;
		top: 46%;
	    left: 53%;
	    -webkit-transform: translate(0%,-50%);
	    -moz-transform: translate(0%,-50%);
	    -ms-transform: translate(0%,-50%);
	    -o-transform: translate(0%,-50%);
	    transform: translate(0%,-50%);
	}
	.main-title h1 {
		line-height: 1.8;
	    font-size: 30px;
	}
}
@media (min-width: 1400px) {
	.main-title {
		top: 38%;
		left: 48%;
	}
	.main-title h1 {
		line-height: 1.0;
	    font-size: 34px;
	    letter-spacing: 3.0px;
	}
}

/* 生成物の数値はそのまま使い、active時を0に変更 */
svg .svg-elem-1 {
  stroke-dashoffset: 2972.904541015625px;
  stroke-dasharray: 2972.904541015625px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s;
}

svg.active .svg-elem-1 {
  stroke-dashoffset: 0;
  fill: rgb(206, 156, 30);
}

svg .svg-elem-2 {
  stroke-dashoffset: 6333.55517578125px;
  stroke-dasharray: 6333.55517578125px;
  fill: transparent;
  -webkit-transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s,
                        fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
          transition: stroke-dashoffset 1s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s,
                fill 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s;
}

svg.active .svg-elem-2 {
  stroke-dashoffset: 0;
  fill: rgb(206, 156, 30);
}

/* --- Splash / First View --- */
.logo-container {
  position: fixed; 
  top: 0;
  left: 0;
  right: 0;
  z-index: 9; /* スライダーより上に配置 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: linear-gradient(135deg, #fff 0%, #fafafa 100%);
  padding: 2rem 0;
  opacity: 1;
  visibility: visible;
  /* 初期状態：フルスクリーン */
  height: 100vh;
  transition: height 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              padding 0.8s ease,
              background 0.8s ease;
}

/* アニメーション後：背景を透明にしてSVGのみ表示 */
.logo-container.overlay-mode {
  background: transparent; /* 背景を透明に */
  backdrop-filter: none;
  box-shadow: none;
  height: 100vh; /* フルスクリーンのまま */
  padding: 2rem 0;
  pointer-events: none; /* クリックイベントを背景に通す */
  transition: background 0.2s ease;
}

.block12 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 50vh;
}
@media (min-width: 992px) {
	.block12 {
		min-height: 100vh;
	}
}

.block--4 .text-split span {
  color: #ce9c1e;
  opacity: 0;
  transform: translateX(30px);
}
.block--4 .is-active .text-split span {
  opacity: 1;
  color: #000;
  transform: translateX(0);
  transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), color 2s cubic-bezier(0.19, 1, 0.22, 1) 1s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(1) {
  transition-delay: 0s, 0s, 0.2s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(2) {
  transition-delay: 0.04s, 0.04s, 0.25s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(3) {
  transition-delay: 0.08s, 0.08s, 0.3s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(4) {
  transition-delay: 0.12s, 0.12s, 0.35s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(5) {
  transition-delay: 0.16s, 0.16s, 0.4s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(6) {
  transition-delay: 0.2s, 0.2s, 0.45s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(7) {
  transition-delay: 0.24s, 0.24s, 0.5s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(8) {
  transition-delay: 0.28s, 0.28s, 0.55s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(9) {
  transition-delay: 0.32s, 0.32s, 0.6s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(10) {
  transition-delay: 0.36s, 0.36s, 0.65s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(11) {
  transition-delay: 0.4s, 0.4s, 0.7s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(12) {
  transition-delay: 0.44s, 0.44s, 0.75s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(13) {
  transition-delay: 0.48s, 0.48s, 0.8s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(14) {
  transition-delay: 0.52s, 0.52s, 0.85s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(15) {
  transition-delay: 0.56s, 0.56s, 0.9s;
}
.block--4 .is-active .text-split:nth-child(1) span:nth-child(16) {
  transition-delay: 0.6s, 0.6s, 0.95s;
}

/* スクロール可能なコンテナ */
.scroll-container {
    height: 110vh; /* スクロール領域を作る（2倍の高さ） */
}

/* 次のセクション（.section01）のスタイル - せり上がり効果 */
.section01 {
    position: relative;
    z-index: 10;
    background-color: rgba(255, 255, 255, 1);
}

/* スクロール時にせり上がる */
.section01.slide-up {
    transform: translateY(0); /* 画面内に表示 */
}

/* =================================================================================　S-02style  */


.fbc-09 .fbc-0901img {
	background-image: url(img/biganimg011.jpg);
	flex: 1;
    min-height: 400px;
	background-size: cover;
	background-position: center center;
}
.fbc-09 .fbc-0902img {
	background-image: url(img/koubouimg01.jpg);
	flex: 1;
    min-height: 400px;
	background-size: cover;
	background-position: center center;
}
.fbc-09 .fbc-0903img {
	background-image: url(img/houmonkaigoimg.jpg);
	flex: 1;
    min-height: 400px;
	background-size: cover;
	background-position: center center;
}
.fbc-09 .fbc-0904img {
	background-image: url(img/aiueoimgs.jpg);
	flex: 1;
    min-height: 400px;
	background-size: cover;
	background-position: center left;
}
@media (min-width: 992px) {
	.fbc-09 .fbc-0904img {
		background-image: url(img/aiueoimg.jpg);
	}
}
.bigan_logo {
	width: 60%;
	position: absolute;
	top: 30%;
	left: 50%;
	webkit-transform: translate(-50%,-50%);
  	-moz-transform: translate(-50%,-50%);
  	-ms-transform: translate(-50%,-50%);
  	-o-transform: translate(-50%,-50%);
  	transform: translate(-50%,-50%);
}
.aiueo_logo {
	width: 70%;
	position: absolute;
	top: 50%;
	left: 50%;
	webkit-transform: translate(-50%,-50%);
  	-moz-transform: translate(-50%,-50%);
  	-ms-transform: translate(-50%,-50%);
  	-o-transform: translate(-50%,-50%);
  	transform: translate(-50%,-50%);
}

@media (min-width: 576px) {
	.fbc-09 .fbc-0901img,.fbc-09 .fbc-0902img,.fbc-09 .fbc-0903img {
		min-height: 500px;
	}
}
@media (min-width: 768px) {
	.fbc-09 .fbc-0901img,.fbc-09 .fbc-0902img,.fbc-09 .fbc-0903img {
		min-height: 650px;
	}
}



@media (min-width: 992px) {
	.fbc-09 .fbc-0901img,.fbc-09 .fbc-0902img {
		min-height: 100%;
	}
}

.section01 .row.g-0 {
    display: flex;
    align-items: stretch;
}

.section01 .col-md-6 {
    display: flex;
    flex-direction: column;
}

.location-name {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 2px;
}
.location-name span {
	font-size: 15px;
	display: inline-block;
	margin-right: 10px;
}
@media (min-width: 992px) {
	.location-name {
		font-size: 40px;
	}
	.location-name span {
		font-size: 18px;
	}
}

.front-biganbtn {
	display: block;
	background-color: #05AFF2;
	color: #fff;
	padding: 16px 22px;
	font-size: 15px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	transition: .5s;
}
@media (min-width: 576px) {
	.front-biganbtn {
		font-size: 16px;
	}
}
@media (min-width: 992px) {
	.front-biganbtn {
		font-size: 20px;
	}
}
.front-biganbtn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ce9c1e;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .5s;
}
.front-biganbtn::after {
  content: "→";
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; 
  line-height: 1;
  color: currentColor; 
  opacity: .7;
  pointer-events: none;
  transition: transform .5s ease, opacity .5s ease;
}
.front-biganbtn:hover {
  color: #fff;
}
.front-biganbtn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.location-haba {
	margin-left: 15px;
	margin-right: 15px;
}
@media (min-width: 992px) {
	.location-haba {
		margin-left: 5%;
		margin-right: 5%;
	}
}
@media (min-width: 1200px) {
	.location-haba {
		margin-left: 8%;
		margin-right: 8%;
	}
}
@media (min-width: 1400px) {
	.location-haba {
		margin-left: 10%;
		margin-right: 10%;
	}
}

.front-seiwabtn {
	display: block;
	background-color: #72A603;
	color: #fff;
	padding: 16px 22px;
	font-size: 14px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	transition: .5s;
}
@media (min-width: 576px) {
	.front-seiwabtn {
		font-size: 15px;
	}
}
@media (min-width: 992px) {
	.front-seiwabtn {
		font-size: 18px;
	}
}
@media (min-width: 1200px) {
	.front-seiwabtn {
		font-size: 20px;
	}
}
.front-seiwabtn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ce9c1e;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .5s;
}
.front-seiwabtn::after {
  content: "→";
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; 
  line-height: 1;
  color: currentColor; 
  opacity: .7;
  pointer-events: none;
  transition: transform .5s ease, opacity .5s ease;
}
.front-seiwabtn:hover {
  color: #fff;
}
.front-seiwabtn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.front-houmonkaigobtn {
	display: block;
	background-color: #9e9e9e;
	color: #fff;
	padding: 16px 22px;
	font-size: 14px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	transition: .5s;
}
@media (min-width: 576px) {
	.front-houmonkaigobtn {
		font-size: 15px;
	}
}
@media (min-width: 992px) {
	.front-houmonkaigobtn {
		font-size: 18px;
	}
}
@media (min-width: 1200px) {
	.front-houmonkaigobtn {
		font-size: 20px;
	}
}
.front-houmonkaigobtn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ce9c1e;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .5s;
}
.front-houmonkaigobtn::after {
  content: "→";
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; 
  line-height: 1;
  color: currentColor; 
  opacity: .7;
  pointer-events: none;
  transition: transform .5s ease, opacity .5s ease;
}
.front-houmonkaigobtn:hover {
  color: #fff;
}
.front-houmonkaigobtn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.front-aiueobtn {
	display: block;
	background-color: #ea85a7;
	color: #fff;
	padding: 16px 22px;
	font-size: 14px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	transition: .5s;
}
@media (min-width: 576px) {
	.front-aiueobtn {
		font-size: 15px;
	}
}
@media (min-width: 992px) {
	.front-aiueobtn {
		font-size: 18px;
	}
}
@media (min-width: 1200px) {
	.front-aiueobtn {
		font-size: 20px;
	}
}
.front-aiueobtn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #ce9c1e;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .5s;
}
.front-aiueobtn::after {
  content: "→";
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; 
  line-height: 1;
  color: currentColor; 
  opacity: .7;
  pointer-events: none;
  transition: transform .5s ease, opacity .5s ease;
}
.front-aiueobtn:hover {
  color: #fff;
}
.front-aiueobtn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.bt-bigan {
	border-top: 5px solid #34aff2;
}
.bt-koubou {
	border-top: 5px solid #72a603;
}
.bt-houmonkango {
	border-top: 5px solid #9e9e9e;
}
.bt-aiueohoiku {
	border-top: 5px solid #ea85a7;
}

.bgextend{
	animation-name:bgextendAnimeBase;
	animation-duration:1s;
	animation-fill-mode:forwards;
	position: relative;
	overflow: hidden;/*　はみ出た色要素を隠す　*/
	opacity:0;
}
@keyframes bgextendAnimeBase{
	from {
		opacity:0;
	}
	to {
		opacity:1;  
	}
}
.bgLRextend::before{
	animation-name:bgLRextendAnime;
	animation-duration:.8s;
	animation-fill-mode:forwards;
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #34aff2;
}
.bgLRextend.midori::before{
	background-color: #72a603;
}
.bgLRextend.gray::before{
	background-color: #9e9e9e;
}
.bgLRextend.pink::before{
	background-color: #ea85a7;
}
@keyframes bgLRextendAnime{
	0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	50% {
		transform-origin:left;
		transform:scaleX(1);
	}
	50.001% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}

.location-btn {
	font-size: 17px;
	color: #34aff2;
	background: #fff;
	border: 1px solid #34aff2;
	padding: 18px 30px;
	position: relative;
	z-index: 1;
	transition: .3s;
}
.location-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #34aff2;
  transform-origin: 0% 100%;
  transform: scaleY(0);
  transition: transform ease .3s;
}
.location-btn::after {
	content: "↓";
	position: absolute;
	right: 0.8em;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.2em; 
	line-height: 1;
	color: currentColor; 
	opacity: .7;
	pointer-events: none;
	transition: transform .25s ease, opacity .25s ease;
	animation: slideIn2 .3s forwards;
}

.location-btn.midori {
	color: #72a603;
	background: #fff;
	border: 1px solid #72a603;
}
.location-btn.gray {
	color: #9e9e9e;
	background: #fff;
	border: 1px solid #9e9e9e;
}
.location-btn.pink {
	color: #ea85a7;
	background: #fff;
	border: 1px solid #ea85a7;
}

.location-btn.midori::before {
	background: #72a603;
}
.location-btn.gray::before {
	background: #9e9e9e;
}
.location-btn.pink::before {
	background: #ea85a7;
}

.location-btn:hover {
  color: #fff;
}
.location-btn:hover::before {
  transform-origin: 100% 0%;
  transform: scaleY(1);
}

#toPageTop a {
    width: 40px;
    height: 40px;
    font-size: 24px;
    background-color: #ce9c1e;
    border-radius: 50%;
}
#toPageTop {
    bottom: .8rem;
    right: .8rem;
}
#toPageTop a:hover {
	color: #ce9c1e;
    background-color: #fff;
    border: 3px solid #ce9c1e;
    width: 50px;
    height: 50px;
    font-size: 28px;
    transition: .5s;
}
@media (min-width: 992px) {
	#toPageTop a {
	    width: 60px;
	    height: 60px;
	}
	#toPageTop a:hover {
		color: #ce9c1e;
	    background-color: #fff;
    	border: 3px solid #ce9c1e;
	    width: 70px;
	    height: 70px;
	    font-size: 32px;
	}
}
.n-04 .number {
	font-size: 14px;
    display: flex;
    background-color: #ce9c1e;
    color: #fff;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    transform: skewX(-15deg);
    margin-bottom: 15px;
}
@media (min-width: 992px) {
	.n-04 .number {
		font-size: 15px;
		width: 30px;
    	height: 30px;
	}
}
.n-04 .number span {
	transform: skewX(15deg)
}

.n-04 .newslink .arrow-left {
	font-size: 20px;
	position: absolute;
	right: 3%;
	top: 50%;
	-webkit-transform: translate(0%,0%);
	-moz-transform: translate(0%,0%);
	-ms-transform: translate(0%,0%);
	-o-transform: translate(0%,0%);
	transform: translate(0%,0%);
}
.n-04 .newslink:hover .arrow-left {
	right: -3%;
	transition-duration: .5s;
}

.n-04 .news-index .newstitle {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
@media (min-width: 992px) {
	.n-04 .news-index .newstitle {
		-webkit-line-clamp: 1;
	}
}

@media (max-width: 576px) {
	.n-04 .outer:before {
		height: 130px;
	}
}

.news-index {
    position: relative;
    display: inline-block;
    width: 100%;
    opacity: 0.9;
    z-index: 2;
}
.news-index::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    content: '';
    background: linear-gradient(90deg, rgba(255, 255, 255, 1.0) 0%, rgba(242, 238, 231, .6) 100%);
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform .6s;
}
.news-index:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.news-index:hover a {
	padding-left: 20px;
}


.newsbtn {
	display: block;
	background-color: #ce9c1e;
	color: #fff;
	padding: 16px 22px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	display: block;
	overflow: hidden;
	transition: .5s;
}
@media (min-width: 576px) {
	.newsbtn {
		width: 50%;
		margin-left: auto;
	}
}
@media (min-width: 768px) {
	.newsbtn {
		width: 35%;
	}
}
@media (min-width: 992px) {
	.newsbtn {
		width: 100%;
		margin-left: inherit;
	}
}

.newsbtn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #fff;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .5s;
}
.newsbtn::after {
  content: "→";
  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; 
  line-height: 1;
  color: currentColor; 
  opacity: .7;
  pointer-events: none;
  transition: transform .5s ease, opacity .5s ease;
}
.newsbtn:hover {
  color: #ce9c1e;
}
.newsbtn:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}





.logo-mark {
	display: none;
}
@media (min-width: 992px) {
	.logo-mark {
		display: block;
        position: absolute;
        z-index: 0;
        bottom: 0;
        left: -15%;
        width: 49%;
        opacity: .2;
	}
}

.s-03-2 .s-03slider li {
    width: 35vw!important;
	transform: translate(0px, 0px);
	margin-right: .5%;
}
@media (min-width: 992px) {
	.s-03-2 .s-03slider li {
		width: 20vw!important;
		margin-right: 1%;
	}
}

.s-03-2 .s-03slider li img {
	border-radius: 20px!important;
}
.s-03-2 .s-03slider li:nth-of-type(2n) {
    margin-top: 15vw;
}
.s-03-2 .s-03slider li:nth-of-type(3n) {
    margin-top: 20vw;
}
.s-03-2 .s-03slider li:nth-of-type(5n) {
    margin-top: 2vw;
}

@media (min-width: 992px) {
	.s-03-2 .s-03slider li:nth-of-type(2n) {
	    margin-top: 5vw;
	}
	.s-03-2 .s-03slider li:nth-of-type(3n) {
	    margin-top: 10vw;
	}
	.s-03-2 .s-03slider li:nth-of-type(5n) {
	    margin-top: 2vw;
	}
}

.recruitbox {
	background-image: url(img/recruitmentimg.jpg);
	position: relative;
	background-size: cover;
	background-position: top left;
	min-height: 300px;
	mix-blend-mode: multiply;
}
.recruitbox::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  transition: background-color 0.3s ease;
  z-index: 1;
}
.recruitsoto:hover .recruitbox::before {
  background-color: rgba(0, 0, 0, 0);
}
.recruitsoto:hover .recruitbox {
  mix-blend-mode: inherit;
}

@media (min-width: 1200px) {
	.recruitbox {
		min-height: 350px;
	}
}
@media (min-width: 1400px) {
	.recruitbox {
		min-height: 450px;
	}
}
.recruitbox .recruitbox-moji {
	margin-bottom: 0;
	position: absolute;
	top: 45%;
	left: 53%;
	transform: translate(-50%,-50%);
	width: 100%;
	z-index: 3;
}
@media (min-width: 768px) {
	.recruitbox .recruitbox-moji {
		position: absolute;
        top: 50%;
        left: inherit;
        right: 10%;
        transform: translate(0%, -50%);
        width: auto;
	}
}
@media (min-width: 1400px) {
	.recruitbox .recruitbox-moji {
		right: 15%;
	}
}
.recruitsoto .recruitbox-moji p {
	color: #fff;
}
.recruitsoto:hover .recruitbox-moji p {
	color: #000;
}

@media (min-width: 768px) and (max-width: 992px) {
	.s-03-2 {
		width: 2000px;
	}
}


.recruitbox-moji h2 span {
	display: inline-block;
	position: relative;
	z-index: 1;
	padding: 0 20px;
}
.recruitbox-moji h2 span::before {
  background: #ce9c1e;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
  z-index: -1;
}
a.recruitsoto:hover .recruitbox-moji h2 span::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
a.recruitsoto:hover .recruitbox-moji h2 {
	color: #fff;
}

a.recruitsoto:hover .recruitbox-moji .yajirushi-left {
	padding-left: 10%;
    transition-duration: .5s;
}

.loop_wrap{
	display: flex;
	overflow: hidden;
	margin-top: 0px;
}
@media (min-width: 768px) {
	.loop_wrap{
		margin-top: -1%;
	}
}
@media (min-width: 1200px) {
	.loop_wrap{
		margin-top: -2%;
	}
}
.loop_wrap img:first-child {
	animation: loop 50s linear -25s infinite;
	mix-blend-mode: multiply;
}
.loop_wrap img:last-child {
	animation: loop2 50s linear infinite;
	mix-blend-mode: multiply;
}
@keyframes loop {
	0% {
		transform: translateX(100%);
	}
	to {
		transform: translateX(-100%);
	}
}
@keyframes loop2 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-200%);
	}
}



.footermaeimg {
	position: relative;
	z-index: 9;
	min-height: 800px;
	background-image: url(img/footermaeimg.jpg);
	background-size: cover;
	background-position: center top;
}
.front-footer {
	background-color: rgb(255 255 255 / 90%);
	position: absolute;
	z-index: 10;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    width: 90%;
}
@media (min-width: 992px) {
	.footermaeimg {
		min-height: 1000px;
	}
	.front-footer {
		width: 88%;
		top: inherit;
		bottom: 0;
		left: 50%;
		-webkit-transform: translate(-50%,0%);
	    -moz-transform: translate(-50%,0%);
	    -ms-transform: translate(-50%,0%);
	    -o-transform: translate(-50%,0%);
	    transform: translate(-50%,0%);
	}
}

.f-02 .footer-logo {
	width: 240px;
}

.f-02 .bb-1-fff-br {
	border-bottom: 1px solid #ccc;
}
@media(min-width: 992px) {
	.f-02 .bb-1-fff-br {
		border-bottom: 0px;
		border-right: 1px solid #ccc;
	}
}

.bigantel-btn {
	font-size: 18px;
	background-color: #05aff2;
	color: #fff;
	padding: 5px 10px;
}
.bigantel-btn:hover {
	color: #fff;
}
@media (min-width: 768px) {
	.bigantel-btn {
		font-size: 22px;
	}
}

.kouboutel-btn {
	font-size: 18px;
	background-color: #72a603;
	color: #fff;
	padding: 5px 10px;
}
.kouboutel-btn:hover {
	color: #fff;
}
@media (min-width: 768px) {
	.kouboutel-btn {
		font-size: 22px;
	}
}

.houmontel-btn {
	font-size: 18px;
	background-color: #9e9e9e;
	color: #fff;
	padding: 5px 10px;
}
.houmontel-btn:hover {
	color: #fff;
}
@media (min-width: 768px) {
	.houmontel-btn {
		font-size: 22px;
	}
}

.aiueotel-btn {
	font-size: 18px;
	background-color: #ea85a7;
	color: #fff;
	padding: 5px 10px;
}
.aiueotel-btn:hover {
	color: #fff;
}
@media (min-width: 768px) {
	.aiueotel-btn {
		font-size: 22px;
	}
}


.p-04n.l-page-title {
	position: relative;
	overflow: hidden;
}

.p-04n.l-page-title h1 > span {
	position: relative;
	z-index: 1;
}

.p-04n.l-page-title.nega h1 .bgpage_eigo {
	font-family: "Libre Baskerville", serif;
    color: #d5a21f;
    font-style: italic;
    position: absolute;
    bottom: -2vw;
    left: 0;
    width: 100%;
    font-size: clamp(16px,10vw,220px);
    text-align: justify;
    justify-content: space-between;
    z-index: 0;
    text-align: center;
    margin: 0 auto;
}

.breadcrumb {
    background-color: #fbf5ea;
}

@media (min-width: 1200px) {
	.arrowkaiten {
		transform: rotate(-90deg);
	}
}