@charset "UTF-8";
/* CSS Document */

#wrap {
    margin-right: auto;
    margin-left: auto;
    text-align: left;
	/*min-width: 1200px;*/
	overflow: hidden;
	background: #F7F9F9;
}
a img{
	opacity: 1;
	transition: 0.2s;
}
a:hover img{
	opacity: 0.6;
}
*{
    min-width: 0;
    min-height: 0;
}
#headwrap {
    clear: both;
	height: 75px;
	position: fixed;
	background: transparent;
	z-index: 6000;
	width: 25%;
	right: 0; 
	left: auto;
}
#head {
    clear: both;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}
#logo {
    position: absolute;
    width: 372px;
	top:26px;
	left:31px;
}
#logo img{
	width: 100%;
	height: auto;
}
#head .headbtn {
    position: absolute;
    right: 90px;
    top: 15px;
    width: 170px;
}
#head .headbtn img{
	width: 100%;
	height: auto;
}
#head .headbtn a img{
	transition: 0.2s;
}
#head .headbtn a:hover img{
	opacity: 0.8;
}


.navToggle {
    display: block;
    position: fixed;
    width: 64px;
    height: 60px;
    cursor: pointer;
    z-index: 6001;
    text-align: center;
    right: 0px;
    top: 0px;
    font-size: medium;
}
.navToggle span {
 display: block;
 position: absolute;    /* .navToggleに対して */

 border-bottom: 2px solid #000;
 -webkit-transition: .35s ease-in-out;
 -moz-transition: .35s ease-in-out;
 transition: .35s ease-in-out;

}
 
.navToggle span:nth-child(1) {
 top: 40px;
	 width: 40px;
	 left: 2px;
}
 
.navToggle span:nth-child(2) {
 top: 30px;
	 width: 40px;
	 left: 2px;
}
 
.navToggle span:nth-child(3) {
 top: 20px;
	 width: 40px;
	 left: 2px;
}
.navToggle span:nth-child(4) {
 top: 35px;
	 width: 40px;
	 left: 2px;
	font-size:12px;
	border-bottom:none;
	text-align: center;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 30px;
    left: 2px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
	 width: 40px;
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 30px;
    left: 2px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
	 width: 40px;
}
 /* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%)!important;
}
nav.globalMenuSp {
 position: fixed;
 z-index: 4000;
 top: 0;
 color: #666666;
 text-align: center;
 transform: translateY(-100%);
 transition: all 0.6s;
 width: 100%;
 background-color: #efefef;
 height: 100vh;
}

nav.globalMenuSp .naviblock {
    width: 80%;
	max-width: 1000px;
	height: calc(100vh - 200px);
    overflow-y: auto;
    margin-left: auto;
    margin-right: auto;
    font-size: 0;
    display: block;
    margin-top: 200px;
    margin-bottom: 0px;
    text-align: left;
}
.naviblockbox{
    font-size: 12px;
    margin-top: 0px;
	position: relative;
}
.naviblockbox .box{
    vertical-align: top;
    width: 100%;
}

.naviblockbox a {
    color: #333;
    text-decoration: none;
}
.naviblockbox .navimenu {
    width: 45%;
    display: inline-block;
	vertical-align: top;
	margin: 0 2%;
}
.naviblockbox .navimenu .en{
	font-size:35px;
	color:#000;
	margin-bottom: 20px;
	position: relative;
}
.naviblockbox .navimenu .en:before{
	content: "";
	position: absolute;
	border-bottom: 1px solid #000;
	width: 100%;
	height: 1px;
	top:50%;
	z-index: 1;
}
.naviblockbox .navimenu .en span{
	background: #EFEFEF;
	padding-right: 20px;
	z-index: 2;
	position: relative;
}
.naviblockbox .navimenu ul{
	margin-bottom: 40px;
}
.naviblockbox .navimenu li{
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
    background-image: url(../img/navi-icon.png);
    background-position: left center;
    background-size: 19px auto;
    padding-left: 25px;
    background-repeat: no-repeat;
}
.naviblockbox .navimenu li a{
	color:#000;
	transition: 0.2s;
}
.naviblockbox .navimenu li a:hover{
	color:#0441C0;
}
#cont {
 clear: both;
 width: 1000px;
 margin-right: auto;
 margin-left: auto;
 padding-top: 20px;
 position: relative;
}
#footwrap {
    clear: both;
    overflow: hidden;
    background-color: #191919;
    padding-top: 60px;
    padding-bottom: 60px;
}
#footwrap a{
	color:#fff;
	text-decoration: none;
}
.footmenu {
    font-size: 15px;
    line-height: 1.6em;
    display: flex;
}

.footmenu li{
	flex-grow:1;
	text-align: center;
}



#cr {
    background-color: #EEEEEE;
    color: #AAAAAA;
    font-size: 10px;
    line-height: 1.6em;
    text-align: center;
    padding: 20px 0;
}
.fixbtn {
    display: none;
	z-index: 50;
}


#news {
    margin-bottom: 60px;
    margin-top: 60px;
}
#news table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
}
#news th {
    text-align: left;
    vertical-align: top;
    padding-right: 20px;
    background-repeat: no-repeat;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E3E3E3;
    width: 20%;
	font-size:10px;
}
#news td {
	padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E3E3E3;
	font-size:11px;
}
#news td a {
    color: #000000;
    text-decoration: none;
}

.cate{
	display: inline-block;
	background: #717171;
	color:#fff;
	font-size:10px;
	margin-right: 10px;
	width: 120px;
	text-align: center;
	border-radius: 5px;
}

#sub h6 {
	text-align: center;
	font-size: 16px;
	line-height: 1.6em;
	border-bottom: 1px solid #575757;
	margin-bottom: 15px;
}

.list {
	padding-bottom: 20px;
}
.list li {
	padding-bottom: 10px;
	line-height: 20px;
	background-image: url(../img/list.gif);
	background-repeat: no-repeat;
	background-position: 0px 2px;
	padding-left: 20px;
}
.list a {
	color: #2E2E2E;
	text-decoration: none;
}

.midashi {
	clear: both;
	font-size: 26px;
	line-height: 1.6em;
	margin-bottom: 15px;
}
.midashib {
 margin-bottom: 20px;
 text-align: center;
}
.midashib h4 {
 font-size: 26px;


 line-height: 1.em;
 line-height: 61.em;
 padding-bottom: 0px;
}

.midashi02 {
	font-size: 20px;
	line-height: 1.6em;
	clear: both;
	margin-bottom: 10px;
	padding-bottom: 4px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}

.komidashi {
	line-height: 20px;
	background-image: url(../img/list04.gif);
	background-repeat: no-repeat;
	background-position: 0px 0px;
	font-size: 16px;
}
.txtbox {
 clear: both;
 margin-right: auto;
 margin-left: auto;
 padding-bottom: 20px;
}
.txtbox li {
	list-style-position: inside;
	list-style-type: disc!important;
}

.linebox {
 clear: both;
 margin-right: auto;
 margin-left: auto;
 padding-bottom: 0px;
 padding-top: 9px;
 padding-right: 9px;
 padding-left: 9px;
 border: 1px solid #36F;
 margin-bottom: 30px;
}
.centerphoto {
	text-align: center;
	clear: both;
	padding-bottom: 30px;
}
.centertxt {
	text-align: center;
	clear: both;
}
.tbl{
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 20px;
}
.tbl th {
    text-align: left;
    vertical-align: top;
    padding-right: 20px;
    background-repeat: no-repeat;
    padding-left: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E3E3E3;
    width: 20%;
	font-size:12px;
}
.tbl td {
	padding-top: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #E3E3E3;
	font-size:12px;
}
/*
.pagetop {
	width: 64px;
	height: 64px;
	display: block;
	position: fixed;
	right:40px;
	bottom:40px;
	
}
.pagetop img{
	width: 100%;
	height: auto;
}
*/
.pc-none{
	display: none;
}
.sp-none{
	display: block;
}
.pc-none02{
	display: none;
}
.sp-none02{
	display: inline-block;
}
.telbox {
	background-position: 10px 10px;
	background-repeat: no-repeat;
	text-align: center;
	background-color: #001226;
	border-radius: 10px;
	padding-top: 20px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 20px;
	width: 600px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
	color: #FFFFFF;
}
.link {
    padding-bottom: 0px;
    margin-bottom: 10px;
    text-align: center;
    border-width: 1px;
    border-style: solid;
}
.link a {
    padding: 10px;
    display: block;
    color: #001226;
    text-decoration: none;
}
.link a:hover {
    color: #FFFFFF;
}
.mojilist li {
	background-repeat: no-repeat;
	margin-left:1.2em;
	text-indent: -0.6em;
	padding-bottom: 20px;
}
.mojilist li:before {
	content: "■";
	color: #DE891E;
	font-size: 12px;
	padding-right: 8px;
	display: inline-block;
	vertical-align: middle;}
.faqbox {
	margin-bottom: 20px;
	background-color: #e6e6e6;
}
.faqbox h5 {
	font-size: 22px;
	line-height: 1.6em;
	text-indent: 0;
	padding: 35px 80px 35px 95px;
	font-weight: bold;
	background-color: #FFF;
	position: relative;
	background-image: url(../../img/information/Q.png);
	background-repeat: no-repeat;
	background-position: 50px 35px;
	background-size: 26px auto;
	border: 1px solid #C4C4C4;
}
.faqbox h5:before {display: none;
}
.faqbox h5:after{
	content: "+";
	visibility: visible;
	position: absolute;
	font-size: 16px;
	color: #000;
	z-index: 10;
	right: 34px;
	top: 50%;
	transform: translateY(-50%);
}
.faqbox h5.opened:after{
	content: "?";
}
.faqbox p {
	padding: 35px 80px 35px 95px;
	font-size: 16px;
	background-color: #F7F9F9;
	line-height: 1.8em;
	border-right: 1px solid #C4C4C4;
	border-bottom: 1px solid #C4C4C4;
	border-left: 1px solid #C4C4C4;
	background-image: url(../../img/information/A.png);
	background-repeat: no-repeat;
	background-position: 50px 35px;
	background-size: 26px auto;
}

.pname  {
	font-size: 18px;
	text-align: right;
	line-height: 1.6em;
}
.caption {
	color: hsla(359,100%,39%,1.00);
}
#half {
	background-color: #0100B4;
	color: #FFFFFF;
}

#half .photo {
	width: 50%;
	padding-bottom: 0px;
	float: left;
}
#half .photo img {
	width: 100%;
	height: auto;
}
#half .box {
    padding-top: 10px;
    padding-bottom: 0px;
    float: left;
    width: 50%;
}
.sidebnbox {
 margin-bottom: 10px;
 position: relative;
}
.sidebnbox p img {
 width: 100%;
 height: auto;
}
.sidebnbox  h5  {
 padding-top: 10px;
 padding-right: 2%;
 padding-left: 2%;
 padding-bottom: 10px;
 width: 96%;
 color: rgba(255,255,255,1.00);
 text-decoration: none;
 background-color: rgba(255,116,118,1.00);
 position: absolute;
 bottom: 0px;
}


.sidebnbox p {
 padding-bottom: 0px;
}

/*タブ切り替え全体のスタイル*/
.tabs {
	padding-bottom: 40px;
	background-color: #fff;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 30px;
}

/*タブのスタイル*/
.tab_item {
  width: calc(100%/3);
  height: 50px;
  background-color: #d9d9d9;
  line-height: 50px;
  font-size: 16px;
  text-align: center;
  color: #565656;
  display: block;
  float: left;
  font-weight: bold;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
 display: none;
 padding-top: 40px;
 padding-bottom: 0;
 clear: both;
 overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#tab01:checked ~ #tab01_content,
#tab02:checked ~ #tab02_content,
#tab03:checked ~ #tab03_content,
#tab04:checked ~ #tab04_content{
  display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #59b057;
  color: #fff;
}

.tabs input:checked + .tab_item:nth-of-type(2n) {
  background-color: #69c7f1;
  color: #fff;
}

.tabs input:checked + .tab_item:nth-of-type(3n) {
  background-color: #f5a4c0;
  color: #fff;
}
.bold{
	font-weight: bold;
}
.txt10{
	font-size:10px;
}
.txt12{
	font-size:12px;
	line-height: 18px;
}
.txt14{
	font-size:14px;
}
.txt16{
	font-size:1.171vw;
}
.txt18{
	font-size:1.3177vw;
}
.txt20{
	font-size:1.464vw;
	line-height: 1.6;
}
.txt22{
	font-size:1.61vw;
	line-height: 1.6;
}
.txt24{
	font-size:1.7569vw;
	line-height: 36px;
	letter-spacing: 5px;
}
.txt26{
	font-size:26px;
	line-height: 36px;
	letter-spacing: 5px;
}
.txt30{
	font-size:2.196vw;
	line-height: 1.6;
	letter-spacing: 5px;
}
.txt32{
	font-size:32px;
	line-height: 36px;
	letter-spacing: 5px;
}
.txt35{
	font-size:2.6vw;
	line-height:1.6;
	letter-spacing: 5px;
}
.txt37{
	font-size:2.7vw;
}
.color-blue{
    color: #0441C0;
}
.color-orange{
    color: #F49701;
}
.color-green{
    color: #B8DB27;
}
.mt20{
	margin-top: 20px;
}
.mt40{
	margin-top: 40px;
}
.mt80{
	margin-top: 80px;
}
.mt100{
	margin-top: 100px;
}
.inner100per {
    width: 100%;
	max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.inner1366 {
    width: 100%;
	max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.inner1000 {
    width: 90%;
	max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
.inner1050{
    width: 100%;
    max-width: 1100px;
    margin-right: auto;
	
}
.inner1180 {
    width: 90%;
	max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.inner660 {
    width: 660px;
    margin-left: auto;
    margin-right: auto;
}
.inner630 {
    width: 630px;
    margin-left: auto;
    margin-right: auto;
}

#news .titlearea .news-color{
    color: #F7E455;
	
}
#news .contarea {
    width: 640px;
    margin-left: auto;
    margin-right: auto;
}


.sec-gray {
    background-color: #F8F8F8;
	padding: 50px 0;
}

.formbox {
    margin-bottom: 40px;
}
.formbox .ques {
    font-size: 14px;
}


.hissu{
	font-size:10px;
	color:red;
	padding-left: 10px;
}
form .formbox input {
	padding: 10px;
	width: calc(100% - 20px);
}
form .formbox textarea {
	padding: 10px;
	width: calc(100% - 20px);
}
form .mt20 input[type="submit"] {
	border: none;
	background: #535353;
	color:#fff;
	padding: 20px 60px;
	border-radius: 50px;

}
.line-sec{
	border-top:1px solid #999;
}

.line-sec .inner1366{
    display: flex;
}
.line-sec .left-title {
    position: relative;
    padding-left: 29px;
    border-right: 1px solid #999;
	width: 50px;text-transform: uppercase;
}
.line-sec .left-title div {
	transform: rotate(90deg);
	transform-origin:left bottom;
	display: block;
	width: 200px;
	position: absolute;
	
}
.line-sec .right-area{
	width: calc(100% - 81px);
}
.line-sec .right-box{
	width: calc(100% - 181px);
    padding-left: 100px;
    padding-top: 100px;
	padding-bottom: 100px;
	font-size:18px;
}
.line-sec .right-box02{
	width: calc(100% - 181px);
    padding-left: 0;
    padding-top: 0;
	padding-bottom: 0;
	font-size:18px;
}
.line-sec .right-box .top-title {
    font-size: 55px;
    background-image: url(../../img/title-icon.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 30px;
	margin-bottom: 60px;
}
.line-sec .right-box .top-title-s {
    font-size: 36px;
}
.line-sec .right-box .top-title span {
    font-size: 18px;
	display: inline-block;
	padding-left: 40px;text-transform: uppercase;
}
.page-title {
    font-size: 55px;
    background-image: url(../../img/title-icon.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 30px;
    margin-bottom: 60px;
    margin-top: 60px;
	margin-left: 50px;
}
.page-title span {
    font-size: 18px;
	display: inline-block;
	padding-left: 40px;
}
.page-img{
	width: 100%;
	height: auto;
}
.page-img img{
	width: 100%;
	height: auto;
}
