@charset "utf-8";
/* CSS Document */

* {
	margin: 0;
	padding: 0;
}
html {
	line-height: 1.4;
}
body {
	font-size: 20px;
font-family: "Arial", "メイリオ";

	background-color: #ffffff;
	color:#330000;
	min-width:1000px;
	line-height: 1.6;
	background: url("../img/body_bg.png") top center repeat;
}

@media screen and (max-width: 979px) {
body {

	font-size: 16px;
	line-height: 1.8
}

}


img {
	vertical-align: bottom;
	vertical-align: top;
}
.pc {
	display: block;
}
.sm {
	display: none;
}


.txt_bold{
    font-weight: bold;
}

.txt_red{
    color: #016eaa;
}

.txt_ye{
    color: #ffcc00;
}

.txt_un{
text-decoration: underline;
}

.txt_mak{
background-color: #ffcc00;
}

.txt_big{
font-size: 140%;
font-weight: bold;
}



.wrapper {
	padding:0;
	margin-top: 0px auto;
	width: 100%;
	text-align: center;
}

.inner {
	padding:0;
	margin-top: 0px auto;
	width: 800xp;
	text-align: center;
}


@media screen and (max-width: 979px) {
.pc {
	display: none;
}
.sm {
	display: block;
}

.wrapper {
	padding:0;
	margin-top: 0px auto;
	width: 100%;
	text-align: center;
	min-width:100%;
}

}

p{
padding: 10px 0 0 0;
}

.contents{
width:100%;
padding:0;
margin:0 auto;
text-align: center;
}



.top{
text-align: center;
margin:0 auto;
background: url("../img/top_bg_002.png") bottom center no-repeat;
background-size: cover;
padding: 0 0;
}

.top_txt{
text-align: center;
margin:0 auto;
background: url("../img/top_bg_001.png") top center no-repeat;
height: 465px;
padding: 20px 0 0 0;
}

.title_box{
width:100%;
padding:20px 0;
margin:0 auto;
background-color: #330000;
text-align: center;
}


@media screen and (max-width: 979px) {
.top{
text-align: center;
margin:0 auto;
background: url("../img/top_bg_002_sp.png") bottom center no-repeat;
background-size: cover;
padding: 0 0;
}

.top_txt{
text-align: center;
margin:0 auto;
background: url("../img/top_bg_001.png") top center no-repeat;
background-size: cover;
height: auto;
padding: 10px 0 0 0;
}
}

.order{
margin:0 auto;
padding: 30px 0;
background: url("../img/bg_01.png") top center repeat;
text-align: center;
}

.order_img{
margin:0 auto;
padding:  0 0 20px 0;
}

.order p{
color: #ffffff;
font-size: 14px;
}


/*ホバー時に透明度50%*/
.order a img:hover {
  opacity: 0.8;
}


@media screen and (max-width: 979px) {
.order{
margin:0 auto;
padding: 20px 0;
}

}




.img_box{
padding:50px 0 50px 0;
margin:0 auto;
text-align: center;
}


@media screen and (max-width: 979px) {

.contents{
width:100%;
padding:0;
margin:0 auto;
}

.title_box{
width:100%;
padding:20px 0;
margin:0 auto;
background-color: #330000;
}

.title_box_02{
width:100%;
padding:20px 0;
margin:0 auto;
background-color: #330000;
}

.title_box_03{
width:100%;
padding:0;
margin:0 auto;
background: url("") top center repeat-x;
}

.title_box_04{
width:100%;
padding:0;
margin:0 auto;
background: url("") top center repeat-x;
}

.img_box{
padding:20px 0 0 0; 
margin:0 auto;
text-align: center;
}



}


/* ############   コンテンツ枠*/

.contents001{
margin: 0 auto ;
padding: 0;
width: 100%;

}



.v_box{
display: block;
margin: 20px auto 30px;
width: 955px;
padding: 0;
background-color: #ffffff;
box-shadow: 15px 15px #0092e2;
}

.v_box_in{
display: flex;
padding:50px 50px 20px 50px;
margin: 0 auto;
flex-wrap: wrap;
text-align: left;
}

.v_box_in_img{
margin: 0 auto;
padding: 0;
width:240px;
}

.v_box_in_img img{
margin: 0 auto;
padding: 0;
width:100%;
}


.v_box_in_txt{
margin: 0 auto;
padding: 0;
width:600px ;
text-align: left;
}

.v_box_in_txt img{
margin: 0 auto;
padding:0 0 0 0;
text-align: left;
}



.v_box_img{
width: 250px;
text-align:left;
height: 58px;
}




@media screen and (max-width: 979px) {
.v_box{
display: block;
margin: 20px auto;
width: 90%;
padding: 10px 0;
box-shadow: 8px 8px #0092e2;

}

.v_box_top{
margin: 0 auto;
padding: 0;

}

.v_box_top img{
vertical-align: top;
vertical-align: bottom;
}



.v_box_in{
display: flex;
padding:10px 15px 5px 15px;
width:100%;
margin: 0 auto;
flex-wrap :wrap;
}

.v_box_in_img{
margin: 0 auto;
padding: 0;
width:30%;
text-align: left;
}

.v_box_in_img img{
margin: 0 auto;
padding: 0;
width:100%;
text-align: left;
}

.v_box_in_txt{
margin: 0 auto;
padding: 0;
width:70%;
text-align: left;
}

.v_box_in_txt img{
margin: 0 auto;
padding:0 0 0 0;
text-align: left;
}



.v_box_img{
width: 250px;
text-align:left;
height: 58px;
}

.child_1{
  order: 2;
}
.child_2{
  order: 3;
}


}


.contents002{
margin: 40px auto 20px;
width: 100%;
background-color: #ffffff;
padding:0 0 20px 0;
}

.contents002_top{
width: 100%;
height: 5px;
background: url("../img/bg_01.png") top center repeat;
margin: 0 auto 50px;
}

@media screen and (max-width: 979px) {
.contents002_top{
width: 100%;
height: 5px;
background: url("../img/bg_01.png") top center repeat;
margin: 0 auto 10px;
}

}

.contents003{
margin: 40px auto 20px;
width: 1000px;
background-color: #ffffff;
padding:0 0 20px 0;
}

.contents003_txt{
margin: 40px auto 20px;
background-color: #ffffff;
padding:50px 150px;
line-height: 1.8;
}

@media screen and (max-width: 979px) {
.contents003{
margin: 40px auto 20px;
width: 90%;
background-color: #ffffff;
padding:0 0 20px 0;
}

.contents003_txt{
margin: 20px auto 20px;
background-color: #ffffff;
padding:10px;
}

}

.contents004{
margin: 40px auto 0;
width: 100%;
background-color: #ffffff;
padding:30px 0;
background: url("../img/bg_01.png") top center repeat;
text-align: center;
}

.contents004 img{
padding: 0 0 20px 0;
}


.contents005{
margin: 0 auto 0;
width: 100%;
background-color: #ffffff;
padding:50px 0;
background: url("../img/contents005_bg.png") top center no-repeat;
background-size: cover;
text-align: center;
}

.contents005 img{
padding: 0 0 20px 0;
}

@media screen and (max-width: 979px) {
.contents005{
margin: 0 auto 0;
width: 100%;
background-color: #ffffff;
padding:20px 0;
background: url("../img/contents005_bg.png") top center no-repeat;
background-size: cover;
text-align: center;
}

.contents005 img{
padding: 0 0 20px 0;
}
}


.contents006{
margin: 0 auto 0;
width: 100%;
padding:50px 0;
text-align: center;
}

.contents006_box{
margin: 0 auto 0;
width: 1000px;
padding:50px 0;
text-align: center;
background-color: #ffffff;
}

.contents006_txt{
margin: 0 auto 0;
padding:40px;
text-align: left;
}

@media screen and (max-width: 979px) {

.contents006{
margin: 0 auto 0;
width: 100%;
padding:20px 0;
text-align: center;
}

.contents006_box{
margin: 0 auto 0;
width: 90%;
padding: 0;
text-align: left;
background-color: #ffffff;
}

.contents006_txt{
margin: 0 auto 0;
padding:10px 10px;
text-align: left;
}
}

.contents007{
margin: 40px auto 0;
width: 100%;
background-color: #ffffff;
padding:30px 0;
background: url("../img/bg_01.png") top center repeat;
text-align: center;
}


.contents007_bg{
margin:100px auto;
width:1000px;
padding:50px 0;
background: url("../img/contents006_bg_middle.png") top center no-repeat;
background-size: cover;
text-align: center;
}




.contents007_r_01{
position: relative;
}

.contents007_r_01 img{
  position: absolute;
  top: -97px;
  left: -5px;
}

.contents007_r_02{
position: relative;
}

.contents007_r_02 img{
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- translateX(-50%);
}

.contents007_row{
display: flex;
justify-content: space-between; 
margin:0 auto 0;
padding:50px 50px 20px 50px;
text-align: center;
}

.contents007_img{
margin:0;
width:400px;
text-align: left;
}

.contents007_txt{
margin:0 auto;
text-align: left;
padding: 0 0 0 50px;
line-height: 1.4;
}

@media screen and (max-width: 979px) {
.contents007{
margin: 20px auto 0;
width: 100%;
background-color: #ffffff;
padding:30px 0;
background: url("../img/bg_01.png") top center repeat;
text-align: center;
}


.contents007_bg{
margin:30px auto;
width: 90%;
padding:20px 0 10px 0;
background: url("../img/contents006_bg_middle.png") top center no-repeat;
background-size: cover;
text-align: center;
}




.contents007_r_01{
position: relative;
}

.contents007_r_01 img{
  position: absolute;
  top: 75%;
  left: 61%;
  transform: translateY(-75%) translateX(-62%);
  -webkit- transform: translateY(-75%) translateX(-62%);
}

.contents007_r_02{
position: relative;
}

.contents007_r_02 img{
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateY(-70%) translateX(-49%);
  -webkit- transform: translateY(-70%) translateX(-49%);
}

.contents007_row{
display: flex;
justify-content: space-between; 
margin:0 auto 0;
padding:10px;
text-align: center;
flex-wrap: wrap;
}

.contents007_img{
margin:0;
width:100%;
text-align: left;
padding: 10px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.contents007_img img{

}

.contents007_txt{
margin:0 auto;
text-align: left;
padding: 0;
width:100%;
}

}
.row_box {
margin:80px auto;
padding:0 5px;
text-align: center;
width: 900px;
}

.row {
display: flex;
justify-content: space-between; 
margin:0 auto 0;
padding:0 5px;
text-align: center;
}

.col {
margin:0 20px 20px 0;
width:calc(33.33333% - 20px);
font-size: 16px;
text-align: left;
}

.col:nth-child(3n){
margin-right:0;
}

.col p{
padding: 10px;
}

@media screen and (max-width: 979px) {
.row_box {
margin:30px auto;
padding:0 5px;
text-align: center;
width: 100%;
}

.row {
display:block;
justify-content: space-between; 
margin:0 auto 0;
padding:0 5px;
text-align: center;
flex-wrap: wrap;
width:100%;
}

.col {
margin:0 auto;
width:100%;
font-size: 16px;
text-align: center;

}

.col img{
margin:10px auto;
text-align: center;
width:70%;
}

.col:nth-child(3n){
margin:0 auto 0;
}

.col p{
padding: 0;
line-height: 1.6;
}

}




/*全体*/
.hidden_box {
    margin: 0　auto;/*前後の余白*/
    padding: 0;
}

/*ボタン装飾*/
.hidden_box label {

    cursor :pointer;
}

/*ボタンホバー時*/
.hidden_box label:hover {
  opacity: 0.5;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
	background-color: #ffffff;
	font-size: 18px;
	text-align: left;
	    border: #DDD 3px solid;
		border-radius: 30px;

	
}





.footer{
width:100%;
border-top: 1px solid #333333;
margin:30px auto 0;
padding:50px 0;

font-size:16px;
	text-align: center;
	color:#333333;

}

.footer a{
	color:#333333;

}

.footer a:hover{
color:#990033;
}

.footer img{
padding:0 0 20px 0;
	margin: 0 auto 10px;
}




.con_center {
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	text-align: center;
	background-color: #000;
}

.black_bg {
	width: 100%;
	background-color: #000;
	padding: 20px 0;
}

.yel_bg {
	width: 100%;
	background-color: #fafae3;
	padding: 20px 0;
}



@media screen and (max-width: 979px) {
body {

    min-width: 100%;
}
.max_w {
	width: 100%;
	margin: 0 auto;
}

.max_w90 {
	width: 90%;
	margin: 0 auto;
}

.max_w96 {
	width: 96%;
	margin: 0 auto;
}

.max_w70 {
	width: 70%;
	margin: 0 auto;
}


.wrapper {
	padding:0;
}


}

#pp {
    width: 700px;
    margin: 30px auto;
    padding: 15px 15px 15px;
    border: solid 1px #cccccc;
    background-color: #FFF;
    overflow: auto;
    height: 70px;
    text-align: left;
    color: #999999;
    font-size:12px;
}

@media screen and (max-width: 979px) {

#pp {
    width: 96%;

}

}



/* ############   追加分*/

table{
font-size:80%;
line-height:180%;
    text-align: left;
    color:#000000;
    margin: 30px auto 0;
}

.table_02{
    border: 1px #666666 solid;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: left;
}



 th {
    padding: 10px;
    border: #666666 solid;
    border-width: 0 0 1px 1px;
    background: #ffa34d;
    font-weight: bold;
    line-height: 120%;
    text-align: center;
    color:#ffffff;
}

 td {
    padding: 10px;
    border: 1px #666666 solid;
    border-width: 0 0 1px 1px;
    text-align: left;
        background: #ffffff;
}

.nowrap {

        white-space: nowrap;
}


table ul{
list-style-type:disc;
margin-left:20px;
margin-top:10px;
}

@media screen and (max-width: 979px) {
 th {
 display: none;
}

table{
font-size:120%;
line-height:220%;
    text-align: left;
    color:#000000;
    margin: 30px auto 0;
    border-width:0;
}

.table_02{
    border: 0px #666666 solid;

}



 td {
  display: block;
    padding: 10px 20px 5px 20px;
    border: #666666 solid 0px;
    border-width:0;
    background: #ffffff;
    line-height: 120%;
    text-align: left;
    color:#000000;
}

.sp_bg {
    background: #ffa34d;
    color:#ffffff;
    padding: 10px 20px;
        text-align: center;
}

table ul{
line-height:160%;
}


}


.reflection {
 width: 965px;
  position: relative;
  overflow: hidden;
  margin:0 auto;
  text-align: center;
  border-radius: 100px;
}
@media screen and (max-width: 979px) {
.reflection {
 width: 90%;
position: relative;
overflow: hidden;
border-radius: 100px;
}
}


.reflection::after {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
  border-radius: 100px;
}
@keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}


a:hover img{
opacity:0.4;
filter:alpha(opacity=40);
-ms-filter: "alpha( opacity=40 )";
background:none!important;
}

.readmore_box{
margin: 0 auto 50px;
width: 855px;
text-align: left;
}

.readmore{
    position: relative;
    box-sizing: border-box;
    /*以下お好み*/
    /* ボーダーを付ける場合 */
    padding: 10px 10px 50px 10px;
    border: 0 solid #CCC;

}

.readmore-content{
    position: relative;
    overflow: hidden;
    /*以下お好み*/
    /*高さの初期値*/
    height: 80px;

}
.readmore-content::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
    /*以下お好み グラデーションの色と高さ 高さはreadmoreのheight以下にすること*/
    height: 50px;
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.8) 50%, #fff 100%);
}

/* 続きを読むボタン */
.readmore-label{
    display: table;
    bottom: 20px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    margin: 0 auto;
    z-index: 2;
    padding: 5px 20px;
    background-color: #016eaa;
    color: #FFF;
}
.readmore-label:before{
    content: '続きを読む';
}

.readmore-check{
    display: none;
}
/*チェック時にボタンを非表示*/
.readmore-check:checked ~ .readmore-label{
    position: static;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    /* 「続きを読む」を押した後、元に戻す必要がない場合は、上のオプションを消してこの1行だけにする */
    /* display: none; */
}
.readmore-check:checked ~ .readmore-label:before{
    content: '閉じる';
}
/*チェック時に高さを自動に戻す*/
.readmore-check:checked ~ .readmore-content{
    height: auto;
}
/*チェック時グラデーション等を削除*/
.readmore-check:checked ~ .readmore-content::before {
    display: none;
}


@media screen and (max-width: 979px) {

.readmore{
    position: relative;
    box-sizing: border-box;
    /*以下お好み*/
    /* ボーダーを付ける場合 */
    padding: 10px;
    border: 0 solid #CCC;

}
.readmore_box{
margin: 0 auto;
width: 100%;
text-align: left;
}

}