@charset "utf-8";
/* CSS Document */



/*基本設定
---------------------
---------------------*/

*{
	margin: 0;
	padding: 0;
}

* {
	box-sizing: border-box;
}

html {
  scroll-behavior: smooth; 
}


body {
  font-family: /*"Helvetica Neue",*/Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo, sans-serif;
	color: #555452;
	text-align: center;
	line-height: 1.4;
	background: #fff;
	width:100%;
	height: 100%;
	position:relative;
	font-weight: 500;
	padding-top: 168px!important;
		font-size: 16px;
}

:target {
    scroll-margin-top: 168px;
}


.colorbg,
.colorbg2{
	width: 100%;
	background-color: #fdf7e9 ;
	    padding-top: 20px;
}

.colorbg2{
	margin-top: 60px;
}


.colorbg_w{
	width: 100%;
	background-color: #f4fafb;
	padding: 40px 0;
}



.bg_g{
   	    background: url(../img/bg_g.png) repeat-x 0 bottom;
 	    padding-bottom: 330px;
    margin-bottom: 10px;
	

		
}

.aria,
.aria_w {
	max-width:1024px;
	margin:0 auto;
}




.container{
 width:1024px;
}



/* ▼ グローバル設定（既存） */
a {
    text-decoration:none;
}

a:link,
a:active,
a:visited{
    text-decoration: none;
    color:#555452;
}

a:hover{
    cursor:pointer;
    color:#807d7d;
}

/* 画像ホバー */
a img:hover,
a img:active{
    filter: alpha(opacity=50);
    -moz-opacity: 0.70;
    opacity: 0.70;
}

/* li 内のリンクホバー */
li a:hover,
li a:active{
    filter: alpha(opacity=50);
    -moz-opacity: 0.50;
    opacity: 0.50;
}

/* ボタン類 */
.btn_b:hover,
.btn_b:active,
.btn_b_w:hover,
.btn_b_w:active,
.btn_c:hover,
.btn_c:active,
.btn_i:hover,
.btn_i:active,
.btn_t:hover,
.btn_t:active,
.btn_in:hover,
.btn_in:active{
    filter: alpha(opacity=50);
    -moz-opacity: 0.50;
    opacity: 0.50;
}


/* ▼ ここから qa_link 専用（最強・確実に効く） */
a.qa_link{
    color:#f6b418 !important;
    text-decoration: none !important;

    /* 通常は線なし（透明で高さを確保） */
    border-bottom: 1px solid transparent !important;

    /* ホバー時にふわっと線が出る */
    transition: border-bottom-color .2s ease;
    opacity: 1 !important; /* li a:hover の半透明化を無効化 */
}

a.qa_link:hover{
    color:#f6b418 !important;
    border-bottom-color:#f6b418 !important;
    opacity: 1 !important; /* li a:hover の半透明化を無効化 */
}


/*.mc:hover{
	background: rgba(255,255,255,0.5);
}*/

img {
	border:0px;
	width: 100%;
    height: auto;
}

.pc { display: block !important; }
.sp { display: none !important; }

br.sp_br {
display:none;
}




h1,h2,h3,h4 {
    color:#555452;
	margin-top: 5px;
	margin-bottom:5px;
	font-weight: 100;
}

h2{
	font-size: 1.8rem;
}

h3{
	font-size: 1.6rem;
	
}

h4{
		font-size: 1.4rem;
}

h5{
		font-size: 1.2rem;
}

.head_title {
	margin: 0 auto;
	padding-top: 30px;             
	margin-bottom: 10px;      
    border-bottom: 2px solid;
	width: 95%;
	color:#f6b418;
}


.u{
border-bottom: solid 2px #f6b418;
    margin-bottom: 2rem;
     text-align: left;
}


.w{
border-bottom: solid 2px #0bb6e1;
    margin-bottom: 2rem;
     text-align: left;
}

.sm{
	font-size: 1rem;
}

.color_y{
	color: #f6b418;
	margin-bottom: 3px;
}

.color_w{
	color: #fff;
}



.title_g{
   position: relative;
   border-bottom: 2px solid #f6b418;
	color: #555452;
	margin-top: 20px;
}


.center {
	text-align:center;
}

.right {
	text-align:right;
	padding-right: 10px;
}


p {
	margin-bottom: 8px;
}

li {
	list-style-type: none;
}

strong {
	color: #333;
	font-weight: bold;
	font-size: 1.3rem;
}

.color_b{
	    color: #0bb6e1;
}


hr.style-one {
	width: 80%;
border: none;
background:linear-gradient(to right, white, #f6b418, white);
height: 3px;
margin: 0 auto;
}

hr.style-2 {
	width: 80%;
border: none;
background:linear-gradient(to right, white, #0bb6e1, white);
height: 3px;
margin: 0 auto;
}

.banner_big{
	margin: 20px 0 40px 0;
}

.btn_c,
.btn_c_w,
.btn_t,
.btn_in{
	width:220px;
	background-color: #f6b418;
	padding: 12px;
	display:inline-block;
	border-radius: 4px;
}

.btn_t,
.btn_in{
	width:180px;
	padding: 10px;
}



.btn_c_w{
	background-color: #0bb6e1;
	    margin-top: 30px;
}

.btn_t{
	background-color: rgb(29, 155, 240);
}

.btn_in{
	background-color: #cf2e92;
}

.btn_c img,
.btn_c_w img,
.btn_t img,
.btn_in img{
    width:30px;
   margin-bottom: 0;
}

.btn_c span,
.btn_c_w span,
.btn_t span,
.btn_in span{
    margin-left: 12px;
	margin-top: inherit;
	color:#fff!important;
	font-size: 1.2rem;

}


.btn_c.life{
	width:70%;
	margin: 30px;
}

.btn_t span,
.btn_in span{
    margin-left: 12px;
	vertical-align: super;


}

.btn_b{
	width:180px;
	background-color: #f6b418;
	padding: 10px;
	display:inline-block;
	border-radius: 4px;
}

.btn_b_w{
	width:180px;
	background-color: #0bb6e1;
	padding: 10px;
	display:inline-block;
	border-radius: 4px;
}

.btn_b span,
.btn_b_w span{
    color:#fff;
	font-size: 1.2rem;

}

.btn_e  {
    width: 90%;
    background-color: #524d4d;
    padding: 20px;
    display: inline-block;
    font-size: 1.2rem;
    border-radius: 8px;
	color: #fff!important;
}



.btn_e:hover{
	background: #fff;
	border: solid 2px #524d4d;
border-radius: 8px;
		color: #524d4d!important;
}


.btn_i{
	width:220px;
	background-color: #119db1;
	padding: 10px;
	display:inline-block;
	border-radius: 4px;

}

.btn_i img{
    width:40px;
	margin: 0;
     
}


.btn_i span{
	margin-top: inherit;
	color:#119db1;
	text-align: center;

}


	
.bg_seethrough {
   	background: linear-gradient( rgba(255,255,255,0),#fff 70% ), url("../img/ttl_wall.jpg");

			
	/*background: linear-gradient(to bottom, transparent 0%, transparent 70%,  #fff 100%), url("../img/ttl_wall.jpg");*/
    background-repeat: no-repeat;
    background-position: center top;
background-size: cover;
}


.bg_seethrough_w {
   	background: linear-gradient( rgba(255,255,255,0),#fff 100% ), url("../img/ttl_wall_we.jpg");

			
	/*background: linear-gradient(to bottom, transparent 0%, transparent 70%,  #fff 100%), url("../img/ttl_wall.jpg");*/
    background-repeat: no-repeat;
    background-position: center top;
background-size: cover;
}


.top_ttl,
.top_ttl_w{
    position: relative;
    margin: 35px 0　0;
    text-align: center;
/*    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;*/
    padding: 35px 0 0 0;

}

.top_ttl_w{
    height: auto;
	    margin-bottom: 40px;
}

.top_ttl_com{
	    position: relative;
	text-align: center;
    padding: 35px;
 
}


.ttl,
.ttl_w{
    font-size: 2.4rem;
    color: #555;
    font-weight: 200;
    line-height: 1;
}


.ttl_w{
    color: #0bb6e1;
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝B", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.top_ttl,
.top_ttl_com span {
    display: block;
    font-size: 1.4rem;
       font-weight: 300;
    color: #f6b418;
}

.top_ttl_w span {
    display: block;
    font-size: 1.4rem;
       font-weight: 300;
    color: #555;
}

.intro{
	font-size:1rem;
	line-height: 1.6;
	padding: 0 30px;
	    margin: 0 auto;
    text-align: left;
    max-width: 980px;
}

.check{
	color: #ec1f4a;
	font-weight: 600
}
	

.intro_w{
	font-size:1.4rem;
	line-height: 1.6;
	padding: 0 30px;
	    margin: 0 auto;
    text-align: left;
    max-width: 980px;
	
}



.sub_t {
    font-size: 1.4rem;
    color: #333;
    line-height: 1.6;
    border-bottom: 1px solid #333;
    text-align: left;
    margin-bottom: 1.2rem;
    margin-top: 2rem;
    font-weight: 400;
}

.sub_t2 {
    font-size: 1.4rem;
    color: #f6b418;
    line-height: 1.6;
     text-align: left;
    margin-bottom: 2rem;
    margin-top: 2rem;
    font-weight: 300;
}


.back-to-top {
      position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 999px;
    background: #555452;
    color: #ffeaac!important;
    font-size: 16px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
    opacity: 0.8;
    transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}



.back-to-top:hover {
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.3);
}

.back-to-top:hover,
.back-to-top:active {
    filter: none !important;
    opacity: 1 !important;
}



/* header
------------------------
------------------------*/

header {
	 position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	height: 95px;
  z-index: 1000;
  background: #fff;
}

header .header_main{
    width: 100%;
    padding: 8px 20px;
    display: flex;
    align-items: flex-end;
}

.head_left{
	flex: 4;
}

.head_right{
	float:right;
	line-height: 0;
}

.head_right ul{
	float: left;
    align-items: flex-end;
    display: flex;
}

.head_right ul li{
	margin-right: 10px;
}

header .logo{
	float:left;
    margin: 20px 0 0 ;
	padding: 0;
	text-align: left;
}

header .logo img{
		width:300px;
	margin-right: 10px;
}

.tel_m{
font-size: 1.4rem!important;
    text-align: center;
    margin-right: 5px;
	margin-top: 10px!important;
	}

.tel_m img{
	width: 30px;
	margin-right: 5px;
	vertical-align: sub;
}

header .tel_m{
	text-align: right;
	font-size: 1.26rem;
}


header .prod{
	display: inline-block;
	color: #f6b418;
    font-size: 1.26rem;
	    font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "MS PMincho", "MS Mincho", serif;
	    font-weight: 600;
}

header .btn_3{
	/*display: flex;*/
	gap:10px;
}

/*header .btn_c img{
    width:30px;
    margin-left: 2px;   
}*/


header .btn_c {
  padding: 14px;
    color: #fff;
    width: 120px;
	    border-radius: 30px;
	font-size: 18px;
}

header .btn_c.typeb {
    color: #ec1f4a;
	border: solid 2px #ec1f4a;
	    background: #fff;
}

header .btn_c.typec {
    color: #fff;
	border: solid 2px #ec1f4a;
	    background: #ec1f4a;
}

/*header .btn_c span{
    margin-left: 12px;
	margin-top: inherit;
	color:#fff;
	font-size: 1.2rem;

}*/





/*グローバルメニュー
------------------------
------------------------*/

#menu {
    width: 100%;
    height: 62px;
    margin-bottom: 15px;
    background-color: #f6b418;
    display: flex;
    position: fixed;
    top: 94px;
    left: 0;
    z-index: 999;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    font-size: 17.5px;
}

#menu ul{
    width:100%;          /* ← 画面幅いっぱい */
    max-width:none;      /* ← 1480px を解除 */
    margin:0;            /* ← 中央寄せ解除 */
        overflow: hidden;
}

#menu ul li {
    display:inline-block;
    letter-spacing: normal;
    padding: 0 10px;
}




#menu ul li:after {
	content:"";
	padding-left:0.9rem;
	line-height:0.8rem;
}


#menu ul li a {
	color: #fff;
}

#menu ul li a:hover {
	border-bottom: 2px solid #fff;
  	margin-bottom: 2px;
	padding-bottom: 2px;
	filter: none;
	opacity: 1;
	}




@media screen and (max-width:1080px) {
	
	    #menu ul li.home {
        display: none;
	}
}



/*\\\*/


/*====================================================================
slick
====================================================================*/

.sliderArea {
  width: 100%;
  margin: 0 auto;
  padding: 0 ;
	margin-bottom: 70px;
}
.sliderArea.w300 {
  max-width: 300px;
}
.slick-slide {
  margin: 0 5px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
/*.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}*/
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}







.top {
	width:100%;
	margin-bottom: 40px;
	margin-top: 40px;
}




.ichiran3{
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:center;
	padding: 10px;

}

.ichiran3 .mc{
box-sizing: border-box;
margin: 0;
width: 33.33333333%;
height: 150px;
}

.ichiran3  .mc .side {
box-sizing: border-box;
}

.ichiran3 .mc .side .sp_title{
    display: none;
}

.ichiran3 .mc{
margin:5px;
width:calc(33.3333333% - 100px / 3);
}

.ichiran3 .mc:nth-child(3n){
margin-right:0;
}

.ichiran3 .btn_c{
	margin: 30px; 
}

.ichiran3 .btn_c span{
	margin-left: 0;
}

.mc_menu {
    margin-bottom: 40px;
    padding: 5px;
}

/* ▼ PC：横一列で均等幅 */
ul.mc_nav {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
}

ul.mc_nav li {
    flex: 1;
    border: 1px solid #e2d1a8;
    border-left: none;
    margin-top: 40px;
    padding: 2rem 0;
    background: #fff;
    color: #333;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
    transition: ease 0.2s opacity;
}

/* アクティブ */
ul.mc_nav li#active,
ul.mc_nav li#active a {
    background-color: #f6b418;
    color: #fff !important;
}

/* 最初の li */
ul.mc_nav li:first-child {
    border-left: 1px solid #e2d1a8;
    border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

/* 最後の li */
ul.mc_nav li:last-child {
    border-top-right-radius: 4px;
	    border-bottom-right-radius: 4px;
}

@media (max-width: 640px) {
    ul.mc_nav {
        flex-wrap: wrap;
		        margin-top: 12px;
    }

    /* 3列（33.333%） */
    ul.mc_nav li {
        flex: 0 0 33.333%;
        margin-top: 0;
        padding: 1.5rem 0;
        border-top: none; /* ← まず全 li の上線を消す（重なり防止） */
    }

    /* 左列（1,4,7…）の枠線 */
    ul.mc_nav li:nth-child(3n+1) {
        border-left: 1px solid #e2d1a8;
    }

    /* ▼ 上段（1〜3）の上に線を入れる */
    ul.mc_nav li:nth-child(-n+3) {
        border-top: 1px solid #e2d1a8;
    }

    /* ▼ 2段目（4〜6）の上にも線を入れる → 段の間に1本の線 */
    ul.mc_nav li:nth-child(n+4):nth-child(-n+6) {
        border-top: 1px solid #e2d1a8;
    }

    /* スマホでは角丸なし */
    ul.mc_nav li:first-child,
    ul.mc_nav li:last-child {
        border-radius: 0;
    }

}



.ichiran2 {
   margin: 0 auto;
display:inline-block;
	margin-bottom: 20px;
	width: 100%;
}

.ichiran2 .banner{
	
}

.ichiran2 .banner img{
	margin: 10px 0;
	    padding: 16px 0;
}



.mc {
	float: left;
/*	width:500px;*/
		width:49.5%;
	background-color: #fff;
	padding: 5px;
	/*margin: 10px 5px ;*/
	margin-top: 10px;
	margin-right: 1%;
	display: inline-block;
	height: 150px;
}


.mc:nth-of-type(2n) {
	margin-right: 0;
}


.mc img{
	display: block;
	width: 100px;
	float:left;
	
}

.mc_k img{
	width: 100%;
}

.mc .side {
/*	width:345px;*/
	margin-left: 105px;
	padding:0 5px;
	text-align: left;
	
}

.mc .side .name{
	width: 98%;
	border-bottom: 2px solid #e2d1a8;
    float:left;
    color:#f6b418;
	margin-top:5px;
	font-size: 1.1rem;
	display: inline-block;
	
}

.name strong {
        background: #f6b418;
    padding: 3px;
    margin-left: 15px;
    color: #fff;
    vertical-align: text-top;
    font-weight: normal;
    font-size: 14px;
}

.mc .side .name span{
    font-size: 0.9rem;
	color:#e2d1a8;
	margin-left: 10px;
	

}



.mc .side .title{
    color:#555452;
	margin-top: 5px;
	font-size:0.8rem;
	font-weight:bold;
	display: inline-block;
	font-feature-settings: "palt";
}





.mc .side .come  {
	text-align: left;
	margin-bottom: 0;
	display: inline-block;
	    font-size: 0.8rem;
    line-height: 1.4rem;
}

.mc:last-child{
	display: block;
	
}




.ichiran2.single{
	/*display: inline-block;*/
	margin-bottom: 30px;
	padding-left: 5px;
}


	
.box,
.box_w{
	position: relative;
	display: table-cell;
    vertical-align: middle;
	padding: 5px;
	margin: 0 auto;
	margin: 40px 0;
	float: left;
	
}

.box .photo,
.box_w .photo{
	width: 50%;
		display: table-cell;
    vertical-align:middle;
		float:left;
}

.box .photo_r,
.box_w .photo_r{
		width: 50%;
		display: table-cell;
    vertical-align:middle;
	float:right;
}


.box .side,
.box_w .side{
			display: table-cell;
	padding:0 20px 20px;
    vertical-align: middle;
}

/*.box .side h3{
		margin-bottom:8px;
	    color: #f6b418;
}*/

.box .side h3,
.box_w .side h3{
    margin:  0;                
    font-size:  24px;          
	color: #555452;
    position:  relative;      
    font-weight:  normal;     
    display:  inline-block;   
    padding-top: 40px;         
    padding-left: 40px;       
    padding-bottom: 30px;     
}

.photo_t h3{
	color: #0bb6e1;
}

.box .side h3:before{
    content:  '';               
    background-color: #ffeaac;  
    display:  block;            
    position:  absolute;       
    left:  0;                  
    height: 90px;              
    width: 90px;               
    border-radius:  50%;       
    top: 0;                    
    z-index:  -1;              
}


.box_w .side h3:before{
	  content:  '';               
    background-color: #8ad9ed;  
    display:  block;            
    position:  absolute;       
    left:  0;                  
    height: 90px;              
    width: 90px;               
    border-radius:  50%;       
    top: 0;                    
    z-index:  -1;              
}

/*.photo h3:before{
	  content:  '';               
    background-color: #8ad9ed;  
    display:  block;            
    position:  absolute;       
    left:  0;                  
    height: 90px;              
    width: 90px;               
    border-radius:  50%;       
    top: 0;                    
    z-index:  -1;              
}*/

.box .side p,
.box_w .side p{
  /*  font-size: 1.1rem;*/
	text-align: left;
	display: block;
}

.contact_area {
	background-color: #f7dfa8;
	padding:1.2rem 0.8rem;
	color:#555452;
    margin: 40px 0;
	}

.contact_area.life {
    background-color: #eafdd9;
}


.contact_area .btn_c{
	width:520px;
	border-radius: 4px;
}

.contact_area.life .btn_c{
    background-color: #090;
}

/*.contact_area .btn_c span{
	font-size: 1.4rem;

}*/


.contact_area p{
	color:#555452;
	font-size: 1.2rem;
    margin-top: 20px;
}

.contact_area.life p{
	color:#090;
}

.contact_area p.tel {
    /*margin-left: 12px;*/
	margin-top: 10px;
	color:#555452!important;
	font-size: 1.6rem;

}

.banner_area  {
    display: inline-block;
    margin: 0 0 30px 0px;
}

.sns {
    margin: 30px 0 0;
}


.banner_area li{
	/*width:300px;*/
	float:left;
	margin-right: 8px;
	display: inline-block;
	padding:5px 0;
	
}

.banner_area li.last{
	margin-right: 0px;
	
}


/* footer
------------------------
------------------------*/


footer{
	width:100%;
	background-color: #fdf7e9;
	margin-top: 70px;
}


footer .office {
	max-width: 1024px;
/*	margin:0 auto;*/
	padding: 30px 0 5px;
	overflow: hidden;
	
	}

footer .office_left{
	float:left;
	/*width: 600px;*/
	margin-bottom: 20px;
}

footer .office_right{
	float:right;
	line-height: 0;
	text-align: center;
}

footer .logo{
	display: block;
	width:320px;
	margin: 20px 0 0 ;
	padding: 0;
}

footer p{
	line-height: 1.4rem;
	font-size: 1.2rem;
	margin-bottom: 16px;
	text-align: left;
	}

footer p.tel{
		text-align: center;
	}

footer .btn_c{
	display:block;
	margin-bottom: 10px;
	margin-top: 20px;
}

footer .copy {
	background-color: #f6b418;
	padding:1.2rem 0.8rem;
	color:#fff;
	text-align: center;
	font-size: 1.2rem;
	}




.f_menu ul {
    list-style: none;
    display: flex;
    justify-content: center;
    padding-top: 19px;
    margin-bottom: 20px;
	font-size: 0.9rem;
	
}

.f_menu li {
    border-right: 1px solid #555452;
    padding: 0 15px;
}

.f_menu li.last {
    border: none;
}


			.f_menu li a{
		color: #555452!important;
}

.f_menu li a:hover{
border-bottom:2px solid #555452;
text-decoration:none;
}

/*-----*/

.clearfix::after {
   content: "";
   display: block;
   clear: both;
}


.sn{
	display: contents;
	float:right;
} 

.sn img{
	    width: 30px;
    margin: 0 2px;
}




		

/*タブ切り替え全体のスタイル*/
.tabs {
  	width:100%;
	margin:0;
}
/*タブのスタイル*/
.tab_item {
  width:16%;
	border:1px solid #e2d1a8;
	border-left:none;
	margin:0;
	display:block;
	float: left;
	padding:2rem 0;
	background:#fff;
	color: #555452;
	font-size:1rem;
	text-align:center;
	cursor:pointer;
	transition:ease 0.2s opacity;
}

.tab_item .first {
	width: 18%;
	border-top-left-radius:4px;
	border-left:1px solid #e2d1a8;
	
}
	
.tab_item .last {
	width: 18%;
	border-top-right-radius:4px;
}		

		
			
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  padding-top: 40px;
  clear: both;
  overflow: hidden;
}


/*選択されているタブのコンテンツのみを表示*/
#kanto:checked ~ #kanto_content,
#tohoku:checked ~ #tohoku_content,
#tokai:checked ~ #tokai_content,
#kinki:checked ~ #kinki_content,
#chugoku:checked ~ #chugoku_content,
#kyushu:checked ~ #kyushu_content {
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #f6b418;
  color: #fff;
}


.price,
.flow,
.rea{
	padding: 30px 20px;
}

.reason{
    padding: 20px 0 0 10px;
}

.price p{
	background: #fdf7e9;
	padding:10px;
	color:red;
}

.price span{
	color:#555;
}


	
.p_li,
.p_li2,
.p_li_w,
.p_li2_w{
	text-align: left;
	padding: 15px;
	text-align: left;
	margin-bottom: 0;
	font-size:1.3rem;
		float:left;
}


.p_li,
.p_li_w{
	width: 60%;
	color: #fff;
	background:#f6b418;
	text-align: left;
		float:left;
}

.p_li_w{
	background: #0bb6e1;
}



.p_li2,
.p_li2_w{
width: 40%;
color: #555;
background: #f3e1b5;
float: right;
}

.p_li2_w{
	background: #d6eef4;
}

.p_li3,
.p_li3_w{
	width: 100%;
	background: #fff;
		padding: 20px 30px;
	display: inline-block;;
	margin-bottom: 50px;
		text-align: left;
}

.p_li3_w{
	border: solid 1px #d6eef4;
}

.flow p{
/*	padding:10px;*/
}
	
.flow .p_li,
.flow .p_li2{
	padding: 10px;
	margin-bottom: 0;
	font-size:1.3rem;
		float:left;
}




.flow .p_li{
	width: 30%;
	color: #fff;
	background:#f6b418;
	text-align: center;
		float:left;
}

.flow .p_li_w{
	width:30%;
}


.flow .p_li2{
width: 70%;
color: #555;
background: #f3e1b5;
	text-align: left;	
float: right;
}

.flow .p_li2_w{
	width: 70%;
}

.flow .p_li3{
	width: 100%;
	background: #fff;
		padding: 20px 30px;
	display: inline-block;
	margin-bottom: 50px;
		text-align: left;
}



.reason {
	display: flex;
	width:100%;
	margin-bottom: 20px;
}

.reason .p_li,
.reason .p_li2{
	padding: 10px;
	margin-bottom: 0;
	font-size:1.2rem;
}


.reason .p_li{
color: #fff;
	background: #f6b418;
float:left;
	width:20%;



}


.reason .p_li3{
	width: 80%;
	background: #fff;
		padding: 20px 30px;
	display: inline-block;
		text-align: left;
	margin-bottom: 0;
float: right;
}

.reason .num{
		text-align: center;
	vertical-align: middle;
	color: #fff;
}



.reason .p_li span{
	display: block;
		font-size: 2rem;
}



.reason .btn_c {
	text-align: center;
	padding: 10px;
}

.reason .btn_c span{
		font-size: 1rem;
	
	
}

.p_li3 ul,
.p_li3_w ul{
	margin: 10px;

	}

.p_li3 li,
.p_li3_w li{
	list-style:disc;
	font-size: 1rem;
}


.office,
.contact{
	margin: 0 auto;
	padding: 0 35px;

		}
	

.info,
.info2,
.supp,
.ex{
	padding: 30px 20px;
	background: #ebf9fb;
	margin: 60px 0;
	display: inline-block;
}

.supp.life{
	background: #eafdd9;
	margin-top: 0;
}



.info2{
	background: #fdf7e9;
}

/*.ex{
	background: #fdf7e9;
}*/

.supp,
.ex{
		margin: 30px 0;
}

.info .top_ttl,
.info2 .top_ttl,
.supp .top_ttl,
.ex .top_ttl{
	padding: 0;
	margin-bottom: 30px;
	
}

.ex .top_ttl h4{
	color: #119db1;
	    padding: 10px;
	font-size: 1.2rem;
}

.ex .top_ttl span{
background: #119db1;
	color: #fff;
	padding: 10px;
	margin-right: 10px;
	border-radius: 4px;
}
	
	
.info .top_ttl span,
	.supp .top_ttl span{
	color: #119db1;
}

.supp .top_ttl span{
    border-bottom: solid 2px #119db1;
    padding: 10px;

}

.supp.life .top_ttl span{
	color: #090;
		 border-bottom: solid 2px #090;
}


.info2 .top_ttl span{
	color: #f6b418;
}







.info_box{
	text-align: left;
	padding: 20px;
	text-align: left;
	margin: 30px;
	background: #fff;
}

.info_box p{
margin: 20px 0;
}

.info_box2{
	padding: 20px;
}


.info_t{
	background: #119db1;
	color: #FFF;
	padding: 5px;
	font-weight: 300;
}

ul.ex_menu{
	text-align: left;
	overflow: hidden;
	    display: flex;
    justify-content: center;
	margin: 30px 0;
	padding: 0 10px;
}

ul.ex_menu li{
	float: left;
	border-right: 1px solid #555452;
	padding: 0 15px;
}


ul.ex_menu li.last {
    border: none;
}
		
		
		
ul.ex_menu li a {
	display: block;
position: relative;
}
		
		ul.ex_menu li a:hover {
			border-bottom: solid 1px;
		}
		
		.ex_menu span{
				color:#119db1; 
		}



	
.supp_box,
.ex_box{
	position: relative;
	display: table-cell;
    vertical-align: middle;
	padding: 20px;
	margin: 0 auto;
	float: left;
	background: #fff;
	text-align: left;
	width:100%;
}

.supp_box .photo,
.ex_box .photo{
	width: 50%;
		display: table-cell;
  		float:left;
}

.ex_box .photo{
	width: 30%;
}

.supp_box .photo_r {
		width: 50%;
		display: table-cell;
    vertical-align:middle;
	float:right;
}


.supp_box .side,
.ex_box .side{
			display: table-cell;
	padding:0px 10px 0 ;
    vertical-align: middle;
}

/*.box .side h3{
		margin-bottom:8px;
	    color: #f6b418;
}*/


.supp_box .side p,
.ex_box .side p{
  /*  font-size: 1.1rem;*/
	text-align: left;
	display: block;
	padding-top: 10px;
}

.ex_box .side p{
	padding: 0 0 0 12px;
}

.ex_box .side .text{
border-bottom: solid 1px #ccc;
border-top: solid 1px #ccc;
margin: 10px 0;
    padding: 12px;
}
		
dt, dd {
    margin: 0 auto;
    padding: 0;
}
		
		 dl .news {
 
 line-height: 2;
  flex-wrap: wrap;
}

dl.table dt {
   border-top: solid 1px #c8c8c8;
width:30%;
    padding:15px 0;
	float:left;
    vertical-align: top;
	
	
}
		


dl.table dd {
	width:70%;
  border-top: solid 1px #c8c8c8; 
    padding-top: 15px;
    padding-bottom: 15px;
	text-align: left;
	display: inline-block;

}

.form{
	margin: 30px 0;
}

.form dl {
	    margin: 0;
    padding: 0;
    border-top: 1px solid #c8c8c8;
	width: 100%;
	display: flex;
	text-align: left;
}

.form dl.last {
	    border-bottom: 1px solid #c8c8c8;
}

.form dl dt {
display: table-cell;
    font-size: 15px;
    vertical-align: top;
	background: #faf3e6;
    float: none;
    margin: 0;
    padding: 17px 10px 15px 15px;
position: relative;
	width: 30%;
	line-height: 1.6;
}

.form span{
	 float: right;
    font-size: 12px;
    line-height: 1.58;
    letter-spacing: .24px;
    color: #fff;
    padding: 2px 7px;
    background: #ec1f4a;
    min-width: 40px;

}

.form dd {
    padding: 15px;
	text-align: left;
	display: inline-block;
    float: none;
	width: 70%;
}




input,
textarea
{
	  margin-left: 20px;
  padding-left: 1em;
  padding-right: 1em;
  flex: 1;
	    line-height: 1.6;
    font-size: 1rem;
	border:solid 1px #c8c8c8;
}

textarea#coment {
  width:100%!important;

}

input#office,
input#name,
input#place,
input#email,
input#tel{
	width:100%!important;
}


input#form_tel,
input#form_information,
input#form_contact{
	margin-left: 16px;
}

input#button{
	-webkit-appearance: none;
	position: relative;
    display: inline-block;
    border: 1px solid #f6b418;
    background-color: #f6b418;
    color: #fff !important;
    text-align: center;
    margin: 20px;
    vertical-align: top;
    font-size: 18px;
    padding: 10px;

}

input#button:hover,
input#button:active{
	filter: alpha(opacity=50);
	-moz-opacity: 0.50;
	opacity: 0.50;
}




.bil_menu{
	display: flex;
    margin: 30px 0;
    padding: 5px;
}

 ul.bil_nav  {
        list-style:none;
        text-align:center;
        margin:0 auto; 
	 margin-top: 30px;
	 width:960px;
	 
	 display: flex;        /* ← 追加 */
    flex-wrap: wrap;      /* ← 追加 */
    padding: 0;
		    }

 ul.bil_nav li {
	 width:25%;
     padding:25px;
     list-style: none;
	 border: solid 1px #e2d1a8;
	 box-sizing: border-box;
	 background-color: #fff;
    }

ul.bil_nav li a { 
	    padding:5px;
        display:block; 
        text-decoration:none;
        color:#555;
    }

   ul.bil_nav  li#active,
 ul.bil_nav li#active a {
        background:#f6b418;
        color:#fff!important;
    }



/*wedding*/

.w_menu{
	display:flex;
    margin-bottom: 40px;
    padding: 5px;
}

 ul.w_nav  {
        list-style:none;
        text-align:center;
        margin:0 auto; 
	 width:980px;
		    }

 ul.w_nav li {
	 width:25%;
     padding:25px;
     float:left;
	 border: solid #b0c9cf 1px;
	 background-color: #fff;
    }

ul.w_nav li a { 
	    padding:5px;
        display:block; 
        text-decoration:none;
        color:#555;
    }

   ul.w_nav  li#active,
 ul.w_nav li#active a {
        background:#75d1e8;
        color:#fff!important;
    }


/*.photo{
	width: 900px;
    margin: 0 auto;
    padding: 30px;

	    margin-bottom: 25px;
	
}*/

.photo_box{
	border:solid 1px #333;
    padding: 30px;
width: 90%;
	margin: 0 auto;
	margin-bottom: 20px;
}

.photo_box2{
    padding: 20px;
width: 90%;
	margin: 0 auto;
	margin-bottom: 40px;
		border:solid 1px #333;
}


.photo_t,
.photo_t2{
	text-align: center;
}

.photo_t2 h3 {
    color: #f6b418;
}

.photo_t2 h3 span {
    color: #222;
	font-size: 1.4rem;
	margin-left: 5px;
}

.photo_side{
	padding: 20px;
	background-color: #d6eef4;
	text-align: left;
	font-size: 1.1rem;
}

.photo_side ul{
  padding: 10px;
}
	
.photo_side li{
		list-style: disc;
}


@media (max-width: 960px) {

.area {
	width: 90%;
    max-width: 864px;
}

header .container {
	justify-content: space-between;
}
	
	header .header_main {
    width: 95%;
	}

.head_left {
    width: 40%;
}
	
footer .office {
	width: 95%;
	}
	
		#menu ul {
			width: 100%;
	}
	
	#menu ul li.home{
		display:none;
	}
	
		#menu ul li{
	padding: 10px 0px 0 10px ;
	}
			
	.mc .side .come {
		display: none;
	}
	


.ichiran3 .mc .side .title{
	 display: none;
    }
	
	.ichiran3 .mc .side .sp_title {
		display: block;
	
	}
	
			
	.mc .side .come {
		display: none;
	}
	
	.mc .side .name span {
	display:none;
	}
	
	.mc .side .name span {
	display:none;
	}

/*	.ichiran2	.mc {
		width: 48%;
	}*/
	
	.photo_t2 h3 span {
    display: block;
		margin-left: 0;
}
	
	ul.bil_nav li {
     padding:10px 4px;
     font-size: midium;
    }

	
	
}



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

body {
	background: none;
	box-sizing:border-box;
	padding-top: 10px !important;
		
}
	
html, body, div, span,
h1, h2, h3, h4, h5, h6, p, a,
img,  strong,
ul, li
	{
	vertical-align: baseline;
	margin: 0;
	padding: 0;
	border: none; 
}


html,
body, header,
ul, li,
header .main	{
	width: 100%;
}

a:hover{
	text-decoration: none;
	}


img {
    width: 100%;
height: auto;
	/*margin-bottom: 15px;*/

}
	
    .pc { display: none !important; }
    .sp { display: block !important; }	
	
	br.sp_br {
display:block;
}
	
header {
	 position: relative;
	height: 50px;
}	
	
header .header_main {
	width:95%;
	padding: 0;
	    align-items: center;

			}
	
.head_left {
    width: 70%;
	}
	
	

	
.head_right .sp_mail {
	width:40%;
	}
	
/*header {
	padding: 0;
	}*/
	
	header .logo  {
		margin: 0;
	}
	
header .logo img {
width: 220px;
	}
	
	header .prod {
    font-size: 1rem;
	}


	.right {
    margin: 0 0 0 auto;
}

	#menu{
		height: auto;
		        position: static;
	}
 
#menu ul {
width: 100%;
margin-top: 0;
padding: 0;
}
	

#menu ul li {
	float:left;
	width:50%;
	display: block;
    text-align: center;
    border-right: 1px solid #fff;
	    border-bottom: 1px solid #fff;
	padding: 10px;
}	
	
	#menu ul li.bil,
		/*#menu ul li.nar	,*/
			#menu ul li.last	{
		border-right:none;
	}
	
		/*#menu ul li.wed,*/
			#menu ul li.last	{
		border-bottom:none;
	}
	
	
	#menu ul li.home,
	#menu ul li.life,
	#menu ul li.qa
		/*#menu ul li.sup*/{
		display:none;
	}
	
	
.head_title {
	font-size: 1.4rem;
	}
	
	
	.aria_w {
	padding: 0 5px;
}
	
	
	.ichiran3 {
		width: 100%;
			}	

.ichiran3 .mc {
	width:30%;
	background: none;
	height: 185px;
}

.ichiran3 .mc img{
	display: block;
	
	border-radius: 50%;
}

.ichiran3  .mc .side {
    width: inherit;
	display: table-cell;
	padding: 0;
	
}
	
	.ichiran3 .mc .side .sp_title{
	font-size: 0.8rem;
		text-align: center;
		color: #f6b418;
		display: block;
		        line-height: 1rem;
        margin-top: 0.1rem;
	}
	
	
	.ichiran3 .mc .side .sp_title.w{
		color: #0bb6e1;
		border-bottom: none;
	}
	
.ichiran3 .mc .side .name {
   display: none;
}

.ichiran3 .mc .side .title{
	 display: none;
    }

	


.ichiran3  .mc .side .come  {
	display: none;
}
	
	.ichiran2{
		width: 98%;
	}
	
		.ichiran2	.mc {
		width: 100%;
	}
	
.contact_area p{
	font-size: 1rem;
	margin-bottom: 5px;
	}
	
	.contact_area p.tel {
   font-size: 1.4rem;
	}
	
	.box,
	.box_w{
		display: block;
	}	
	
.box .photo,
.box .photo_r,
.box_w .photo,
.box_w .photo_r{
	display: block;
	width: 100%;
	}
	
.supp_box .photo,
.ex_box .photo,
.supp_box .photo_r{
	display: block;
	width: 100%;
	}

.ex_box .side {
    padding: 0;
	}
	
.supp .top_ttl span{
	font-size: 1.2rem;
	border: none;
}
	
	.ex .top_ttl {
	margin: 0;
	}
	
.ex .top_ttl h4 {
		font-size: 1.2rem;
	    margin-right: 0;

	}
	
	.ex .top_ttl span {
		display: block;
	}
	
	
	.ex .top_ttl span {
		padding: 3px;
	}
	
	.banner_area {
		width: 100%;
	}
	
.banner_area li {
	display: block;
	}
	
.banner_area img {
	width: 90%;
	}
	
.btn_t img,
.btn_in	img{	
	width:10%;
}
	
.btn_t,
.btn_in {	
	width:70%;

}	


	
.contact_area .btn_c {	
	width:70%;
	border-radius: 4px;
}
	
	footer{
		text-align: center;
		margin: 0 auto;
	margin-top: 70px;
	}	
	

	
footer .office_left {
   margin: 0 auto;
	    display: block;
    margin-left: 30px;
	}
	
footer .office_left img{
  width: 70%;
	}
	
	footer .office_left span{
  font-size: 0.9rem;
	}
	
	footer p {
		text-align: center;
		margin-top: 10px;
	}
	
	footer .office_right{
		width: 100%;
	}	
	
	footer .copy {
	width:100%;
		font-size: 12px;
	}

	footer .btn_c {
		width:60%;
		margin: 0 auto;
	}
	
	.btn_c img {
		margin-bottom: 0;
	}
	
	footer p.tel {
    margin-top: 5px;
    font-size: 1.4rem;
		color: #555452!important;
}
	
	.f_menu ul {
    display: block;
    padding: 20px;
}
	
	.f_menu li {
    position: relative;
    padding-left: 17px;
    list-style: none;
}
	.f_menu li, .f_menu li.last {
    line-height: 2.2;
    border-bottom: 1px solid #555452;
    text-align: left;
    border-right: none;
}
	

	.f_menu li:before {
    content: '';
    display: inline-block;
    position: absolute;
    left: 2px;
    top: 12px;
    width: 5px;
    height: 5px;
    border-bottom: 1px solid #555452;
    border-right: 1px solid #555452;
    transform: rotateZ(-45deg);
}
	
	.f_menu li a{
		color: #555452!important;
	}
	
	.f_menu li a:active,
	.f_menu li a:hover {
	filter: alpha(opacity=50);
	-moz-opacity: 0.50;
	opacity: 0.50;
}
	
	
	
	
	.btn_b,
	.btn_b_w{
	margin-top: 10px;
	}
	
.title_g{
	text-align: left;
	margin-left: 5px;
	font-size:1.2rem;
	}
	
	
	

.mc {
	width:98%;
	height: 138px;
}



.mc img{
	width: 90px;
	
}

.mc_k img{
	width: 100%;
	padding: 10px 0;
}	


	.mc .side{
		    padding: 10px 5px;
	}	
	
.mc .side .name{
	font-size: 1.2rem;

	
}

.mc .side .name span{
    font-size: 0.9rem;
	color:#e2d1a8;
	margin-left: 0px;
		/*display: block;*/

}

.mc .side .title{
        font-size: 0.9rem;
}




.mc .side .come  {
	display: none;
}
	
	
	.p_li,
	.p_li_w,
	.flow .p_li_w{
	width: 100%;
	display: block;
}



.p_li2,
	.p_li2_w,
	.flow .p_li2_w{
width: 100%;
display: block;
}
	
	
	
	
	.reason {
	display:inline-block;
	width:100%;
}
	
	.reason .p_li{
width:100%;

	}

.reason .p_li3{
	width: 100%;
}
	
	.reason .p_li3 p{
	margin-bottom: 15px;
}


.reason .p_li span {
	display: inline-block;
	}
	

	.office{
			width: 100%;
	padding: 10px;
		}
	
	
.info {
	padding: 30px 0;
	}
	
	
	dl.table dt {
  width: 100%;
		  border:none;
		text-align: left;
		display: block;
		background: #faf3e6;
			padding-left: 5px;	
	}
			
				dl.table dd {
  width: 100%;
		padding-left: 5px;	
		
		}
	
	.right{
		text-align: center;
		padding-right: 0;
	}
	
		
				.btn_i {
    width: 120px;

}

	
	.contact {
 padding: 0;
	}
	
	
	
.form dl {
	display: block;
	
}
	
	.form dl,
	.form dl.last{
border: none;
	}
		
		
.form dl dt {
display: block;
width: 100%;
	}


.form dd {
    display: block;
    width: 100%;
}	
	
	input, 
	textarea {
    margin:0;
	}

	input{
			height: calc(1.5em + .75rem + 2px);
	}
	
	
	input#button{
	    padding: 0;
}
	

.intro_w {
    font-size: 1.1rem;
	}

.bil_menu{
	display:none;
}		
	
/*.bil_menu{
	padding: 0;
		 width:100%;
}	
	
 ul.bil_nav  {
	 width:100%;
		    }
	

 ul.bil_nav li {
     padding:10px 2px;
font-size:9px;
    }

ul.bil_nav li a { 
	    padding:0px;

    }*/


	
	


 ul.w_nav  {
	 width:100%;
		    }

 ul.w_nav li {
	 width:50%;
	 padding:10px 25px ;
	}

/*.photo{
	width: 90%;
	
}*/
.photo_t{
	display: block;
}

ul.ex_menu li{
	width: auto;
	}
	
	ul.ex_menu li {
    padding: 0 5px;
	
	}
	
}

.box .side h3, .box_w .side h3 {
    font-size: 20px;
}

.life_t{
	background: #090;
	color: #fff;
	width: 100%;
	padding: 10px 0;
	margin-top: 20px;
    margin-bottom: 0;
}
	
.life_box{
        display: flex;
    position: relative;
    width: 100%;
    background-color: #fbfdf3;
    padding: 20px 40px 20px 0;
    border-radius: 20px 0 20px 0;
    border: solid 1px #a7d863;
    gap: 10px;
	    margin-top: 80px;
}

/* 左側の画像ブロック */
.life-card{
    flex: 5;
    position: relative; /* ← absolute をやめる */
}

/* 画像だけ飛び出させる */
.life-card img{
        width: 100%;
    max-width: 480px;
    padding: 0;
    position: relative;
    top: -60px;
	    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
	
	.life-card img.shadow_non{
		box-shadow: none;
	}
	
	.s_title{
		font-size: 1.4rem;
		font-weight: 600;
		color: #090;
		    border-bottom: solid 3px;
    display: inline-block;
		text-align: center;
		margin-bottom: 16px;
	}

/* 右側テキスト */
.life-card-text{
    flex: 4;
    display: flex;
    flex-direction: column;
	text-align:justify;
	margin-top: 20px;
    
}
	
	.toi{
		text-align: center;
		font-size: 18px;
		margin-top:30px;
	}
	
	@media screen and (max-width:768px) {
		
		.life_box {
    display: block;
			padding: 20px;
		}
		
		.life-card img{
        top: 0px;
		}
		
	}


.midashi{
		background-color: rgba(246,180,24,0.5);
        font-size: 20px;
    padding: 10px;
    margin: 20px 0;
    display: block;
}
	
.qa {
           max-width: 100%;
    margin: 20px auto;
    font-size: 18px;
    padding: 20px;
    text-align: left;
  }

  .qa-item {
    border-bottom: 1px solid #ddd;
	margin-bottom: 10px;
    padding-bottom: 5px;
  }

  .qa-item input {
    display: none;
  }

  .qa-question {
    display: block;
    padding: 12px 16px;
    cursor: pointer;
    font-weight: 500;
    position: relative;
  }

  .qa-question::after {
    content: "＋";
    position: absolute;
    right: 16px;
    transition: transform 0.2s;
	  font-size: 24px;
  }

  .qa-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    color: #444;
    transition: max-height 0.25s ease, padding 0.25s ease;
  }

  /* 開いたときのスタイル */
  .qa-item input:checked ~ .qa-answer {
    max-height: 300px; /* だいたいの高さを指定 */
    padding: 8px 16px 16px;
	    line-height: 1.4;
 
		}

  .qa-item input:checked + .qa-question::after {
    content: "－";
	   
  }

  
.qa .q,
.qa .a{
    width: 40px;
    height: 40px;
    background-color: #f6b418;
    padding: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 50%;
    margin-right: 10px;
    margin-bottom: 5px;
}
