
body{
 font-family: 'M PLUS 1p', sans-serif !important;
 font-size: 120%;
}

html {
	scroll-behavior: smooth;
}


/**
COMMON
*/

#wrapper{
width: 100% !important;
}

#contents{
margin: 0;
padding-top: 0;
}

a {text-decoration: underline; outline: 0;}
a:link {color: #333;outline: 0;}
a:visited {color: #333; outline: 0;}
a:active {color: #333; outline: 0;}
a:hover {
	color: #666;
	text-decoration: none;
	outline: 0;
}


section{
padding: 50px 30px;
box-sizing: border-box;
text-align: center;
}

p.lead{
font-size: 130% !important;
}

p.catch.line{
border-bottom: solid 3px #003810;
display: inline;
}

p em{
color: #FFF;
background: #000;
}
p.caution{
font-size: 70% !important;
}

p.caution.center{
text-align:  center !important;
}

p.arrow{
margin: 2em 0;
}
p.arrow img{
height: 30px;
}
p.main_image img{
width: 80%;
}

p.title img{
height: 100px;
}

h3.center {
  position: relative;
  display: inline-block;
  padding: 0 200px;
  font-size: 160%;
  margin: 2em 0 0 0;
}
h3.center:before, h3.center:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 180px;
  height: 3px;
  background-color: black;
}
h3.center:before {left:0;}
h3.center:after {right: 0;}

h4{
color: #FFF;
padding:  20px;
border-radius: 5px;
background: #003810;
font-size: 140%;
}

p a{
text-decoration: none;
border-bottom: solid 3px #C94949;}

p.link a{
border: none;
}

div.step{
padding: 80px 50px 50px 50px;
border: solid 1px #999;
border-radius: 10px;
margin: 50px 0;
position: relative;
text-align: center;
}
div.step p.title{
position: absolute;
text-align: center;
top: -35px;
left: 0;
margin: 0;
width: 100%;
}
div.step p.title span{
font-size: 40px;
font-weight: bold;
background: #F2EADD;
padding: 0 10px;
}

section.support div.step p.title{
margin-top: 10px;
}
section.support div.step p.title span{
font-size: 30px;
font-weight: bold;
background: #FFF;
}

p.lead.open{
position: relative;
display: inline-block;
padding: 0 60px;
line-height: 1.5;
}
p.lead.open:before, p.lead.open:after{
content: '';
position: absolute;
top: 50%;
display: inline-block;
width:50px;
height: 2px;
background-color: black;
-moz-transform: rotate(70deg);
-webkit-transform: rotate(70deg);
-ms-transform: rotate(70deg);
transform: rotate(70deg);
}
p.lead.open:after{
-moz-transform: rotate(-70deg);
-webkit-transform: rotate(-70deg);
-ms-transform: rotate(-70deg);
transform: rotate(-70deg);
}
p.lead.open:before {left:0;}
p.lead.open:after {right: 0;}

p.button.link img{
height: 60px;
}

p.inline span{
display: inline-block;
}
p.inline span img{
width: 350px;
}


img.sp{
display: none;
}


/**
CONTENTS
*/

div.main_image{
position: relative;
}
div.main_image img{
width: 100%;
}

div.main_image h2{
position: absolute;
left: 0;
bottom: 30px;
width: 100%;
text-align: center;
}
div.main_image h2 img{
height: 80px;
width: auto;
}

.intro p.title{
margin: 50px 0 0 0;
}

.intro p.title img{
height: 70px;
}

.intro ul{
width: 80%;
margin: 50px auto;
}

.intro ul.main li{
padding: 20px 50px;
}

.intro ul li{
padding: 20px;
}


section.type1,
section.type2,
section.type3{
background: #F2EADD;
}
.type3 div.step p.caution{
margin-top: 50px !important;
}


.type2 p.button.link img {
     height: 100px; 
}

.support a.btn{
color: #FFF;
font-weight: bold;
border-radius: 10px;
background-color: #003810;
}




/**
NTRO BUTTON
*/

.intro ul li label{
    display: inline-block;
    width: 250px;
	height: 250px;
	font-size: 30px;
	border-radius: 50%;
    background: #bbb;
    color: #FFF;
    padding: 10px;
    margin: 10px;
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
	font-weight: bold;
	line-height: 1.6;
	
  display: flex;
  justify-content: center;
  align-items: center;
}
.intro ul li label:hover{background: #cb5238;}
.intro ul li input:checked+label{
    background: #cb5238;
    color: #FFF;
}
.intro ul li input{
    display: none;
}

.intro ul.sub li a.btn.circle{
background-color:#bbb;
color: #FFF;
width: 200px;
height: 200px;
border-radius: 50%;
	font-weight: bold;
	line-height: 1.6;
	
  display: flex;
  justify-content: center;
  align-items: center;
}
.intro ul.sub li a.btn.circle:hover{background: #cb5238;}






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


body{
 font-size: 90%;
}


/**
COMMON
*/

#wrapper{
padding: 0;
}

p.catch {
    font-weight: bold;
    font-size: 110%;
}

p.lead {
    font-size: 110% !important;
}

p.title img{
height: 100px;
}

.inner{
width: 100%;
    padding: 0 10px !important;
}

section{
padding: 30px 0px;
}


div.step {
    padding: 30px;
    border: solid 1px #999;
    border-radius: 10px;
    margin: 30px auto;
	text-align: center;
	width: 60%;
}
div.step p.title span {
    font-size: 22px;
	}
div.step p.title {
    top: -20px;
}

div.step img{
margin:  0 auto;
}
h3.center {
  position: relative;
  display: inline-block;
  padding: 0 80px;
  font-size: 120%;
  margin: 2em 0 0 0;
}
h3.center:before, h3.center:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 60px;
  height: 3px;
  background-color: black;
}
h3.center:before {left:0;}
h3.center:after {right: 0;}

p.title img{
height: 50px;
}

p.main_image img {
    width: 100%;
}

div.main_image h2{
bottom: 0;
}
div.main_image h2 img {
    height: 40px;
    width: auto;
}
img.pc{
display: none;
}
img.sp{
display: block;
}



/**
CONTENTS
*/

.intro p.title img{
height:40px;
}

.intro p.title {
    margin: 20px 0 0 0;
}

.intro ul{
width: 90%;
    margin: 10px auto;
}

.intro ul.main li {
    padding: 10px 10px;
}

.intro ul.sub.column_3 li {
width: 33% !important;
padding:  0 5px;
}

.type2 p.button.link img {
     height: 60px; 
}

.type3 div.step p.caution {
    margin-top: 20px !important;
}

section.support div.step{
width: 100%;
padding: 30px 10px 10px 10px;
}
section.support div.step p.title span {
    font-size: 16px;
    font-weight: bold;
    background: #FFF;
}


.support p.title img{
height: 40px;
}

.support ul li{
width: 80% !important;
margin: 0 auto;
}

p.arrow img{
width: auto;
height: 20px;
}

ul.flexbox.column_2.button li{
width: 100% !important;
margin-bottom: 10px;
}



/**
BUTTON
*/

.intro ul li label {
    display: inline-block;
    width: 150px;
    height: 150px;
    font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
}


.intro ul.sub li a.btn.circle {
    background-color: #bbb;
    color: #FFF;
    width: 100px;
    height: 100px;
    border-radius: 50%;
	font-size: 12px;
    font-weight: bold;
    line-height: 1.6;
    display: flex;
    justify-content: center;
    align-items: center;
}

