@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
margin:0;
padding:0;
font-size:100%;
color:#111;
background-image:url("img/bg.jpg") ;
background-position:center center;
background-size:cover;
background-attachment:fixed;
font-family: "Noto Sans Japanese";
}


/*---------- リンク設定 ----------*/

a:link {color:#37859a;text-decoration:underline;}
a:visited {color:#37859a;text-decoration:underline;}
a:hover {color:#139eb1;text-decoration:none;}
a{-webkit-transition:0.3s ease-in-out;-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;transition:0.3s ease-in-out;}
a img {border-style:none;}
img {vertical-align:bottom;image-rendering:-webkit-optimize-contrast;}
a:hover img{filter:brightness(1.2);}
a img {border-style:none;-webkit-transition:all .3s;transition:all .3s;}


/*---------- ベーステキストの指定 ----------*/

p {
font-size:110%;
line-height:180%;
}
@media screen and (min-width:769px){
p {font-size:20px;letter-spacing:1px;}
}


/*---------- 見出し ----------*/

h1{}
h2{}
h3{}
h4{}


/*---------- PC・スマホの非表示指定 ----------*/

@media screen and (max-width:768px){.spnone{display:none;}}
@media screen and (min-width:769px){.pcnone{display:none;}}


#wrapper{margin:0 auto;padding:0;background-color:#fff;}
@media screen and (min-width:769px){
#wrapper{width:600px;box-shadow:0 0 60px rgba(69,42,27,0.5);}
}

.mv{
margin:0 0 30px 0;
padding:0;
}
.mv img{width:100%;}

.yureru {animation: yureru 2s infinite;}
@keyframes yureru {
0% {transform: translate(0px, 3px);}
5% {transform: translate(0px, -3px);}
10% {transform: translate(0px, 3px);}
15% {transform: translate(0px, -3px);}
20% {transform: translate(0px, 3px);}
25% {transform: translate(0px, -3px);}
30% {transform: translate(0px, 0px);}
}
.reflection{
margin:0;
padding:0;
display:inline-block;
position:relative;
overflow:hidden;
}
.reflection:after {
content:"";
height:100%;
width:30px;
position:absolute;
top:-180px;
left:0;
background-color: #fff;
opacity:0;
-webkit-transform: rotate(45deg);
-webkit-animation: reflection 2s ease-in-out infinite;
} 
@keyframes reflection {
0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.btn{
margin:0 30px 15px 30px;
padding:0;
}
.btn img{width:100%;}
.btn_caption{
margin:0 20px;
padding:0;
font-size:80%;
line-height:150%;
text-align:center;
color:#666;
}
@media screen and (min-width:769px){
.btn_caption{margin:0 30px;font-size:16px;}
}

.detail{
margin:45px 0;
padding:0;
}
.detail img{width:100%;}
.about{
margin:80px 0 40px 0;
padding:0;
}
.about img{width:100%;}

.voice_top{margin:0;padding:0;}
.voice_top img{width:100%;}
.voice{
margin:120px 20px 0 20px;
padding:0 30px 25px 30px;
background-color:#fff7e6;
position:relative;
}
.voice p{font-size:120%;text-align:justify;}
.voice_pict{
margin:0;
padding:0;
text-align:center;
top:0;
left:50%;
position:absolute;
transform: translate(-90px, -50%);
-webkit-transform: translate(-90px, -50%);
-ms-transform: translate(-90px, -50%);
}
.voice_pict img{
width:180px;
border-radius:50%;
border:solid 6px #fff;
}
.voice_name{
margin:0;
padding:110px 0 10px 0;
font-size:120%;
line-height:150%;
text-align:center;
color:#c0a916;
}
.voice_title{margin:0;padding:0;}
.voice_title img{width:100%;}
.voice_caption{
margin:0;
padding:0;
font-size:90%;
line-height:180%;
text-align:right;
color:#666;
}
@media screen and (min-width:769px){
.voice{margin:120px 30px 0 30px;padding:0 25px 25px 25px;}
.voice p{font-size:22px;}
.voice_name{font-size:20px;}
.voice_caption{font-size:16px;}
}

.txt_box{
margin:65px 0 0 0;
padding:0;
}
.txt_box img{width:100%;}

.reason_top{margin:0;padding:0;}
.reason_top img{width:100%;}
.reason_pict{margin:0;padding:0;}
.reason_pict img{width:100%;}
.reason_txt{
margin:0 30px;
padding:0;
}
.reason_txt p{font-size:130%;}
.reason_line{margin:0;padding:0 30px 25px 30px;}
.reason_line img{width:100%;}
@media screen and (min-width:769px){
.reason_txt p{font-size:25px;}
}

.contents_top{margin:80px 0 0 0;padding:0;}
.contents_top img{width:100%;}
.contents{margin:0;padding:0;}
.contents img{width:100%;}
.contents_txt{
margin:0;
padding:1px 30px;
background-color:#fdfcf0;
}
.contents_txt p{font-size:130%;}
.contents_txt5{
margin:0;
padding:1px 30px 30px 30px;
background-color:#fdfcf0;
}
.contents_txt5 p{font-size:130%;}
@media screen and (min-width:769px){
.contents_txt p{font-size:25px;}
.contents_txt5 p{font-size:25px;}
}

.step{
margin:0 0 45px 0;
padding:0;
}
.step img{width:100%;}
.ps{
margin:60px 0 45px 0;
padding:0;
}
.ps img{width:100%;}

.profile_bg{
margin:40px 0 0 0;
padding:110px 0 0 0;
background-image:url("img/profile_back.png") ;
background-position:top center;
background-repeat:no-repeat;
background-size:100% auto;
}
@media screen and (min-width:769px){.profile_bg{margin:80px 0 0 0;padding:140px 0 0 0;}}
.profile{
margin:0 30px;
padding:0;
background-color:#fff;
box-shadow:0 0 15px rgba(0,0,0,0.5);
}
.profile_pict{margin:0;padding:0;}
.profile_pict img{width:100%;}
.profile_txt{margin:0 30px;padding:0;}
.profile_result{margin:0;padding:15px;}
.profile_result img{width:100%;}

.footer_link{
margin:0;
padding:60px 0 0 0;
font-size:12px;
line-height:150%;
text-align:center;
}
.footer_link a:link {color:#333;text-decoration:none;}
.footer_link a:visited {color:#333;text-decoration:none;}
.footer_link a:hover {color:#333;text-decoration:underline;}
#footer{
margin:0;
padding:10px 0 30px 0;
font-size:80%;
line-height:150%;
text-align:center;
color:#333;
}
@media screen and (min-width:769px){
#footer{
margin:0;
padding:10px 0 30px 0;
font-size:12px;
}
}


#subpage{
margin:0;
padding:30px 20px 1px 20px;
background:#fff;
box-shadow:0 0 60px rgba(69,42,27,0.5);
}
#subpage p{font-size:80%;}
.page_title{
margin:0 0 30px 0;
padding:0;
font-size:120%;
line-height:150%;
text-align:center;
}
table.info{
width:100%;
border-collapse:separate;
margin:0 0 20px 0;
}
table.info th{
padding:20px 0 5px 0;
font-size:80%;
line-height:150%;
text-align:left;
border-bottom:solid 1px #666;
display:block;
}
table.info td{
padding:10px 0 0 0;
font-size:80%;
line-height:150%;
display:block;
}
@media screen and (min-width:769px){
#subpage{
width:640px;
margin:0 auto;
padding:75px 60px 1px 60px;
}
#subpage p{font-size:14px;}
.page_title{
margin:0 0 60px 0;
font-size:24px;
letter-spacing:1px;
}
table.info{margin:20px 0;}
table.info th{
width:180px;
padding:10px 0;
font-size:14px;
letter-spacing:1px;
display:table-cell;
}
table.info td{
padding:10px;
font-size:14px;
letter-spacing:1px;
border-bottom:dotted 1px #ccc;
display:table-cell;
}
}



/*---------- 文字装飾 ----------*/

.bold{font-weight:bold;}
.ul{text-decoration:underline;}
.red {font-weight:bold;color:#c30d23;}
.ym{background:linear-gradient(transparent 0%, #fdfb8f 0%);}


/*---------- 文字位置 ----------*/

.center{text-align:center;}
.right{text-align:right;}

