@charset "utf-8";

body {
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }


a {
color: #666;
text-decoration: none;
transition: 0.2s; }                    

a:hover {	
color: #999;
text-decoration: none; }                    

#deco { 
text-decoration: underline; }	 	       

#deco:hover {
text-decoration: none;
color: #999; }   

ul,ol,li,dl,dt,dd,form,figure,form {
margin: 0px;
padding: 0px;
font-size: 100%;
font-weight: normal; }

ul { 
list-style-type: none; }

ol { 
padding-left: 40px;
padding-bottom: 20px; }

img {
border: none;
max-width: 100%;
height: auto;
vertical-align: middle; }

table {
border-collapse:collapse;
font-size: 100%;
border-spacing: 0; }

.min {
font-size: 0.8em; }

.lrg {
font-size: 1.2em; }

span { display: inline-block; }

.red { display: inline;
color: red; }


/*リスト表示	----------------*/

/*注釈背景*/

.notes_bg {
 clear: both;
 border-radius: 0.6rem;
 background-color: #f9f9f5;
 margin: 1em;
 padding: 1em; }


/*タイトル改行本文*/

dl.notes {
 line-height: 1.7em; 
 padding: 0 15px;
 margin: 0; }

dl.notes dt {	
 float: none;
 font-weight: bold; }

dl.notes dd {
 padding: 0.3em 0 1.5em 2em; }


/*タイトル改行本文*/

dl.notes2 {
 line-height: 1.7em; 
 padding: 0 15px;
 margin: 0; }

dl.notes2 dt {	
 float: none;
 font-weight: bold; 
 padding: 1.5em 0 0.5em; }

dl.notes2 dd {
 padding: 0.4em 1em; }


/*タイトル6文字、右並び本文*/

dl.notes_7em {
padding: 0 0 1.5em 2.8em; }

dl.notes_7em dt {	
 float: left;
 width: 7.5em;	
 font-weight: bold; }

dl.notes_7em dd {
padding-left: 7.5em; 
padding-right: 1em;
padding-bottom: 1em;}




/*タイトル8文字、右並び本文*/

dl.notes_8em {
 padding: 0 0 1.5em 1.2em; }

dl.notes_8em dt {	
 float: left;
 width: 8em;	
 font-weight: bold; }

dl.notes_8em dd {
 padding-left: 8em; 
padding-bottom: 1em;}


/*タイトル13文字、右並び本文*/

dl.notes_13em {
 padding: 0 0 0 1.2em; }

dl.notes_13em dt {	
 float: left;
 width: 13em;	
 font-weight: bold; }

dl.notes_13em dd {
 padding-left: 13em; 
padding-bottom: 1em;}


/*タイトル12文字、右並び本文*/

dl.notes_12em {
 margin: -0.7em 0 0.4em;
 padding-left: 1.2em; }

dl.notes_12em dt {	
 float: left;
 width: 12em;	
 font-weight: bold; }

dl.notes_12em dd {
 padding-left: 12em; 
padding-bottom: 0.7em;}


/*リスト（・本文、●本文）*/

dl.list {
 padding: 0 0 1.5em; }

dl.list dt {	
 float: left;
 width: 2rem;	
 font-weight: bold; }

dl.list dd {
 padding-left: 2rem; }


/*リスト	----------------------*/

ol.ol1 {
 line-height: 1.6em;
 padding-left: 1.6em;
 margin: -0.5em 0 -1em; }

ol.ol1 li {
 position: relative;
 padding-bottom: 0.8em;
 padding-left: 0.2em;
 margin: 0 1em; }


/*リスト	----------------------*/

ol.ol2 {
 line-height: 1.6em;
 padding-left: 1.6em;
 margin: -0.5em 0 -1em; }

ol.ol2 li {
 position: relative;
 padding-bottom: 2em;
 padding-left: 0.2em;
 margin: 0 1em; }


/*リスト	----------------------*/

ul.ul1 {
 line-height: 1.6em;
 padding-left: 0em;
 margin: 0.4em 0 -0.4em; }

ul.ul1 li {
 position: relative;
 padding-bottom: 0.8em;
 padding-left: 0.2em;
 margin: 0 1em; }

ul.ul1 li:before {
 content: "・";
 position: absolute;
 left: -1em;
 font-size: 80%;
 color: grey;
 margin-right: 2px;}

/*リスト	----------------------*/

ul.ul2 {
 line-height: 1.6em;
 padding-left: 2em;
 margin: 0.4em 0 2.5em; }

ul.ul2 li {
 position: relative;
 padding-bottom: 0.8em;
 padding-left: 0.2em;
 margin: 0 1em; }

ul.ul2 li:before {
 content: "・";
 position: absolute;
 left: -1em;
 font-size: 80%;
 color: grey;
 margin-right: 2px;}

/*リスト	----------------------*/

ul.ul3 {
 line-height: 1.6em;
 padding-left: 1.5em;
 margin: 0 0 1em; }

ul.ul3 li {
 position: relative;
 padding-bottom: 0.8em;
 padding-left: 0.2em;
 margin: 0 1em; }

ul.ul3 li:before {
 content: "・";
 position: absolute;
 left: -1em;
 font-size: 80%;
 color: grey;
 margin-right: 2px;}

/*リスト	----------------------*/

ul.ul4 {
 line-height: 1.6em;
 padding-left: 0.3em;
 margin: 0; }

ul.ul4 li {
 position: relative;
 padding-left: 0.2em;
 margin: 0 1em; }

ul.ul4 li:before {
 content: "*";
 position: absolute;
 left: -1em;
 font-size: 80%;
 color: grey;
 margin-right: 2px;}

/*リスト	----------------------*/

ul.ul5 {
 line-height: 1.6em;
 padding-left: 1em;
 margin: -0.4em 0 0.6em; }

ul.ul5 li {
 position: relative;
 padding-bottom: 0.8em;
 padding-left: 0.2em;
 margin: 0 1em; }

ul.ul5 li:before {
 content: "・";
 position: absolute;
 left: -1em;
 font-size: 80%;
 color: grey;
 margin-right: 2px;}




/*テーブル------------------------------*/

.tbl_area {	
clear: both;
width: 100%;
margin: 0 auto;
padding: 0;
}   

table.legal {
width: 100%;
font-size: 1.4rem;
text-align: left;	
margin: 3px auto 20px;	
color: #666; 
}

table.legal th{
width: 20%; 
background-color: #fbfbfb;
font-weight: normal; 
padding: 12px 1.5em;
border: 1px solid #ccc;}

table.legal td{ 
width: 80%; 
padding: 12px 1em;
border: 1px solid #ccc;}

tr.cat_ttl td {
background-color: #f7f7f7;
font-weight: bold; 
}   



/*イメージ------------------------------*/

.cont_body_sec_img {
text-align: center;
margin: 10px 18px; }

.cont_body_sec_sub_img {
text-align: center;
margin: 10px 25px; }

.border1 {
border: 1px solid #ccc;}



.text_float {
 float: left;
 padding: 0 !important ;
 margin: 0 0 25px;
 width: 65%; }

.img_float {
 float: right;
 margin: 0; 
 width: 30%; }

figcaption {
font-size: 1.4rem;
padding: 0.5em 0 1em;
text-align: center; }

.cap_ttl {
font-size: 1.7rem;
font-weight: bold; }


.pc { display: block !important; } /*画面幅～451*/
.sp { display: none !important; } /*画面幅450px以下*/



/*引用「　」------------------------------*/

.quote {
 position: relative;
 margin: 10px 18px;
  padding: 20px 20px 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;}

.quote::before,
.quote::after {
  position: absolute;
  content: '';
  width: 30px;
  height: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;}

.quote::before {
  top: 0;
  left: 0;
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;}

.quote::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid #CCC;
  border-right: 1px solid #CCC;}


/*form------------------------------*/

.tbl_req_area {
 clear: both;
 margin: 0 auto;
 padding: 0px;
 font-weight: bold; }   

table.req {
 width: 100%; 
 line-height: 3.5em;
 font-weight: normal; 
 text-align: left;	
 font-size: 1.4rem;	
 margin: 3px auto 20px;	
 color: #666; }

table.req th{
 width: 28%; 
 text-align: left;	
 line-height: 1.4rem;
 background-color: #fbfbfb;
 padding: 0 1em 0 2em;
 border: 1px solid #ccc;}

table.req td{ 
 width: 72%; 
 padding: 12px 18px;
 border: 1px solid #ccc;}

tr.cat_ttl td {
 background-color: #fff;
 font-size: 14px; }   

tr.submit td {
 background-color: #fff;
 font-size: 1.4rem;
 text-align: center; }   

.ssl {
 font-weight: normal; 
 font-size: 14px;
 padding: 30px 30px 15px;
 margin: 35px 0 40px;	
 border: 1px solid #ccc; }

input[type="text"] {
 padding: 0.8em;
 margin-bottom: -18px;
 outline: none;
 border: 1px solid #ddd;
 border-radius: 5px;
 font-size: 1.5rem; }

textarea {
 padding: 0.8em;
 margin-bottom: -18px;
 outline: none;
 border: 1px solid #ddd;
 border-radius: 5px;
 line-height: 2.3rem;
 font-size: 1.8rem; }


input:required { background: #fff4f4; }

input:valid { background: transparent;} 

input::placeholder {  color: #c0c0c0; }

input[type="radio"] { display: none; }

.label_ask {
 display: block;
 float: left;
 margin: 0 5px 5px 0;
 font-size: 1.4rem; 
 width: 15rem;
 padding: 0;
 text-align: center;
 cursor: pointer;
 border: 1px solid #ddd;
 border-radius: 5px; }

.label {
 display: block;
 float: left;
 margin: 0 5px 5px 0;
 font-size: 1.4rem; 
 width: 7em;
 padding: 0;
 text-align: center;
 cursor: pointer;
 border: 1px solid #ddd;
 border-radius: 5px; }


input[type="radio"]:checked + label {
 background: #31A9EE;
 border: 1px solid #31A9EE;
 color: #ffffff; }

.label:hover { background-color: #E2EDF9; }

.must { background: #ff4733; }

.choice { background: #999; }

.must,
.choice {
 color: #FFF;
 font-size: 11px;
 margin-left: 10px;
 padding: 2px 6px 2px 8px;
 letter-spacing: 0.1em;
 border-radius: 5px;
 display: inline-block;}

.btn{
 display: inline-block;
 border: 2px solid #adadad; 
 border-radius: 5px;
 background-color: #f7f7f7;
 padding: 12px;
 margin: 5px 10px 20px;
 text-align: center;
 width: 14em;
 font-size: 15px;
 color: #797979; 
 cursor: pointer; 
 font-weight: bold;
 letter-spacing: 0.5px;}

.btn:hover {
 border: 2px solid #038eca;
	
 background-color: #E2EDF9; 
 color: #038eca;
!important; }


/* アコーディオン */

.tab {
 position: relative;
 overflow: hidden;
 margin: 0 auto;
 color: #666; }

	.tab input {
	 position: absolute;
	 z-index: -1;
	 opacity: 0; }

	.tab label {
	 font-weight: bold;
	 position: relative;
	 display: block;
	 padding: 12px 1em;
	 cursor: pointer;
	 border-top: 1px solid #ccc;
	 margin: 0;
	 background: #f9f9f5; }

.tab_answer {
 overflow: hidden;
 max-height: 0;
 -webkit-transition: max-height 1s;
 transition: max-height 1s;
 color: #666;
 background: #fff; }

.tab_exp {
 margin: 0 0 1em;
 padding: 1.5em 0;
 background: #fff;}

	.tab_exp p {
	 margin: 0;
	 padding: 0 1.5em 1em 3em;
	 font-size: 15px; }

.tab input:checked ~ .tab_answer {
 max-height: 320em; }

.tab label:before {
 content: 'Ｑ';
 font-size: 20px; 
 color: #666;
 margin-right: 8px; }

.tab label:after {
 color: #666;
 content:"＋";
 position: absolute;
 top: 12px;
 right: 20px; }

.tab input:checked ~ label::after {
 color: #666;
 content:"－"; }



/*画面幅750px以下の設定		-----------------------------*/

@media screen and (max-width:750px){

table.legal th, table.legal td {
display: block; 
width: 95%;
padding: 12px 18px;
border-bottom: none;}

table.legal td {
border-top: 1px solid #f2f2f2;}

.last td:last-child {
border-bottom: solid 1px #ccc; }

tr.cat_ttl td {
display: none; }   

.cap_ttl {font-size: 1.6rem;}

dl.notes_12em { margin: -0.7em 6% 0.4em 0; }

dl.notes_12em dt {	float: none; }

dl.notes_12em dd {
padding-left: 1.1em; 
padding-bottom: 1em;}


/*form*/

table.req { width: 100%; }

table.req th,table.req td { 
display: block;
border: none;}

table.req th { width: 94%;}

table.req td { width: 96%;}

table.req th {
 line-height: 1.8rem;
 padding: 10px 1.5em;
 border-top: 1px solid #b0b0b0; }

table.req td {  padding: 10px 1.5em 18px; }

tr.cat_ttl td { display: none; }   

.label_ask { line-height: 3.5em;
margin: 0 5px 12px 0; }

.label {
 line-height: 3.5em;
 margin: 0 5px 12px 0;
 font-size: 1.3rem;
 width: 10em; }


}


/*画面幅680px以下の設定		-----------------------------*/

@media screen and (max-width:680px){


table.req th { width: 93%;}

table.req td { width: 93%;}

.label { width: 9em; }

.tab label {
 line-height: 1.8em;
 height: 60px;
 display: flex;
 align-items: center;
 padding: 10px 5em 10px 1.5em; }

.tab label:before { display: none; }

.tab label:after {
 top: 25px; }

.tab_exp p { padding: 0 1em 1em 1.5em;}


dl.notes_7em {padding: 0 0 1.5em 1.5em; }

dl.notes_7em dt { float: none; }

dl.notes_7em dd {padding-left: 1em; }



}


/*画面幅600px以下の設定		-----------------------------*/

@media screen and (max-width:600px){

table.legal th,table.legal td { width: 94%;}

.quote { padding: 20px 10px 0px; }

ul.ul2 {
 line-height: 1.8em;
 padding-left: 1.5em; }

ul.ul2 li { padding-bottom: 0.6em; }


}

/*画面幅500px以下の設定		-----------------------------*/

@media screen and (max-width:500px){

table.legal th,table.legal td { width: 93%;}

.cont_body_sec_sub_img { margin: 0 20px; }

dl.notes_8em dt { float: none; }

dl.notes_8em dd { padding-left: 1.3em; }

.cap_ttl { font-size: 1.5rem; }


}


/*画面幅450px以下の設定		-----------------------------*/

@media screen and (max-width:450px){


.pc { display: none !important; } /*画面幅～451*/
.sp { display: block !important; } /*画面幅450px以下*/

}


/*画面幅420px以下の設定		-----------------------------*/

@media screen and (max-width:420px){

table.legal th,table.legal td { width: 91%;}

.cont_body_sec_sub_img { margin: 0 6%; }

.cap_ttl {font-size: 1.4rem; }

ul.ul2 { padding-left: 1em; }

table.req th { 
width: 90%;
padding-left: 1em;}

table.req td { 
width: 92%;
font-size: 1.2rem;
padding-left: 1em;}

.label { width: 8em; }

}




/*画面幅411px以下の設定		-----------------------------*/

@media screen and (max-width:411px){

.label { width: 7.7em; }

.ssl {
 font-size: 14px;
 padding: 0px 10px;
 border: none; }


}



/*画面幅375px以下の設定		-----------------------------*/

@media screen and (max-width:375px){

table.legal th,table.legal td { width: 89%;}

ul.ul2 { padding-left: 0.5em; }

table.req th { width: 89%; }

table.req td { width: 91%; }

.label { width: 7.1em; }


.tab_exp p { padding: 0 1em 1em 1.2em;}

}

/*画面幅365px以下の設定		-----------------------------*/

@media screen and (max-width:365px){

table.req th { 
width: 89%;
padding-left: 0.5em;}

table.req td { 
width: 92%;
padding-left: 0.5em;
font-size: 1.1rem; }

.label { width: 6.8em; }

}


/*画面幅325px以下の設定		-----------------------------*/

@media screen and (max-width:325px){

table.legal th,table.legal td { width: 87%;}

table.req td {
width: 91%;
font-size: 1rem; }

.label { width: 6em; }

.tab label {
 padding: 10px 3em 10px 1.2em; }

.tab_exp p { padding: 0 1em 1em;}

}
























