@charset "utf-8";
/*◆大前提*/

/*◆form*/
input, textarea, select {
width:100%;
border: 1px solid #ccc;
}


div.wmc{
width:100%;
overflow: hidden;
}

div.text{
width:96%;
padding:2%;
}

#main.contents img {
*width: 96%;
*padding: 2%;
    width: 100%;
    padding: 0%;

}

/*◆WEBフォント*/
@font-face {
  font-family: "Kokoro";
  src: url("../../font/Kokoro.woff") format('woff');
}

h3{
font-family: 'Train One', cursive;
color:#555;
font-size:35px;
}

#main p {
    padding: 20px;
    *background-color: rgba(250,250,250,0.8);
    text-shadow: 0px 0px 1px rgba(250,250,250,0.6);
    box-shadow: 0px 0px 10px rgba(250,250,250,0.10);
}

/*◆<div class="clearfix contents-ns ">…</div>*/
#main .contents-ns{
position: relative;
z-index: 1;
width: 100%;
margin: 0px auto 0px;
height: auto;
overflow: hidden;
clear: both;
}


/*◆<div class="clearfix contents-bottom ">…</div>*/
#main .contents-bottom {
    *background-color: rgba(250,250,250,0.8);
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1000px;
    margin: 0px auto 20px;
    height: auto;
    overflow: hidden;
    clear: both;
}

#main .contents-bottom:first-child {
    padding: 0px 0px 0px 0px;
    clear: both;
}

#main .contents-bottom:last-child {
    padding: 0px 0px 20px 0px;
}


/*NO1　新ボタン 幅*/
#main.contents .btn a{
color:#000;
border-radius: 15px;
display: block;
margin: 0px auto 1px;
    text-align: center;    
    border-top: 1px solid #eee;  
    border-left: 1px solid #eee;  
    border-right: 1px solid #ddd;  
    border-bottom: 1px solid #ddd;  
    width: 40%;  
    min-width: 200px;
    line-height: 25px;  
    padding:10px;
} 

#main.contents .btn a:hover {
color:#000;
}


#main.contents .btn2 a{
width: 50%;
color:#000;
display: block;
padding: 1px;
float: left;
text-align: center;    
border: 1px solid #EEE;
font-size:15px;  
}
#main.contents .btn2 a:hover {
color:#000;
}

@media screen and (max-width: 420px) {
#main.contents .btn2 a{
width: 99%;
color:#000;
display: block;
padding: 1px;
float: left;
text-align: center;    
border: 1px solid #EEE;
font-size:15px;  
}
}

#main.contents .btn3{
width: 100%;
}

#main.contents .btn3 a{
color:#000;
display: block;
float: left;
text-align: center;    
border: 1px solid #EEE;   
width: 33.25%;
}

@media screen and (max-width: 724px) {
#main.contents .btn3 a{
color:#000;
display: block;
float: left;
text-align: center;    
border: 1px solid #EEE;   
width: 99%;
}
}



#main.contents .btn3 a:hover {
color:#000;
}

/*NO11 ボタン4PC*/
#main.contents .btn4{
width: 100%;
}

#main.contents .btn4 a{
color:#000;
display: block;
float: left;
text-align: center;    
border: 1px solid #EEE;   
width: 24.9%;
}
#main.contents .btn4 a img{
width: 100%;
}

#main.contents .btn4 a:hover {
color:#000;
}



@media screen and (max-width: 724px) {
#main.contents .btn4 a{
color:#000;
display: block;
float: left;
text-align: center;    
border: 1px solid #EEE;   
width: 49.9%;
}
}

@media screen and (max-width: 420px) {
#main.contents .btn4 a{
color:#000;
display: block;
float: left;
text-align: center;    
border: 1px solid #EEE;   
width: 99%;
}
}


/*NO1　新ボタン  エフェクト　基本*/
.button {
	display: inline-block;
	width: 200px;
	height: auto;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

/*NO1　新ボタン  エフェクトここから*/
.button {
	position: relative;
	z-index: 1;
	background-color: #FCFCFC;
	border: 2px solid #333;
	color: #fff;
	line-height: 50px;
}
.button:hover {
	border-color: #333;
	color: #333;
/*RGB nowpage 20210616*/
*opacity:0.85;
*background-color:rgba(222,222,222,0.5);

  background-color: rgba(255,255,255,0.75);
  animation: bg-color 0.5s infinite;
  -webkit-animation: bg-color 120s infinite;
}
@-webkit-keyframes bg-color {
  0% { background-color: #9DAAD6; }
  20% { background-color: #BD9FBC; }
  40% { background-color: #9FA0BD; }
  60% { background-color: #D5DBC4; }
  80% { background-color: #D4A78B; }
  100% { background-color: #E1B6CF; }
}
@keyframes bg-color {
  0% { background-color: #9DAAD6; }
  20% { background-color: #BD9FBC; }
  40% { background-color: #9FA0BD; }
  60% { background-color: #D5DBC4; }
  80% { background-color: #D4A78B; }
  100% { background-color: #E1B6CF; }
}
.button::before,
.button::after {
	top: 0;
	width: 50%;
	height: 100%;
	background-color: #FCFCFC;
}
.button::before {
	right: 0;
}
.button::after {
	left: 0;
}
.button:hover::before,
.button:hover::after {
	width: 0;
	background-color: #333;
}
/*NO1　新ボタン エフェクト ここまで*/


/*NO23 トップに戻るファイルアップで(ge_top_button.gif)画像変更で設定 */
#main .toplink img{
width:65px;
}


/*◆フォーム系<fieldset>…</fieldset>*/
#main.contents fieldset {
    width: 90%;
    margin: 0px auto 50px;
    border: none;
}
/*NO14 表・フォームPC*/

table{
border-collapse:separate;
border: 1px solid #CFCFCF;
background: rgba(250, 250, 250, 0.7);
width: 100%;
margin: 0px auto 20px;
}
th{
    background-color:#eee;
    width:30%;
    border:1px solid #ccc;
    padding:5px 8px;
}
td{
    border:1px solid #ccc;
    padding:5px 8px;
}

#main.contents fieldset textarea{
width:95%;
}


/*js_cgiお問い合わせフォーム*/
div.submit input{
padding: 15px 50px 15px 50px;
background: #565656;
color:#FFFFFF;
font-size:20px;
border-radius:5px;
}

div.submit{
width:150px;
height:70px;
margin: 0px auto 0px;
text-align: center;
}
div.submit input:hover {
background-color:rgba(204,204,204,0.5);
transition: all 0.3s ease;
color:#000;
}

p.cen{
width:200px;
height:50px;
margin: 0px auto 0px;
text-align: center;
}

/*NO14 表・フォームSP
.even{
    background: #FAFAFA;
}

#main.contents fieldset input{
width:95%;
}

#main.contents fieldset textarea{
width:95%;
}


table{
border: 1px solid #CFCFCF;
background: rgba(250, 250, 250, 0.7);
*width: 100%;
margin: 0px auto 0px;
    }
*/

@media screen and (max-width: 500px) {
/*NO14 表・フォームSP*/
table{
border: 1px solid #CFCFCF;
background: rgba(250, 250, 250, 0.7);
width: 100%;
margin: 0px auto 0px;
}

th{
text-align: left;
*background: #ECF0F4;
background: #EEE;
display:block;
width:auto;
border-top:none;
border-bottom:none;
padding: 5px 5px 5px 5px ;
border-bottom: 1px solid rgba(140, 140, 140, 0.3) ;
}

td{
background: #fff;
width:97%;
padding: 5px 5px 5px 5px ;
float: left;
display:block;
border-bottom: 1px solid rgba(140, 140, 140, 0.3) ;
}

}

/*◆◆◆画像+テキスト ノーマル系◆◆◆*/


/*◆2列<div class="left">…</div>*/
#main.contents div.left {
    float: left;
    border: 1px solid #EEE;
    width: 49.5%;
}
/*◆2列<div class="right">…</div>*/
#main.contents div.right {
    float: right;
    border: 1px solid #EEE;
    width: 49.5%;
}

@media screen and (max-width: 500px){
#main.contents div.left {
    width: 99%;
}
#main.contents div.right {
    width: 99%;
}
}

/*◆3列<div class="img3rs">…</div>*/
#main.contents .img3rs {
    background-color: rgba(255,255,255,0.85);
    border: 1px solid #EEE;
    box-shadow: 2px 1px 6px #EEE;
    float: left;
    position: relative;
    width: 33%;
    height: 315px;
}
#main.contents .img3rs dd {
    padding: 0;
    margin: 0;
    clear: both;
    padding: 5px;
}


@media screen and (max-width: 724px){
#main.contents div.img3rs {
    background-color: rgba(255,255,255,0.7);
    border-radius: 10px / 10px;
    border: 1px solid #EEE;
    margin: 10px auto 10px;
    padding: 2%;
    position: relative;
    width: 96%;
    height: auto;
    overflow: hidden;
}

}

/*
-------------------------------------------
###########################################
■h2
###########################################
-------------------------------------------
*/

#main.contents h2 {
*font-size: 4vw;
width:100%;
*border-bottom: 1px solid #ECECEC;
*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "Helvetica Neue", Helvetica, Arial, "ＭＳ Ｐゴシック", sans-serif;
font-weight: normal;
font-style: normal;
*background-color: rgba(255,255,255,0.2);
margin: 50px 0px 0px 5px;
padding: 15px 0px 15px 0px;
color: #000;
text-align: center;
clear: both;
margin:0px;
position: relative;
}

#main.contents h2:after {
*content: "🂿" ;
*content: "❅" ;
content: "🃟" ;
*content: "🂪🂫🂭🂮🂡" ;
*position:center;
*position:relative;
*position:absolute;
*content: "☇" ;
color:#ccc;
transform: rotate(-170deg);
*bottom:40px;
*bottom: 5%;
*right:0;
*margin-top: -12px;
}


#main.contents .kokoro h2 {
font-family: "Kokoro";
font-size: 4vw;
*font-size: calc(60 * (100vh / 896)); //高896 iphone11の時のフォントサイズが30px
*font-size: calc(30 * (100vw / 750)); //横750pxの時のフォントサイズが30px
}

#main.contents h2 {
	margin: 16px 0;
	text-align: center;
	*font-size: 8vw; //最小値
}
@media (min-width: 640px) {
#main.contents h2{
font-size: calc(36px + ((1vw - 6.4px)*3.571));
}
}
@media (min-width: 1200px) {
#main.contents h2{
font-size: 42px; //最大値
}
}

/*
-------------------------------------------
css改行
-------------------------------------------
*/




@media screen and (max-width: 724px) {
#main.contents .kokoro h2 {
font-family: "Kokoro";
font-size: 8vw;
*font-size: calc(60 * (100vh / 896)); //高896 iphone11の時のフォントサイズが30px
*font-size: calc(30 * (100vw / 750)); //横750pxの時のフォントサイズが30px
}
.h2br::before {
content: "\A" ;
white-space: pre ;
clear: both;
}
}
@media screen and (min-width: 1200px) {
.h2br::before {
content: "\A" ;
white-space: pre ;
}
}

/*◆H3*/
#main h3 {
    *font-family: 'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','ＭＳ Ｐ明朝','MS PMincho',serif;
    margin: 20px -5px 30px 5px;
    font-size: 25px;
    color: #333;
    clear: both;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
    text-align: center;
}

@media screen and (min-width: 724px){
/*テキスト右・画像左・*/
#main.contents div.imgright {
max-width: 46%;
float: right;
margin: 0px 0px 0px 0px;
padding:2%;
}
.imgrighttext {
background-color: rgba(255,255,255,0.96);
color: #000;
padding: 2%;
*width: 46%;/*解除で回り込み*/
*float: right;/*解除で回り込み*/
}

/*テキスト右・画像左・*/
#main.contents div.imgleft {
max-width: 46%;
float: left;
margin: 0px 0px 0px 0px;
padding:2%;
}
.imglefttext {
background-color: rgba(255,255,255,0.96);
color: #000;
padding: 2%;
*width: 46%;/*解除で回り込み*/
*float: right;/*解除で回り込み*/
}
}

/*H2を画像で*/

#main.contents .image_h2 h2::before {
    content: "";
}

#main.contents .image_h2 img{

top:initial;
bottom:initial;
right:initial;
left:initial;
padding:initial;
margin: initial;
color: initial;

width: 100%;
max-width: 749px;
clear: both;
}


/*NO11 人物紹介PC */
#main.contents .profile {
background-color: #FAFAFA;
margin: 0px auto 0px;
width: 80%;
max-width: 900px;
min-width: 300px;
border-radius: 10px 10px 10px 10px / 10px 10px 10px 10px;
border: 1px solid #ccc;
}

#main.contents .profiletext{
padding: 2%;
width: 60%;
float: right;
text-align: left; 
height: auto;
}

#main.contents .profiletext strong{
*font-family:'ヒラギノ明朝 Pro W3','Hiragino Mincho Pro','ＭＳ Ｐ明朝','MS PMincho',serif;
font-size: 25px;
clear: both;
margin: 0px 0px 0px 0px;
}

#main.contents .profileimg{
margin: 3% 3% 3% 3%;
float: left;
max-width: 30%;
height: auto;
}

#main.contents .profileimg img{
padding: 2%;
float: left;
width: 100%;
height: auto;
}

@media screen and (max-width: 724px) {
/*NO11 人物紹介SP*/
#main.contents .profile {
background-color: #CCC;
margin: 10px auto 10px;
width: 100%;
border-radius: 10px 10px 10px 10px / 10px 10px 10px 10px;
border: 1px solid #ccc;
clear: both;
height: auto;
}

#main.contents .profiletext{
padding: 0;
margin: 0;
clear: both;
width: 96%;
text-align: left; 
padding: 2%;
}

#main.contents .profiletext h3{
width: 100%;
clear: both;
margin: 0px 0px 0px 0px;
}

#main.contents .profileimg {
width: 100%;
height: auto;
}

#main.contents .profileimg img{
float: left;
width: 100%;
height: auto;
}
}


/*NO20 テキスト（本文のみ、枠付） */
#main.contents .attention {
    width: 96%;
    margin: 15px auto 15px ;
    padding: 2%;
    background: #efefef;
}

/*トピックス */
#main div.topics {
    *border: 1px solid #ccc;
    width: 100%;
    *height: 300px;
    background-color: rgba(255,255,255,0.5);
    margin: 0px auto 50px;
}

#main .topics dl {
    padding: 5px;
}
#main .topics dt {
    margin: 20px 0px 10px 0px;
    color: #000;
    font-weight: bold;
    margin: 2px 0 0;
}
#main .topics dd {
    color: #111;
    margin: 0px 0px 30px 0px;
    border-bottom: 1px solid #efefef;
}

@media screen and (max-width: 724px){
#main.contents .profileimg {
    width: 100%;
    height: auto;
}
}

@media screen and (min-width: 700px){
#main.contents .profileimg {
    margin: 3% 3% 3% 3%;
    float: left;
    max-width: 30%;
    height: auto;
}

#main.contents .img_image_bg {
    padding: 20px 0px 10px 20px;
    width: 20%;
    height: auto;
    float: left;
}

#main.contents .image_bg_text {
    padding: 10px 0px 0px 10px;
    width: 75%;
    float: left;
    height: auto;
}

#main.contents .image_bg {
    background-repeat: no-repeat;
    width: 100%;
    height: 200px;
}

}


/*
-------------------------------------------
###########################################
★３メニュー Xhtml　　PC(デフォルト)
###########################################
-------------------------------------------
*/

#main.contents div.linkall{
background-color:rgba(255,255,255,0.85);
border: 1px solid #EEE;
box-shadow: 2px 1px 6px #EEE;
float: left;
position: relative;
width: 100%;
margin: 0.05%;
height: 315px;
}

#main.contents div.linkall img{
*top:initial;
*bottom:initial;
*right:initial;
*left:initial;
padding:initial;
*margin: initial;
*color: initial;
width: 100%;
*max-width: 320px;
*margin: 0px auto 0px;
}

#main.contents div.linkall p{
padding:initial;
margin: initial;
}

#main.contents div.linkall p.ddtext{ 
padding:10px;
}


#main.contents div.autoh{
height: auto;
}


div.linkall:hover div.dlinfo p.dtinfo{
color: #FFF;
width: 100%;
overflow: hidden;
height: auto;
}

div.linkall:hover div.dlinfo p.dtinfo img{
  -moz-transform: scale(1.1,1.1);
  -webkit-transform: scale(1.1,1.1);
  -o-transform: scale(1.1,1.1);
  -ms-transform: scale(1.1,1.1);
  transition: 0.3s;
}


div.linkall:hover{
position:relative;
opacity: 0.9;
overflow: hidden;
}

div.linkall{
width: 100%;
overflow: hidden;
}

#main.contents div.linkall p.linkarea{
background-color: #eee;
border: 1px solid #ccc;
position:absolute;
z-index: 1;
bottom: 20px;
right: 20px;
padding:10px;
margin: 5px;
font-size: 13px;
width: 90px;
text-align: center;
color: #000;
}

#main.contents p.linkarea a{
position:relative;
display:block;
width: 100%;
height:100%;
padding:20px;
}

#main.contents p.linkarea:hover{
background-color: #ddd;
border: 1px solid #ccc;
color: #000;
opacity: 0.9;
}


/*ここまで*/




@media screen and (min-width: 724px) {

/*
-------------------------------------------
###########################################
★３メニュー Xhtml　　PC(デフォルト)
###########################################
-------------------------------------------
*/


#main.contents div.linkall{
background-color:rgba(255,255,255,0.85);
border: 1px solid #EEE;
box-shadow: 2px 1px 6px #EEE;
float: left;
position: relative;
width: 32.5%;
margin:0.05%;
height: 315px;
}

#main.contents div.linkall img{
width: 100%;
max-width: 330px;
margin: 0px auto 0px;
}

#main.contents div.autoh{
height: auto;
}


div.linkall:hover div.dlinfo p.dtinfo{
color:#FFF;
width: 100%;
overflow: hidden;
height: auto;
}

div.linkall:hover div.dlinfo p.dtinfo img{
  -moz-transform: scale(1.1,1.1);
  -webkit-transform: scale(1.1,1.1);
  -o-transform: scale(1.1,1.1);
  -ms-transform: scale(1.1,1.1);
  transition: 0.3s;
}


div.linkall:hover{
position:relative;
opacity: 0.9;
overflow: hidden;
}

div.linkall{
width: 100%;
overflow: hidden;
}

/*
#main.contents p.linkarea{
background-color: #eee;
border: 1px solid #ccc;
position:absolute;
z-index: 1;
bottom: 20px;
right: 20px;
margin: 5px;
font-size: 13px;
width: 90px;
text-align: center;
color: #000;
}

#main.contents p.linkarea a{
position:relative;
display:block;
width: 100%;
height:100%;
padding:20px;
}

#main.contents p.linkarea:hover{
background-color: #ddd;
border: 1px solid #ccc;
color: #000;
opacity: 0.9;
}
*/

/*ここまで*/
}

/*
------------------------------------------
###########################################
top3menu
###########################################
-------------------------------------------
*/


.top3menu{
background-color:rgba(255,255,255,0.85);
border: 1px solid #EEE;
*box-shadow: 2px 1px 6px #EEE;
float: left;
position: relative;
width: 33%;
}

.top3menu img{
*max-width: 320px;
}

.top3menu:hover{
background-color:rgba(255,255,255,0.95);
  -moz-transform: scale(0.95,0.95);
  -webkit-transform: scale(0.95,0.95);
  -o-transform: scale(0.95,0.95);
  -ms-transform: scale(0.95,0.95);
  transition: 0.3s;
}




@media screen and (max-width: 724px) {


/*
-------------------------------------------
###########################################
top3menu
###########################################
-------------------------------------------
*/


#main.contents .top3menu{
background-color:rgba(255,255,255,0.85);
border: 1px solid #EEE;
*box-shadow: 2px 1px 6px #EEE;
float: left;
position: relative;
width: 100%;
margin: 5px 0px 5px;
}

#main.contents .top3menu:hover{
background-color:rgba(255,255,255,0.95);
  -moz-transform: scale(0.95,0.95);
  -webkit-transform: scale(0.95,0.95);
  -o-transform: scale(0.95,0.95);
  -ms-transform: scale(0.95,0.95);
  transition: 0.3s;
}

#main.contents .top3menu h3{
border: none;
text-decoration:none;
}
#main.contents .top3menu h2{
border: none;
text-decoration:none;
}

}



/*
-------------------------------------------
▲スマートフォン用　レスポンシブ　4-2-1
-------------------------------------------
*/

.list4{
width: 100%;
margin: 0 auto 0;
border: 1px solid #FFF;
}

.listin{
width: 49%;
background-color:rgba(255,255,255,0.35);
margin: 0.1%;
height: auto;
float:left;
border: 1px solid #EEE;
}



/*◆スマートフォン用　4slider4ヘッダー用*/
/*
-------------------------------------------
###########################################
▲スマートフォン用　4slider4ヘッダー用
###########################################
-------------------------------------------
*/
#main.contents #slider4_hd_all img{
top:initial;
bottom:initial;
right:initial;
left:initial;
padding:initial;
margin: initial;
color: initial;
 width: 100%;
 margin: 0px auto;
}

/*スライダー全体幅ページャーも含む 4slider4*/
#slider4_hd_all{
width: 100%;
margin: 0px auto;
}


.h_sl4_text {
width: 500px ;
position: absolute;
z-index: 1;
top: 10%;
left: 4%;
}




/*noscriptのクラスを使ってスタイルを記述。JavaScriptがOFFのときのみ、適用4slider4*/
div.noscript {
display:none;
}

/*スライダーの元になっているclassでCSSが効かない4slider4 */
.slider4_hd{
width: 100%;

}


/*各スライダー画像の高さ 4slider4*/
.slider_size img{
height: auto;
width: 100%;
}


/*ページャー個別幅 4slider4
.bx-pager-item{
display:none;
}//消す時
*/
/*ページャー個別幅 4slider4*/
#slider4_hd_all .bx-pager-item a{
width:25px;
float:left;
border: 1px solid #CCC;
margin: 1px;
display: block;
text-align: center;
}



/*ページャーの選択された時の動き4slider4 */
#slider4_hd_all .bx-pager-item .active img{
opacity: 0.8;
}
/* prev next 4slider4*/
#slider4_hd_all .bx-prev,
#slider4_hd_all .bx-next{
width: 30px;
top: 35%;
position: absolute;
z-index: 2;
}

#slider4_hd_all .bx-prev {left: 0px; }
#slider4_hd_all .bx-next {right: 0px; }

#slider4_hd_all .prev-next{
 width: 100%;
 margin: 0px auto 0;
 position: relative;
}


/* < start stop > */
#slider4_hd_all a.bx-stop {
padding: 0px 10px 0px;
top: 20px;
right: 20px;
    background-color: rgba(250,250,250,0.8);
    border: 1px solid #CCC;
    width: 40px;
    height: 27px;
    font-size: 18px;
    color: #555;
    position: relative;
    z-index: 2;
    margin: -59px 0px 0px 10px;
    bottom: 0px;
    left: 0px;
    float: left;
}

#slider4_hd_all a.bx-start {
padding: 0px 10px 0px;
top: 20px;
right: 20px;
background-color:rgba(200,200,200,0.8);
border: 1px solid #CCC;
width:40px;
height:27px;
font-size: 18px;
color: #555;
position: relative;
z-index: 2;
margin: -59px 0px 0px 10px;
bottom: 0px;
left: 0px;
float: left;
}

/*ページャー全体 */
#slider4_hd_all .bx-pager {
width: 100%;
position: relative;
float: left;
margin: -40px -75px 0px 75px;
left: 0px;
}

/*ページャー個別 */
#slider4_hd_all .bx-pager a{
width:27px;
height:27px;
float:left;
border: 1px solid #CCC;
margin: 1px;
display: block;
text-align: center;
background-color: #FFF;
opacity: 0.8;
}

#slider4_hd_all .bx-pager a:hover{
background-color: #CFCFCF;
opacity: 0.8;
}



/*
-------------------------------------------
###########################################
▲スマートフォン用　ideaスライダー(ヘッダー用)20150601-
###########################################
-------------------------------------------
*/

#main.contents #idea_slider4_hd_all img{
top:initial;
bottom:initial;
right:initial;
left:initial;
padding:initial;
margin: initial;
color: initial;
 width: 100%;
 margin: 0px auto;
}


/*◆idea_slider4_hd_all*/
#idea_slider4_hd_all {
    width: 100%;
    max-width: 1500px;
    position: relative;
    top: -20px;
    margin: 0px auto 0px;
    overflow: hidden;
}



.idea_h_sl4_text {
    background-color: rgba(255,255,255,0.5);
    border-radius: 15px;
    width: 500px;
    height: 100px;
    position: absolute;
    top: 50px;
    left: 50px;
    z-index: 1;
    padding: 10px;
}


#idea_slider4_hd_all .bx-pager {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 960px;
    margin: -10% auto 10%;
}


#idea_slider4_hd_all .bx-prev {
    left: 5px;
}
#idea_slider4_hd_all .bx-next {
    right: 5px;
}

#idea_slider4_hd_all .bx-prev, #idea_slider4_hd_all .bx-next {
    width: 30px;
    top: 40%;
    position: absolute;
    z-index: 1;
}


#idea_slider4_hd_all .bx-pager-item {
    width: 20%;
    max-width: 200px;
    float: left;
}


@media screen and (max-width: 1000px) {

}










#main.contents #list_slider4_hd_all img{
top:initial;
bottom:initial;
right:initial;
left:initial;
padding:initial;
margin: initial;
color: initial;
 width: 100%;
 margin: 0px auto;
}


#list_slider4_hd_all .bx-prev {
    left: 5px;
}



#list_slider4_hd_all {
    width: 100%;
    max-width: 1500px;
    position: relative;
    height: auto;
    margin: 0px auto 0px;
    overflow: hidden;
}



#list_slider4_hd_all .thumbs {
    position: relative;
    z-index: 1;
    width: 95%;
    max-width: 960px;
    margin: -5% auto 1%;
}

#list_slider4_hd_all .thumbs img {
    width: 25%;
    max-width: 240px;
    float: left;
}

#list_slider4_hd_all .bx-prev, 
#list_slider4_hd_all .bx-next {
    width: 30px;
    top: 45%;
    position: absolute;
    z-index: 2;
}

/*テキストエリア*/
.list_h_sl4_text {
    width: 90%;
    max-width: 960px;
    position: absolute;
    z-index: 2;
    top: 15%;
    left: 0;
    right: 0;
    margin: auto;
}


/*制御系*/
a.bx-start {
    background-color: rgba(233,233,233,0.5);
    padding: 0px 10px 0px;
    font-size: 30px;
    color: #555;
    border: 1px solid #E6E6E6;
    position: absolute;
    top: 20px;
    right: 20px;
}

a.bx-stop {
    padding: 0px 10px 0px;
    font-size: 30px;
    color: #555;
    border: 1px solid #E6E6E6;
    position: absolute;
    top: 20px;
    right: 20px;
}

#list_slider4_hd_all .bx-prev {
    left: 5px;
}

#list_slider4_hd_all .bx-next {
    right: 5px;
}

/*ページャー全体幅 */
#list_slider4_hd_all .bx-pager{
display:none;
}

/*ページャー1個ずつの設定 */
#list_slider4_hd_all .bx-pager-item{
display:none;
}

/*ページャーの選択された時の動き*/
#list_slider4_hd_all .bx-pager-item .active img{
*display:none;
}

#list_slider4_hd_all .thumbs {
*display:none;
}

#list_slider4_hd_all .thumbs img{
width: 25%;
float: left;
}

#list_slider4_hd_all .thumbs img:hover{
opacity: 0.5;
}

@media screen and (max-width: 1000px){
#list_slider4_hd_all .thumbs {
    display: none;
}
#list_slider4_hd_all a.bx-stop {
    display: none;
}
#list_slider4_hd_all a.bx-start {
    display: none;
}
#list_slider4_hd_all .bx-next {
    display: none;
}
#list_slider4_hd_all .bx-prev {
    display: none;
}

}




/*
=========================================
divボタン下
画像（2列）バナーimglist2
=========================================
*/

#main.contents .bg2bb{
width: 100%;
}

#main.contents .bg2bb .bg2_b1{
float:left;
background-position: right top;
background-size: cover;
height: 50%;
min-height: 300px;
position: relative;
z-index:1;
width: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bb .bg2_1_p_bl img{
position: absolute;
bottom: 0px;
right: 0px;
width: 100%;
max-width: 400px;
}

#main.contents .bg2bb .bg2_1_p_bl p{
width: 80%;
max-width: 330px;
position: absolute;
top: 0px;
right: 0px;
float: left;
padding: 10px;

color: #FFF;
}

#main.contents .bg2bb .bg2_1_p_bl a{
text-align: left;
color: #FFF;
}



#main.contents .bg2bb .bg2_b2{
float:right;
background-position: left top;
background-size: cover;
height: 50%;
min-height: 300px;
position: relative;
width: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bb .bg2_2_p_br img{
position: absolute;
bottom: 0px;
left: 0px;
width: 100%;
max-width: 400px;
}

#main.contents .bg2bb .bg2_2_p_br p{
width: 80%;
max-width: 330px;
position: absolute;
top: 0px;
left: 0px;
padding: 10px;

color: #000;
}

#main.contents .bg2bb .bg2_2_p_br a{
text-align: left;
color: #000;
}

/*
=========================================
divボタン上
画像（2列）バナーimglist2
=========================================
*/

#main.contents .bg2bt{
width: 100%;
}

#main.contents .bg2bt .bg2_b1{
float:left;
background-position: right top;
background-size: cover;
height: 300px;
position: relative;
width: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bt .bg2_1_p_bl img{
position: absolute;
top: 0px;
right: 0px;
width: 100%;
max-width: 400px;
}

#main.contents .bg2bt .bg2_1_p_bl p{
width: 80%;
max-width: 330px;
position: absolute;
top: 40%;
right: 0px;
padding: 10px;
color: #000;
}

#main.contents .bg2bt .bg2_1_p_bl a{
text-align: left;
color: #000;
}



#main.contents .bg2bt .bg2_b2{
float:right;
background-position: left top;
background-size: cover;
height: 300px;
position: relative;
width: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bt .bg2_2_p_br img{
position: absolute;
top: 0px;
left: 0px;
width: 100%;
max-width: 400px;
}

#main.contents .bg2bt .bg2_2_p_br p{
width: 80%;
max-width: 330px;
position: absolute;
top: 40%;
left: 0px;
padding: 10px;

color: #000;
}

#main.contents .bg2bt .bg2_2_p_br a{
text-align: left;
color: #000;
}


/*ここまで*/






@media screen and (max-width: 724px) {

/*
=========================================
divボタン下
画像（2列）バナーimglist2
=========================================
*/

#main.contents .bg2bb{
width: 100%;
}

#main.contents .bg2bb .bg2_b1{
float:left;
background-position: right top;
background-size: cover;
height: 50%;
min-height: 200px;
position: relative;
width: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bb .bg2_1_p_bl img{
position: absolute;
bottom: 0px;
right: 0px;
width: 100%;
max-width: 600px;
}

#main.contents .bg2bb .bg2_1_p_bl p{
width: 80%;
max-width: 330px;
position: absolute;
top: 0px;
right: 0px;
float: left;
padding: 10px;

color: #FFF;
}

#main.contents .bg2bb .bg2_1_p_bl a{
text-align: left;
color: #FFF;
}



#main.contents .bg2bb .bg2_b2{
float:right;
background-position: left top;
background-size: cover;
height: 50%;
min-height: 200px;
position: relative;
width: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bb .bg2_2_p_br img{
position: absolute;
bottom: 0px;
left: 0px;
width: 100%;
max-width: 600px;
}

#main.contents .bg2bb .bg2_2_p_br p{
width: 80%;
max-width: 330px;
position: absolute;
top: 0px;
left: 0px;
padding: 10px;

color: #000;
}

#main.contents .bg2bb .bg2_2_p_br a{
text-align: left;
color: #000;
}

/*
=========================================
divボタン上
画像（2列）バナーimglist2
=========================================
*/

#main.contents .bg2bt{
width: 100%;
}

#main.contents .bg2bt .bg2_b1{
float:left;
background-position: right top;
background-size: cover;
min-height: 200px;
position: relative;
width: 50%;
height: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bt .bg2_1_p_bl img{
position: absolute;
top: 0px;
right: 0px;
width: 100%;
max-width: 600px;
}

#main.contents .bg2bt .bg2_1_p_bl p{
width: 80%;
max-width: 330px;
position: absolute;
top: 40%;
right: 0px;
padding: 10px;
color: #000;
}

#main.contents .bg2bt .bg2_1_p_bl a{
text-align: left;
color: #000;
}



#main.contents .bg2bt .bg2_b2{
float:right;
background-position: left top;
background-size: cover;
min-height: 200px;
position: relative;
width: 50%;
height: 50%;
overflow: hidden;
background-repeat: no-repeat;
}

#main.contents .bg2bt .bg2_2_p_br img{
position: absolute;
top: 0px;
left: 0px;
width: 100%;
max-width: 600px;
}

#main.contents .bg2bt .bg2_2_p_br p{
width: 80%;
max-width: 330px;
position: absolute;
top: 40%;
left: 0px;
padding: 10px;

color: #000;
}

#main.contents .bg2bt .bg2_2_p_br a{
text-align: left;
color: #000;
}
}
/*ここまで*/


/*
-------------------------------------------
###########################################
アニメーション
###########################################
-------------------------------------------
*/


#animation {
margin: 50px 0;
font-weight: bold;
color: #ff0000;
}

.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}




/*　共通 360コンテンツ
=========================================*/


.topeditor360{
margin: 0px auto 0px;
position: relative;
z-index:2;
top: 0;
overflow: hidden;
background-size:cover;
*background-size:100% auto;
}

#image2{
text-align: center;
width: 100%;
margin: 0px auto 0px;
position: relative;
z-index:1;
top: 0px;
*max-height: 800px;
min-width: 360px;
*display: block;
}


.topeditor360in{
margin: -35% auto 35%;
position: relative;
z-index:1;
*width: 100%;
max-width: 960px;
}





/*
-------------------------------------------
■PC用　youtube　フルスクリーン
-------------------------------------------
*/

#youtubefull{
*clear: both;
max-width:1400px;
max-height:1400px;
position: fixed; !important;
top: 0px;
z-index: 99;
*position: relative;
*position:absolute; !important;
}

#video-controls {
width:100%;
height: 30px;
background-color:rgba(000,000,000,0.55);
position: relative;
z-index: 99;
top: 0px;
bottom: 0;
left: 0;
right: 0;
text-align: center;
display: none;
}


#ami{
background-image: url(../../file/youtubeback.png);
position: relative;
z-index: 1;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}

#main.contents p.youtube_p{
width:300px;
height:300px;
}


/*
-------------------------------------------
▲スマートフォン用　googleカレンダー
-------------------------------------------
*/


/*googleカレンダー*/
#main.contents div.gcl embed,
object{
max-width: 100%;
}


/*
-------------------------------------------
ヘッダーから上げた動画
-------------------------------------------
*/

.video_wrapper {
margin-top: 35px;
*margin-left:-17px;

    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
background-size:cover;
}

.video_wrapper > video {
*width: 100%;
position: absolute;
background-size:cover;//contain
top: 50%;
left: 50%;
    transform: translateX(-50%) translateY(-50%);

}






/*アコーディオンここから*/



.accordion a {
color: var(--primary-color);
text-decoration: underline;
}


@media screen and (min-width: 601px){
span[class^="gdtext"] {
font-size:2vw;
}
}

.gdtext{
color: var(--primary-color);
font-weight: 500;
}
.gdtext2{
color: var(--gold-color);
font-weight: 500;
}


/*チェックボックスを消す*/
.checkbox{
  display: none;
}
 
/*アコーディオンの大きさと位置調整*/
.accordion{
  width:100%;
  margin: 0 auto 5px;
}

 
/*アコーディオンのラベルの設定*/
.accordion dt{
background-position: left 0px top 12px;
}

.accordion{
border-bottom: solid 1px var(--primary-color);
}

.accordion dt label {
  position: relative;
  display: block;
  padding: 20px 40px 20px 2px;
  cursor: pointer;

color: var(--primary-color);
font-size:2.5vw;
}

/*ラベル内の矢印の設定*/
.accordion dt label::after{
content:"";
display: block;
width: 8px;
height: 8px;
border-top: 2px solid var(--primary-color);
border-right: 2px solid var(--primary-color);
position: absolute;
top: 50%;
right: 10px;
transform: translate(0,-50%) rotate(135deg);
 transition:.4s .4s;
}
 
/*表示される要素の基本設定*/
.accordion dd{
  height: 0;
  transition:.4s;
  overflow: hidden;
  padding: 0 10px;
  border: solid 10px transparent;
background-position: left 4px top 15px;
color: var(--primary-color);
}

/*アコーディオンの↑「border: solid 10px」をリセットする*/
*:where(:not(fieldset, progress, meter)) {
    border-width: 0;
    border-style: solid;
    background-origin: border-box;
    background-repeat: no-repeat;
    outline: none;
}

*, ::before, ::after {
    box-sizing: border-box;
}
* {
    margin: 0;
    padding: 0;
    line-height: calc(.25rem + 1em + .25rem);
}
/*アコーディオンリセットCSSここまで*/





dd a::before{
content: ">";
}
div.faqmov a::before {
content: none;
}
div.faqmov{
margin:40px auto 40px;
}


dd a{
display:block;
margin:20px 0px;
}


@media screen and (min-width: 801px){
dd img{
max-width:800px;
padding:20px;
margin:0px auto 0px;
}

.movie-wrap:hover {
box-shadow:none;
}
}

@media screen and (max-width: 800px){
.accordion dt label {
    position: relative;
    display: block;
    padding: 20px 10px 20px 0px;
    cursor: pointer;
    font-size: 18px;
    color: var(--primary-color);
}

/*ラベル内の矢印の設定*/
.accordion dt label::after{
content: "\";
display: block;
width: 8px;
height: 8px;
border-top: 2px solid var(--primary-color);
border-right: 2px solid var(--primary-color);
position: absolute;
top: 50%;
right: 0px;
transform: translate(0,-50%) rotate(135deg);
 transition:.4s .4s;
}

dd img{
padding:20px 0px;
}


}

/*ラベル内の矢印のアニメーション設定*/
.checkbox:checked ~ dl dt label::after{
  transform: translate(0,-50%) rotate(-45deg);  
}


 
/*表示される要素のアニメーション設定*/
.checkbox:checked ~ dl dd{
  height: auto;
  padding: 70px 0px;
}

/*一番下の商品の余白のみを無くす*/
div#p12362 {
background-color: rgba(0,0,0,1);
box-shadow:none
}

#p12362 > .product-img-area {
display: none;
}

#p12362 > .description-area {
display: none;
}


/*
.page-shaft .product-img-area:last-child {
display: none;
}
*/

#faq01,#faq02{
font-weight: bold;
font-size: 18px;
}


/*アコーディオンここまで*/











/*h2アコーディオンヘッドライン*/

/*アコーディオンh2*/
p.detail_p{
color: var(--primary-color);/*#e3c373*/;
*font-size: 20px;
}

p.center{
text-align: center;
padding: 0px 0px 0px 0px;
}

/* h1ボタン本体 */
h2.btn {
position: relative;
text-align: center;
    *width: 100%;
    height: 100px;
    line-height: 100px;
    overflow: hidden;
    margin:80px auto 0px;
}

@media screen and (max-width: 600px){
h2 .btn_text {
font-size:50px;
}
h2 .btn_text2 {
font-size:30px;
}
}


@media screen and (min-width: 601px){
h2 .btn_text {
font-size:4vw;
}
h2 .btn_text2 {
font-size:3vw;
}
}


/* h2ボタンのテキスト */
h2 .btn_text {
position: absolute;
left: 0;
display: block;
height: 80px;
width: 100%;
*font-size: 50px;
font-weight: lighter;
font-family: system-ui;
color: var(--primary-color);/*#e3c373*/;
margin: 0px auto 0px;
padding: 0px 0px 0px;
transition: all 5s;
}

h2 .btn_text2 {
position: absolute;
left: 0;
display: block;
height: 80px;
width: 100%;
*font-size: 30px;
font-weight: lighter;
font-family: system-ui;
color: var(--primary-color);/*#e3c373*/
margin: 0px auto 0px;
padding: 20px 0px 0px;
transition: all 5s;
}
@media screen and (max-width: 600px){
h2 .btn_text,h2 .btn_text2{
line-height: calc(.01rem + 0.8em + .01rem);
}
}



/* ボタンのテキスト(隠れているテキスト) */
.btn_text2:nth-child(2) {
opacity:0;
transition: 0.2s 0.2s;
}

/* h1ボタンホバーアクション */
.btn:hover .btn_text:nth-child(1) {
opacity:0;
transition: 0.2s 0.2s;
}

.btn:hover .btn_text2:nth-child(2) {
transition: 0.2s 0.2s;
opacity:1;
text-shadow: 0 0 10px #fff,0 0 15px #dec275;
transition: 3s;
filter: drop-shadow(0 0 23px var(--silver-color))
}



.accordion {
text-align: center;
}
.accordion h2 {
position: relative;
}


/*h2アコーディオンヘッドラインここまで*/




/*スライダーここから*/

/*mov　全画面 wrap */

.hero {
  position: relative;
}

/* video */

.video-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* overlay */

.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.4);
}

/* text */

.text-box {
margin:0px 0px 0px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}



/*2下部*/






@media screen and (max-width: 750px){
#w751_pc{
display:none;
}
}

@media screen and (min-width: 751px){
#w750_sp{
display:none;
}
}

.wmc-b{
background-color: #000;
position: relative;
width:100%;
clear: both;
padding: 100px 0px 0px;
}

.slider {
    position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.slider-item01 {
    background:url(./file/sl3.png);
}

.slider-item02 {
    background:url(./file/sl4.png);
}

.slider-item03 {
    background:url(./file/topimage1.png);
}

.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*contain幅をあわせる、cover背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid var(--primary-color);/*#9e9e9e矢印の色*/
    border-right: 2px solid var(--primary-color);/*#9e9e9e矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
	position: relative;
	z-index: 3;
    text-align:center;
	margin:-50px 0 0 0;/*ドットの位置*/
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:var(--primary-color);/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:var(--gray-color);/*ドットボタンの現在地表示の色*/
}

/*スライダーここまで*/



