@charset "utf-8";

/* ======================================================
               main images
====================================================== */
#main_images{
	position:relative;
}

#main_image{
	width:100vw;
	height:auto;
	overflow-y:hidden;
	margin-top:-30px;
	margin-bottom:30px;
}

#main_title{
	z-index:10;
}

.title_main{
	text-shadow:1px 1px 3px #333;
	color:#fff;
	font-family:serif;
	font-weight:bold;
	letter-spacing:0.3em;
	font-size:70px;
	position:absolute;
	right:0; left:0;
 	margin:auto;
	top:250px;
	width:550px;
	border-bottom:solid 2px #fff;
}

.title_sub{
	text-shadow:1px 1px 3px #333;
	color:#fff;
	font-family:serif;
	font-size:30px;	
	letter-spacing:0.1em;
	font-weight:bold;
	position:absolute;
	right:0; left:0; margin:auto;
	top:380px;
	width:130px;
}

/* ======================================================
               main
====================================================== */

#main{
	padding:30px 0 30px 0;
	margin:0 auto;
	width:100vw;
}

#main_menu{
	width:fit-content;
	margin:0 auto;
}

#main_menu ul{
	list-style:none;

}

#main_menu ul li{
	display:inline-block;
	padding:0 10px 0 15px;
	border-left:solid 1px #4b5c76;
}

#main_menu ul li:first-child{
	border:none;
}

#main_menu ul li a{
	text-decoration:none;
	color:#4b5c76;
	font-size:20px;
}

#main_menu ul li a:hover{
	opacity:0.5;
	border-bottom:solid 1px #fff;
}

#content{
	width:100vw;
	margin:0 auto;
}
#content h2{
	color:#ff0000;
	text-align:center;
	
}

.title_sub2 {
	color:#4b5c76;
	font-size:35px;
	text-align:center;
	border-bottom:solid 2px #4b5c76;
	width:300px;
	padding:60px 0 10px 0;
	margin:0 auto;
	font-family:serif;
	font-weight:bold;
}

.title_sub3 {
	color:#4b5c76;
	font-size:35px;
	text-align:center;
	border-bottom:solid 2px #4b5c76;
	width:400px;
	padding:60px 0 10px 0;
	margin:0 auto;
	font-family:serif;
	font-weight:bold;
}
/*サブメニュー*/
.main_menu li ul{
	display: none;
	position: absolute;
	margin:0px;
	padding:10px 0 0 0; 
	text-align:center;
}
.main_menu li:hover ul{
	display: block;
	background-color:#fff80;
}
.main_menu a:hover{
	opacity:0.8;
}
.main_menu li{
	position: relative; 
}
.submenu li a {
   background-color:#4b5c76; 
   color: #000000;  
   line-height: 40px; 
   text-decoration: none;  
   font-weight: bold;        
   display: block;        
}

/* ======================================================
               q&a
====================================================== */
.faq-in a:hover{
	opacity: 0.5;
}

.faq-in{
        width: 90vw;
        margin: 0 auto;
}

.aco{
	padding-top:30px;
}

/* Acordeon styles */
.tab {
  position: relative;
  margin-bottom: 1px;
  width: 100%;
  overflow: hidden;
}
.tab input {
  position: absolute;
  opacity: 0;
  z-index: -1;
}
.faq-in label {
  position: relative;
  display: block;
  padding: 0 0 0 1em;
  background-color: #759bb3;/* アコーディオン タブ背景色 */
  color:#fff;
  font-weight: bold;
  line-height: 3;
  cursor: pointer;

}
.tab:nth-child(even) label{
	background-color:#48718b;
}
label .color_change {
	background-color: #48718b;
}
.tab-content {
  max-height: 0;
  height:auto;
  overflow: hidden;
  background: #f0f0f0;/* タブ内背景色 */
  -webkit-transition: max-height .60s;
  -o-transition: max-height .35s;
  transition: max-height .35s;
}
.tab-content p {
  margin: 1em;
}
/* :checked */
.tab input:checked ~ .tab-content {
  max-height:300%;
}
/* Icon */
label::after {
  position: absolute;
  right: 0;
  top: -10px;
  display: block;
  width: 4em;
  height:4em;
  line-height: 4;
  text-align: center;
  -webkit-transition: all .35s;
  -o-transition: all .35s;
  transition: all .35s;
}
.tab input[type=checkbox] + label::after {
  content: "+";
}
.tab input[type=radio] + label::after {
  content: "\25BC";
}
.tab input[type=checkbox]:checked + label::after {
  transform: rotate(315deg);
}
.tab input[type=radio]:checked + label::after {
  transform: rotateX(180deg);
}


/* ======================================================
               form
====================================================== */
.contact-form{
	width:50vw;
	margin:0 auto;
	padding-top:30px;
}

.contact_item{
	padding:10px 0 10px 0;
	border-bottom:1px solid #ccc;
}

#form .contact_item dt, #form .txt_item dt{
	width:250px;
	height:50px;
	font-size:14px;
	float:left;
	padding:30px 20px 0 0;

}


#form input[type="text"], #contact input[type="email"], #contact input[type="tel"]{
	width:50vw;
	height:50px;
	font-size:16px;
	padding-left:10px;
	background:#f0f0f0;
	border:1px solid #f0f0f0;
	box-shadow:1px 1px 1px 1px rgba(75,92,118,0.5) inset;
	margin:0;
}

#form input{
	border-bottom:1px solid #ccc;
}

#form .required-mark{
	float:right;
	font-size:12px;
	background:#fff;
	color:#a6acc7;
	padding:0 2px;
	margin-left:10px;
	border:solid 1px #a6acc7;
	width:40px;
	display:block;
	text-align:center;
	position:static;
}

.txt_item textarea{
	width:500px;
	height:200px;
	font-size:16px;
	padding:10px 0 0 10px;
	background:#f0f0f0;
	border:1px solid #f0f0f0;
	box-shadow:1px 1px 1px 1px rgba(75,92,118,0.5) inset;
	margin:20px 0 20px 20px;
}
.notice_title{
	text-align:center;
	font-size:15px;
	line-height:18px;
}
.button{
	width:fit-content;
	margin:0 auto;
}
.btn btn-primary btn-lg{
	width:100px;
}
#form .contact_notice{
	margin:0 auto;
	padding:20px 20px 5px 5px;
	box-sizing:border-box;
	overflow-y:scroll;
	width:50vw;
	height:300px;
	border:1px solid #a6acc7;
	font-size:16px;
	line-height:20px;
	text-align:justify;
	margin-top:30px;
}

.notice_title{
	overflow:hidden;
}

.contact_h3{
	text-align:center;
	padding:40px 0 10px 0;
	font-size:20px;
	font-family:serif;
}

.contact_name_libertylife{
	overflow:hidden;
	text-align:right;
	padding:10px 0 10px 0;
}

.agree{
	text-align:center;
	padding:40px 0 40px 0;
}

.submit-button{
	text-align:center;
}

.submit-button #submit{
	width:400px;
	height:50px;
	font-size:18px;
	background:#f0f0f0;
	border:1px solid #a6acc7;
	border-radius:25px;
	color:#bbb;
}
/*レスポンシブ*/
@media screen and (max-width: 768px) {
#main_image{
	height:auto;
}
.contact-form{
	width:50vw;
	margin:0 auto;	
 }
#form input{
	width:50vw;
}
#form .contact_item dt, #form .txt_item dt{
	width:initial;
	
 }
#form .contact_notice{
	width:initial;
}		
}
@media screen and (max-width: 480px){
#main_image{
	height:auto;
}
#main_menu{
	width:initial;
	text-align:center;
	padding:0;
}
.contact-form{
	width:400px;
	text-align:center;	
 }
#form{
	

 }
#main_contact{
	
	
}
.contact_box{
	text-align:end;
	
 }
#form .contact_item dt, #form .txt_item dt{
	width:initial;
	height:40px;
	
 }

#form .contact_notice{
	width:80vw;
	margin:0 auto;
}
 #form input[type="text"], #contact input[type="email"], #contact input[type="tel"]{
	width:80vw;
	margin:0 auto;
 }
dl.txt_item:first-child{
	text-align:end;
 }

.txt_item textarea{
	width:initial;
	width:300px;
 }
.title_sub2{
	padding:0;
 }
textarea.form-control{
	width:80vw;
	margin:0 auto;
 }
.form-control{
	width:80vw;
	margin:0 auto;
 }
}

