@charset "utf-8";

body{
background-color: #ffffff;
background-image: url("https://www.transparenttextures.com/patterns/pyramid.png");
}


div.container{
width: 100%;
max-width: 700px;
margin: 0px auto;
background-color: #f2afc3;
padding-top: 20px
}

div.certification{
height: 100vh;
position: relative
}

article.certification{
width: 100%;
position: absolute;
top:50%;
transform: translateY(-50%);
text-align: center;
}

h3.certification{
font-size:28px;
margin-bottom: 20px
}

h4.certification{
font-size:15px;
margin-bottom: 30px
}

div.certification_link{
width: 80%;
margin: 0px auto;
display: flex;
align-items: center;
gap: 10px
}

a.certification{
width: calc(50% - 5px);
display: block;
background: #fff;
padding: 14px 0px;
border-radius: 3px;
color: #fff
}

a.red{
background: #ff0000
}

a.white{
background: #fff;
color: #999
}

div.top{
background-color: #f2afc3;
background-image: url("https://www.transparenttextures.com/patterns/green-gobbler.png");
}

header.header{
width: 90%;
margin: 0px auto 30px auto;
border-radius: 10px;
overflow: hidden
}

h2.section{
text-align: center;
font-size:24px;
margin-bottom: 20px;
position: relative;
padding-bottom: 20px
}

h2.section i{
text-align: center;
font-size:13px;
margin-top: 5px
}

h2.section:after{
content:'';
position: absolute;
width: 24px;
height: 2px;
background: #fff;
bottom:0px;
left:50%;
transform: translateX(-50%)
}

/*--------------------breadcrumb--------------------*/

ol{
margin-bottom: 20px;
padding: 20px 0px 20px 3%;
border-bottom: solid 1px #fff
}

ol li{
display:inline-block;
list-style: none;
vertical-align: middle;
}

ol li:after{
content: '»';
margin: 0px 5px 0px 5px;
color:#fff
}

ol li:last-child:after{
content: '';
display: none;
}

ol li a {
text-decoration: none;
color: #fff;

font-weight: 200
}

ol li a span{
font-size:12px;
font-weight: 400
}

ol li:first-child a{
background: url(../img/icon/home.png) no-repeat left center;
background-size: 12px;
padding-left: 20px;
}

div.privacy{
width: 90%;
margin: 0px auto;
height: 70vh;
overflow-y: scroll;
border:solid 1px #fff;
padding: 15px;
border-radius: 10px;
margin-bottom: 20px;
}

article.contents{
margin-bottom: 30px;
}

h3.contents{
font-size:14px;
font-weight: 600;
margin-bottom: 30px;
}

h4.contents{
font-size: 12px;
font-weight: 400;
line-height: 2.0
}

div.more{
margin-bottom: 30px
}

a.more{
width: 70%;
background: #fff url(../img/icon/arrow.png) no-repeat center right 20px;
background-size: 18px;
display: block;
text-align: center;
margin: 0px auto;
border-radius: 5px;
color: #000;
padding: 15px 0px 15px 0px
}

section#contact{
position: relative;
z-index: 1
}

div.contact{
width: 90%;
margin: 0px auto;
}

h5.contact{
font-size: 14px;
margin-bottom: 5px;
letter-spacing: 0.1em
}

label.input{
width: 100%;
height: 50px;
border-radius: 5px;
display: block;
background: #fff;
overflow: hidden;
border:solid 1px #dcdcdc;
margin-bottom: 15px;
color: #000;
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,メイリオ,Meiryo,osaka,ＭＳ Ｐゴシック,MS PGothic,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji,sans-serif;
font-weight: 500;
font-size:16px;
}

input[type="text"],input[type="email"],input[type="number"],input[type="tel"]{
width: 100%;
height: 100%;
border:none;
background: transparent;
font-size:16px;
padding-left: 10px
}

select{
width: 100%;
height: 100%;
appearance: none;
-webkit-appearance: none; 
-moz-appearance: none;
border:none;
background: transparent;
font-size:14px;
padding-left: 10px;
color: #000
}

.select-wrapper {
position: relative;
display: inline-block;
width: 200px;
}

.select-wrapper::after {
content: "▼";
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-size: 12px;
pointer-events: none; 
color: #555;
}

label.short{
width: 54%
}

label.textarea{
width: 100%;
height: 150px;
border-radius: 5px;
display: block;
background: #fff;
overflow: hidden;
border:solid 1px #dcdcdc;
margin-bottom: 15px;
color: #000;
}

textarea {
all: unset;
font-weight: 500;
width: 100%;
height: 120px;
padding: 10px;
box-sizing: border-box;
font-size: 14px;
line-height: 1.5;
background: transparent;
resize: vertical; 
}

button.submit-button {
width: 86%;
display: block;
letter-spacing: 0.1em;
appearance: none;
-webkit-appearance: none;
margin: 0 auto 20px auto;
border: none;
background: #fff;
color: #000;
padding: 10px 0;
font-size: 16px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.2s;
font-weight: 600;
}

input[type="button"].submit-button {
width: 70%;
height: 50px;
display: block;
letter-spacing: 0.1em;
appearance: none;
-webkit-appearance: none;
margin: 0 auto 30px auto;
border: none;
background: #999;
color: #fff;
padding: 5px 0;
font-size: 14px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.2s;
font-weight: 600;
}

input[type="submit"].submit-button {
width: 78%;
display: block;
letter-spacing: 0.1em;
appearance: none;
-webkit-appearance: none;
margin: 0 auto 30px auto;
border: none;
background: #fff;
color: #000;
padding: 15px 0;
font-size: 14px;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.2s;
font-weight: 600;
}

.submit-button:hover {
background-color: #0056b3;
}

h2.contact_small{
font-size:13px;
text-align: center;
margin-bottom: 30px
}

h5.section{
font-size:14px;
text-align: center;
line-height: 2;
margin-bottom: 30px
}

hr{
width: 100%;
border:none;
width: 100%;
height: 1px;
background: #fff;
margin-bottom: 20px
}

h3.question{
text-align: center;
font-size:20px;
margin-bottom: 15px;
line-height: 1.2
}

div.radio-buttons{
display: flex;
align-items: center;
gap: 10px;
justify-content: center;
margin-bottom: 20px;
flex-wrap: wrap
}

.radio-buttons input[type="radio"] {
display: none;
}

.radio-buttons label {
width: 31%;
border-radius: 5px;
text-align: center;
padding: 12px 0px;
background-color: #fff;
color: #f857a6;
font-weight: bold;
cursor: pointer;
transition: all 0.2s ease;
user-select: none;
}

.radio-buttons input[type="radio"]:checked + label {
background: #f857a6;
color: #fff;
}

article.matters{
padding: 15px;
background: #fff;
border-radius: 10px;
margin-bottom: 20px
}

h3.matters{
text-align: center;
font-size:20px;
margin-bottom: 15px;
line-height: 1.2;
color: #333;
font-weight: 500
}

h5.matters{
font-size:14px;
margin-bottom: 10px;
color: #666;
text-indent: -1em; 
padding-left: 1em;
}

h5.hope{
color: #000;
display: flex;
align-items: center;
font-size:16px;
font-weight: 500
}

h5.hope span{
display: inline-block;
width: 60px;
border-radius: 3px;
font-size:14px;
text-align: center;
background: #f857a6;
color: #fff;
margin-right: 10px
}

label.check {
display: inline-block;
padding: 10px 14px;
border: 2px solid #dcdcdc;
border-radius: 8px;
margin: 10px 0;
cursor: pointer;
position: relative;
font-size: 16px;
background-color: #f9f9f9;
transition: background-color 0.3s ease, border-color 0.3s ease;
width: 100%;
box-sizing: border-box;
}

input[type="radio"]:checked + label.check {
background-color: #e6f0ff;
border-color: #007bff;
}

input[type="radio"]:checked + label.check::after {
content: "✔";
position: absolute;
top: 10px;
right: 14px;
font-size: 18px;
color: #007bff;
}



h5.total{
color: #000;
display: flex;
align-items: center;
font-size:16px;
font-weight: 500;
border-bottom: dotted 1px #dcdcdc;
padding-bottom: 15px;
margin-bottom: 15px
}

h5.total b{
margin: 0px 0px 0px auto
}

div.check{
width: 80%;
margin: 0px auto;
font-size:16px;
font-weight: 400;
margin-bottom: 40px;
}

label.checkbox{
width: 20px;
height: 20px;
border:solid 1px #dcdcdc;
display: inline-block;
vertical-align: middle;
margin-right: 10px;
}

input[type="checkbox"]{
width: 100%;
height: 100%;
border:none;
box-shadow: none;
border-radius: 0px;
}

a.checkbox{
text-decoration: underline;
color: #fff
}

/*--------------------footer--------------------*/

footer.footer{
width: 90%;
margin: 0px auto;
padding: 20px 0px 30px 20px;
text-align: center;
border-top:solid 1px #fff
}







