/* contacthover */
.contacthover{
 margin:0 auto; //サンプルで中央に寄せたいので書かせていただいております。
 overflow:hidden; //これを記述することではみ出た部分を非表示にします。
}


.contacthover img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}

/* cp_hr06 */
.cp_hr06 {
	position: relative;
	height: 1px;
	border-width: 0;
	background-image: -webkit-linear-gradient(left,
	transparent 0%,#0000FF 50%,transparent 100%);
	background-image:         linear-gradient(90deg,
	transparent 0%,#0000FF 50%,transparent 100%);
}

/* ddmenu */
/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.ddmenu1 {
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;/* メニューバー外側の余白(ゼロ) */
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 0px;
	padding-left: 0px;/* メニューバー内側の余白(左に15px) */
	background-color: rgba(0, 0, 0, 0.8);/* バーの背景色(濃い赤色) */
}


/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.ddmenu1 li {
   width: 120px;           /* メニュー項目の横幅(120px) */
   display: inline-block;  /* ★1:横並びに配置する */
   list-style-type: none;  /* ★2:リストの先頭記号を消す */
   position: relative;     /* ★3:サブメニュー表示の基準位置にする */
}

ul.ddmenu1 sns {
   width: 38px;           /* メニュー項目の横幅(125px) */
   display: inline-block;  /* ★1:横並びに配置する */
   list-style-type: none;  /* ★2:リストの先頭記号を消す */
   position: relative;     /* ★3:サブメニュー表示の基準位置にする */
}

ul.ddmenu1 a {
	background-color: rgba(0,0,0,0);/* メニュー項目の背景色(濃い赤色) */
	color: rgba(192,192,192,10);/* メニュー項目の文字色(白色) */
	line-height: 30px;/* メニュー項目のリンクの高さ(40px) */
	text-align: center;/* メインメニューの文字列の配置(中央寄せ) */
	text-decoration: none;/* メニュー項目の装飾(下線を消す) */
	font-weight: bold;/* 太字にする */
	display: block;/* ★4:項目内全域をリンク可能にする */
}
ul.ddmenu1 a:hover {
	background-color: rgba(192,192,192,0.8);/* メニュー項目にマウスが載ったときの背景色(淡いピンク) */
	color:rgba(0, 0, 0, 0.8);/* メニュー項目にマウスが載ったときの文字色(濃い赤色) */
}




/* ▼サブメニューは、とりあえず非表示にしておく */
ul.ddmenu1 ul {
   display: none;         /* ★5:非表示にする */
}
/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.ddmenu1 ul {
   display: none;       /* ★1:標準では非表示にする */
   margin: 0px;         /* ★2:サブメニュー外側の余白(ゼロ) */
   padding: 0px;        /* ★3:サブメニュー内側の余白(ゼロ) */
   position: absolute;  /* ★4:絶対配置にする */
   z-index:50;

}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */   /* ※サブメニューが1階層しか存在しない場合の記述 */
/* ---------------------------------- */
ul.ddmenu1 li:hover ul {
   display: block;      /* ★5:マウスポインタが載っている項目の内部にあるリストを表示する */
}


html { scroll-behavior: smooth;}

/* fadein */
.fadeintop {
    animation-name: fadeintop;
    animation-delay: 2s;
    animation-duration: 2.5s;
    animation-fill-mode: forwards;
    transform: translateY(-50px);
    opacity: 0;
}
@keyframes fadeintop {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.fade {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 2s;
}
.fade-in {
  transform: translate(0, 0);
  opacity: 1;
}

/* faq */ 
.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa {
	overflow-x: hidden;
	margin: 0 auto;
	color: blue;
}
.cp_qa .cp_actab {
	padding: 20px 0;
	border-bottom: 1px dotted #0004ff;
}
.cp_qa label {
	font-size: 1.2em;
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 10px 0 48px;
	cursor: pointer;
}
.cp_qa .cp_actab-content {
	font-size: 1em;
	position: relative;
	overflow: hidden;
	height: 0;
	margin: 0 40px;
	padding: 0 14px;
	-webkit-transition: 0.4s ease;
	        transition: 0.4s ease;
	opacity: 0;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
	height: auto;
	padding: 14px;
	opacity: 1;
}
.cp_qa .cp_plus {
	font-size: 2.4em;
	line-height: 100%;
	position: absolute;
	z-index: 0;
	margin: 3px 0 0 10px;
	-webkit-transition: 0.2s ease;
	        transition: 0.2s ease;
}
.cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_plus {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
.cp_qa .cp_actab input[type=checkbox] {
  display: none;
}

/* headback */


.headback {
    background-image: url('/img/headback.webp'); /* 背景画像を設定 */
    background-size: cover; /* 画像をテーブル全体にフィット */
    background-color: rgba(0, 0, 255, 0.1); /* 黒の半透明オーバーレイ */
    background-blend-mode: overlay; /* オーバーレイ効果 */
    box-shadow: 5px 5px 5px 5px #2B2B2B;
    position: relative
}

.footback {
    background-image: url('/img/footback.webp'); /* 背景画像を設定 */
    background-size: cover; /* 画像をテーブル全体にフィット */
    position: relative
}

/* holdmenu */
.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

.fixedsp {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

/* holdmenu */
.hover{
 width:100%; // サイズがサンプルなので適時変更してください。
 margin:0 auto; //サンプルで中央に寄せたいので書かせていただいております。
 overflow:hidden; //これを記述することではみ出た部分を非表示にします。
}
.hover img{
 transition:1s all;
 box-shadow: 5px 10px 5px #b5b3b3;
}
.hover img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
 box-shadow: 5px 10px 5px #cccccc;
}

.textover {}
.textover a{
  display: inline-block;
  color:#c0c0c0;
  text-decoration:none;
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgba(192, 192, 192, 1) 50%);
  background-position: 0 0;
  background-size: 200% auto;
  transition: .3s;
}
.textover a:hover{
  background-position: -100% 0;
  color: #000;
}

/* start */
.htext {
       line-height: 10%;
}

.logo {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, 13%);
text-align: center;
line-height: 100px;
z-index: 30; /* 最前面 */
}

/* summary */
/* 開いて実行されるアニメーションを設定*/
details[open] .content {
  animation: fadeIn 2.0s ease-in-out;
}
@keyframes fadeIn {
  0% {
    opacity: 0; /* Transparent */
    transform: translateX(+100px); 
    /* translateX(+100px)：右から表示 */
    /* translateX(-100px)：左から表示 */
    /* translateY(+100px)：下から表示 */
    /* translateY(-100px)：上から表示 */

  }
  100% {
    opacity: 1;
    transform: none;
  }
}

/* text line */
.text-line {
	display: flex;
	align-items: center;
}

.text-line:before,
.text-line:after {
  content: "";
  flex-grow: 1;
  height: 1.5px;
  background: #000;
  margin:0 2em;
  margin-right: .4em;
}

.text-line:before {
  background: linear-gradient(-90deg, #0000FF, transparent);
}

.text-line:after {
  background: linear-gradient(90deg, #0000FF, transparent);
}


/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/* view */
.view{
    width: 100%;
    position: relative;
    overflow: hidden;
    }
.view::after{
    content: "";
    display: block;
    width: 200%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    transform: translateX(-50%);
    transition: all .3s ease-in-out .8s;
}
.view img{
    vertical-align: middle;
}
.view.js-on::after{
    animation: viewinMask 1.5s ease-in-out forwards;
}
@keyframes viewinMask{
    0%{
        transform: translateX(-50%);
    }
    100%{
        transform: translateX(50%);
    }
}

/* youtube */
.youtube_wrap iframe{
  width: 100%;
  aspect-ratio: 16 / 9;
}