@charset "UTF-8";

main {
	width:100%;
	max-width: 900px;
	letter-spacing: 0.05em;
	color: #333333;
	margin: 0 auto;
	line-height: 1.7em;
}


h1{
	text-align: center;
	padding: 3rem 0;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	font-weight: normal;
}

h2{
	letter-spacing: 0.05em;
	font-weight: normal;
	color: #f2f2f2;
	background-color: #333333;
	padding: 1.2em 5%;
}

section{
	margin-bottom: 4rem;
}

/*アコーディオン全体*/
.menu {
  width: 90%;
	margin: 0 auto;

}
.menu input {
  display: none; /*チェックボックスを隠す*/
}
/*バー部分*/
.menu label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  position: relative;
  padding: 1.2em 0.5em;
border-top: 1px solid #dddddd;
}


.menu label:first-of-type{
	border-top: 0;
}


.menu:last-of-type{
border-bottom: 1px solid #dddddd;
}

/*開いたときに表示される部分*/
.menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu li {
  height: 0;
  overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}
#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li ,
#menu_bar03:checked ~ #links03 li ,
#menu_bar04:checked ~ #links04 li ,
#menu_bar05:checked ~ #links05 li ,
#menu_bar06:checked ~ #links06 li ,
#menu_bar07:checked ~ #links07 li ,
#menu_bar08:checked ~ #links08 li ,
#menu_bar09:checked ~ #links09 li ,
#menu_bar10:checked ~ #links10 li ,
#menu_bar11:checked ~ #links11 li ,
#menu_bar12:checked ~ #links12 li ,
#menu_bar13:checked ~ #links13 li ,
#menu_bar14:checked ~ #links14 li ,
#menu_bar15:checked ~ #links15 li ,
#menu_bar16:checked ~ #links16 li ,
#menu_bar17:checked ~ #links17 li ,
#menu_bar18:checked ~ #links18 li 
{
  height: auto; /*開いたときに表示されるliの高さ*/
  opacity: 1;
 /* background: #f1f1f1;*/
  padding:0 1rem 1rem;
}
 /*開いたときの下の余白*/
/*#menu_bar01:checked ~ #links01 li:last-child,
#menu_bar02:checked ~ #links02 li:last-child {
  margin-bottom: 20px;
}
*/
/*閉じた状態の矢印描画*/
.menu label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #333 1px solid;
  border-right: #333 1px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
}
/*開いた状態の矢印描画*/
.menu input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #333 1px solid;
  border-right: #333 1px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
}


.menu > ul{
	font-size: 1.3rem;
}

.menu > ul > li > p{
	padding-bottom:  1em;
}

.menu > ul > li > p > a{
	color: #0000ff;
    text-decoration: underline;
}

.description_list {
	padding-bottom:  1em !important;
}

.description_list li{
	padding: 0  !important;
	text-indent: 1em;
	display: flex;
	align-content: center;
}
.description_list li::before{
	content: "■";
	font-size: x-small;
	margin-right: 0.5em;
	color: #999999;
}

.question{
	font-size: 1.4rem;
}
.question::before{
	content: "Q.";
	padding-right: 0.3em;
}

.answer{
	display: flex;
	align-items: center;
	padding-bottom: 1em;
}

.answer::after{
	content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #dddddd;
	margin-left:1em;
}

.link_button {
	display: block;
	border: 1px solid #333333;
	border-radius: 4px;
	width:60%;
	margin: 0.5em auto 2em;
	color: #333333;
	text-align: center;
	padding: 1em 0;
}

.link_button:hover {
	border-color: #666666;
	background-color: #666666;
	color: #f2f2f2;
}

#more_question {
	text-align: center;	
}

#more_question p {
	margin-bottom: 1em;
}

#more_question .link_button{
	margin-bottom: 4rem;
}

#more_question .contact_button{
	border-color: #8B0007;
	color: #8B0007;
}
#more_question .contact_button:hover{
	border-color: #6e2b2e;
	background-color: #6e2b2e;
	color: #f2f2f2;
}


/*フッター*/
footer {
    text-align: center;
	margin-top: auto;/* フッター最下部表示用 */
    padding-bottom: 0.5em;
}
footer small{
	font-size: 1rem;
}

@media screen and (min-width: 641px) {
	
html{
	font-size: 68.75%; /*11px*/
}
}

@media screen and (min-width: 961px) {
	

html{
	font-size: 75%; /*12px*/
}

}







