@charset "utf-8";
/* CSS Document */

/* =resetForm */
.button--primary { border: none !important; }
.block-irregular { background: none !important; box-shadow: none !important; }
.block-irregular__inner-narrow { padding: 0 !important; max-width: 100% !important; margin: 0 !important; }
.block-irregular .form__row, .block-irregular__color-block .form__row { max-width: 100% !important; }
.form__content { margin: 0 !important; display: block !important; border-spacing: 0 !important; width: 100% !important; }
.form__cell { display: block !important; }
.block-irregular .buttons:not(:first-child), .block-irregular__color-block .buttons:not(:first-child) { margin-top: 0 !important; }
.block-irregular .buttons, .block-irregular__color-block .buttons { max-width: 100% !important; }
.block-irregular, .block-irregular__color-block { padding: 0 !important; margin: 0 !important; }
.section--divider:not(:first-child), .block-irregular__line-dashed:not(:first-child) {margin-top: 0 !important; padding-top: 0 !important; border-top: none !important; }
.form__caution, .form__error { margin-top: 0; margin-bottom: 1em; font-weight: bold; }
.button { border-radius: 0; display: block; padding: 0; line-height: 1; font-size: 14px; width: 100%; vertical-align: middle; text-align: center; white-space: nowrap; font-weight: normal; }

.container { padding-left: 0 !important; padding-right: 0 !important; }

/* =reset
------------------------------------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td,header, section, article, footer, article, aside, time ,nav,a{
margin:0;
padding:0;
}

fieldset,img{
  border:0;
}
address,caption,cite,code,dfn,em,th,var{
font-style:normal;
font-weight:normal;
}
ol,ul{
list-style:none;
}
caption,th{
text-align:left;
}
h1,h2,h3,h4,h5,h6{
font-size:100%;
font-weight:normal;
}
q:before,q:after{
content:'';
}
abbr,acronym{
border:0;
}
p{
text-justify:inter-ideograph;
margin: 0;
}

header, section, article, footer, article, aside, time ,nav { display: block; }

ul{
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
-webkit-padding-start: 0;
}
figure {
display: block;
-webkit-margin-before: 0;
-webkit-margin-after: 0;
-webkit-margin-start: 0;
-webkit-margin-end: 0;
}

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
}

/* =base
------------------------------------------------------------------------------------------*/
* { box-sizing: border-box; }

body { background: #003399; color: #000; counter-reset: number 0; }
img { vertical-align: bottom; }
a { color: #039; text-decoration: none; outline: none; }
a:hover { color: #F60; text-decoration: underline; }
a:hover img { opacity: 0.8; filter: alpha(opacity=80); }

.container{max-width: 1080px; width: 100%; margin:0 auto; background-color: #fff;border-top: 5px solid #E90000 }

/* textAlign */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }


/* main用のwrap */
.main-wrap { background: #fff; display: block; margin: 0 auto ; padding:10px 0 0; max-width: 1000px; width: 100%; }

/* セクションごとのwrap */
.section-wrap { margin: 0 auto 40px; width: 100%; } 
.section-wrap img { vertical-align: bottom; }


@media screen and (max-width: 768px){
 body { font-size: 14px; line-height: 1.4em; }
.container{max-width: 1280px; width: 100%; margin:0 auto; background-color: #fff; }

/* main用のwrap */
.main-wrap { width: 96%; }
/* セクションごとのwrap */
.section-wrap { margin: 0 auto 9vw; width: 100%; }
/* コンテンツごとのwrap */
.content-wrap { margin-bottom: 9vw;  }

}

/* = parts
------------------------------------------------------------------------------------------*/
.pc-none { display: none; }
.sp-none { display: block; }

h1 {
    background-color:#666;
    color:#fff;
    font-size:1.25em;
    font-weight:bold;
    margin:20px 0;
    padding:10px;
}

h1 small {
    font-size:0.6em;
    font-weight:normal;	
	line-height:1.2em;
	display:block;
}

h2 {
	display:block;
	width:100%;
	height:40px;
	margin:10px auto;
	padding: 0 0 0 10px ;
	line-height:40px;
	font-size:1.2em;
	font-weight:bold;
    color: #00a0e9;
}

/*TOP用*/
#top h1 {
    background:none;
    color:#fff;
    font-size:1.25em;
    font-weight:bold;
    margin:20px 0;
    padding:10px;
}

/*top用仮面チャウダー色見出し*/
#top h2 {
	position: relative;
	margin:10px auto;
	padding: 0 0 0 50px ;
	line-height:40px;
	color:#ffff00;
	background:#000000;
	font-size:1.2em;
}

#top h2::before{
	content:url(../img/ttl_icon.png);
	width:40px;
	height:40px;
	position:absolute;
	top:0px;
	left:0px;
}

#top h2::after{
	content:url(../img/ttl_bg.png);
	width:113px;
	height:40px;
	position:absolute;
	top:0px;
	right:0px;
}

h4{ font-size: 16px;
	color: #333;
	border-bottom: 2px dotted #333;
	margin:10px auto;
	font-weight:bold;
}

/*button*/
.link_btn{
    text-decoration: none;
    box-sizing: border-box;
    display: block;
    border-radius: 50px;
    font-size: 26px;
    font-weight: bold;
    line-height: 1em;
    margin: 0 auto;
    padding: 1em 0 1.1em;
    position: relative;
    text-align: center;
    transition: .1s;
    width: 50%;
}


.note p::before{
	content:"◆ ";
	color:#FF3300;	
}
	
.note p { margin-bottom: 0.5em; }

@media screen and (max-width: 768px){
.pc-none { display: block; }
.sp-none { display: none; }
}

/*=ページトップへパーツ*/
.page_top { margin: 0; position: fixed; right: 100px; bottom: 50px; text-align: center; z-index: 10; }
.page_top a {text-decoration: none; background: rgba(255,255,255,.8); border: 1px solid #ccc; border-radius: 40px; color: #000; display: block; font-family: 'oswaldfont',"メイリオ","Meiryo","MS PGothic","Osaka",Arial,sans-serif; font-size: 11px; height: 80px; line-height: 80px; transition: all .2s; width: 80px; }

@media screen and (max-width: 768px){
  .page_top{ display: none; }
}


/* =header
------------------------------------------------------------------------------------------*/
header{margin: 0 0 4vw 0!important; max-width: 1280px; width: 100%; margin: 0 auto; }
header img{max-height:80px;}

@media screen and (max-width: 768px){
header  img{max-height:40px;}

}
/* =footer
-----------------------------------------------------------------------------------------*/
footer { 
	color: #999; 
	text-align: center;
	width: 100%;
	padding: 16px 0 16px;
    color: #fff;
    background-color: #e90000; 
}






/* =main visual
-----------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
#main_image img{
	max-width:100%;
}

}

/*白抜き文字box*/
.coution{
	width:90%;
	margin:15px auto;
	background: #FF3300;
    padding: 15px;
    color: #FFF;
    font-weight: bold;
    margin-bottom: 15px;
}

/*リンク有box*/
.important_info{
    border: 2px solid #f00;
    padding: 12px 7% 12px 12px;
	width:90%;
	margin:15px auto;
	position:relative;
}

.important_info::before{
	content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 5%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #FF3300;
    border-right: 2px solid #FF3300;
}


/* =menber menu
-----------------------------------------------------------------------------------------*/
.menu_container{
 	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
}

.menu_box{
	ms-flex-preferred-size: 49%;
	flex-basis: 49%;
	text-align:center;
	border:1px solid #333;
}

.menu_box:nth-child(odd){
	border-right:none;
}

.menu_box:last-child{
	border-right:1px solid #333;
}

.menu_box h3{
	color:#FFf;
	background:#666;
	display:block;
	font-weight:bold;
	padding:10px;

}

.menu_box p{
	margin-top:15px;
}

.menu_box .menu_box-btn{
	background:#003399;
	color:#FFFFFF;
	padding:5px;
	margin:10px auto 15px;
	width:60%;
}

.menu_box .menu_box-btn:hover{
	 opacity:0.8;
	 cursor: pointer;
	 text-decoration: underline;
}

@media screen and (max-width: 768px){
.menu_box{
	ms-flex-preferred-size: 96%;
	flex-basis: 96%;
	margin:0 auto;
	border-bottom:none;
}

.menu_box .menu_box-btn{width:80%;}
.menu_box:nth-child(odd){border-right:1px solid #333;}
.menu_box:last-child{border-bottom:1px solid #333;}
}

/* =FAQ アコーディオン
-----------------------------------------------------------------------------------------*/
.accordion-container { display: block; height: auto; padding: 0; width:96%; margin: 0 auto 20px; -moz-border-radius: 2px !important; -ms-border-radius: 2px !important; border-radius: 2px !important; overflow: hidden; }

.accordion-container .panel { margin-top: 0; border: none; border-bottom: 1px solid #efefef; border-radius: 0; background: #fff !important;  width: 100%; text-align: left; transition: 0.4s; border-bottom: 1px solid #e3e3e3;}
.accordion-container .panel:last-child { border: none; }
.accordion-container .panel .content { padding: 0px 10px; background-color: #fff; max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; }
.accordion-container .panel .heading { font-size: 14px; color:#333; font-weight: bold; padding: 10px 30px 10px 10px; background: url("../img/keyboard_arrow_up.svg") no-repeat right; background-position: 98% 12px !important; background-size: 28px !important; }
.accordion-container .panel a { text-decoration: none; }
.accordion-container .panel .content p { font-size: 14px; line-height: 1.5em; font-weight: 300;  padding: 10px 0; margin: 0; }
.accordion-container .panel .content p:first-child { padding-top: 0;}
.accordion-container .panel .content ul { margin-left: 0; padding-bottom: 20px; padding-left: 20px; font-weight: 300; margin-top: 5px; }
.accordion-container .panel .content ul li { list-style-type: none; font-size: 0.8em; line-height: 1.5em; color: #6f6f6f; }
.accordion-container .panel .content ul li:before { content: "—"; padding-right: 4px; display: inline; }
.accordion-container .panel p:last-child { padding-bottom: 20px; }
.accordion-container .panel table { width: 100%; }
.accordion-container .panel table tr td { padding: 5px 10px; border: 1px solid #ececec; }
.accordion-container .panel.active { background: #fff !important;}
.accordion-container .panel.active .heading { background: url("../img/keyboard_arrow_down.svg") no-repeat right;  }