/* css variables*/
:root {
  --primary-color: #432E30;
  --primary-color-light: #8E7474;
  --accent-color: #b70017;
  --accent-color-light: #d86407;
  --accent-color-dark: #B94B4C;
  --white-color: #FAFBFC;
  --light-gray-color: #C6CBD1;
  --medium-gray-color: #959DA5;
  --dark-gray-color: #444D56; 
  --code-bg-color: #F0E8E8;
  --primary-fontsize:3.8vw;
  --font-type-small:3.4vw;
  --font-type-bold:900;
}

/* normalized */
html{
  padding: 0;
  margin: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
    font-weight: 400;
    line-height: 1.7;
  background-color: white;
  background-image: url(img/base.png);
  background-repeat: repeat;
}
body {
    padding: 0;
    margin: 0 auto;
    background-image:url(img/line01.png);
    background-repeat: repeat-x;
   font-size:var(--primary-fontsize);
   font-feature-settings: "palt";
}

p {
  font-weight: 300;
  color: #000;
  margin: 0;
}

a, a:hover {
  text-decoration: none;
  color: var(--primary-color);
}

hr {
  padding: 1rem 0;
  border: 0;
  border-bottom: 1px solid var(--bg-color);
}

* {
  box-sizing: border-box;
}

nav {
  top: 0;
  right: 0;
  z-index: 101;
  background-color: var(--bg-color);
  position: absolute;
}


/* layout */
.wrapper {
  margin: 0 auto;
  width: 90%;
}

.wra021 {
  text-align: left;
  background-color: #fff;
  margin: auto;
  padding-left: 5%;
  width: 100%;
}

.wra02 {
  background-color: #fff;
  margin: auto;
  /*padding-left: 5%;*/
  width: 100%;
}

.footer {
  text-align: center;
  background-image: url(img/line01.png);
  background-repeat: repeat-x;
  /* padding: 2rem; */
  /* color: white; */
  margin: 0 0 20px 0;
  padding: 90px 0 0 0;
  font-size: 0.9em;
}
.footer a:hover{text-decoration: underline;}
#contact{text-align: center;margin:30px 0 0 0;}
#contact a:link{text-decoration: none;}
#contact a:hover{text-decoration: underline;}
/* global components */

/* installation */
.installation{overflow: hidden;}
.section__title {
  color: var(--accent-color);
  margin:15px 0 0 0;
}
.icon{width:15%;float:left;}
.icon img{width:100%;margin:20px 5px 0 -5px;text-align:left;display: block;}
.txtarea{float:right;width:85%;padding:0 0 0 5px;}
.txtarea p{font-size:0.95em;margin:0;  line-height: 1.2;}
.img_banner{text-align: center;
  width:100%;}


.suisyotxt {
  margin-top: 30px;
  text-align: center;
  font-size: 0.65em;
}

.suisyotxt strong {  
  text-align: center;
  font-size: 1em;
  font-weight: 700;
}

/*attention*/
.attention{background-image: url(img/line02.png);background-repeat: repeat-x;padding: 40px 0 10px 0; margin: 20px 0;}

.attention> p.check{position: relative;margin-bottom: 30px;line-height: 1.6;} 
.attention> p.check:before{
  content: '';
    top: 0;
    left: 0;
    width: 11%;
    padding-top: 11%;
    display: inline-block;
    margin-top: -15px; 
}
.attention> p.check:after{
    
    position: absolute;
    content: '';
    top: 0;
    left:0;
    display: block;
    width: 9%;/*幅*/
    height: 50px;/*どれだけデカくなってもはみ出ないであろう高さを指定*/
    background-image: url(img/icon_check.png);
    background-size: contain;
    background-repeat: no-repeat;/*画像を繰り返さない*/
}
.attention> p.check span{font-weight: bold;}
.imgarea{margin:0 auto;
}
.imgarea img{width:100%;}
#explain{
  background-color: #fff;
  padding: 5% 2%;}
p.font-small{font-size: var(--font-type-small);line-height: 1.5;}
p.font-small>span{ font-weight: var(--font-type-bold);display:block;}

h3.title__type01{text-align: center;font-size: 1.3em;}
h3.title__type01_an{text-align: left;font-size: 1.2em;clor: #f00;}
h3.title__type02{
  color: var(--accent-color-light);
  padding:10px 0;
  /*background-image: url(img/icon_nihonsyu.png);
  background-repeat: no-repeat;
  padding-left: 90px;
  background-position: 0;
  background-size: 25%;
  line-height: 1.4;
  height: 170px;
  padding: 20px 0 0 25%;*/
}
h3.title__type02 img{float:left;width:25%;margin: -10px 10px 0 0;}
h3.title__type03{
  color: var(--accent-color-light);
  line-height: 1.6;
  text-align: center;
}
h3.stamp_link{color:#fff;font-size: 1.6em;text-align: center;width:90%;margin:20px auto 0 auto;}
h3.stamp_link a{display:block;background-color: #f00;color:#fff;border-radius: 10px;padding:4% 0;}
h3.stamp_link02{text-align: center;width:80%;margin:10px auto;color:#fff;}
h3.stamp_link02 a{display:block;background-color:#e96a02;color:#fff;font-size: 1.2em;border-radius: 10px;padding:4% 0;}
h3.stamp_link a:link,h3.stamp_link02 a:link{color:#fff;}
h3.stamp_link a:hover,h3.stamp_link02 a:hover{opacity: .5;}




.sanka_attenn {font color: #f00;
  border: solid 3px; color: #F00;
  padding: 20px;
  font:2em;
  line-height: 1.3em;
  }

h4{margin:25px 0 5px 0;  margin: 25px 0 0 0;}
.attention dl{margin:0 2%;}
.attention dl dt{
  color: red;
  margin: 30px 0 0 0;
  font-weight: 600;
  /*font-size: 1rem;*/
}
.attention dl dt:before {
  content: "\025a0";
  color: red;
  FONT-WEIGHT: 500;
}
.attention dl dd {
  margin: 0 0 4px 0;
  line-height: 1.5;
  font-size: 0.95em;
}
.attention dl dd img{
  width: 80%;
  margin: 0 auto;
  display: block;
}

.faq{ margin:0 10px; }



/* links */
.link {
  text-decoration: none;
  transition: all 0.3s ease-out;
  margin:5%;
}

.link:hover {
  color: var(--accent-color);
}

.link--dark {
  color: var(--primary-color);
}

.link--light {
  color: var(--accent-color);
}


.toggle {
  display: none;
  position: relative;
}

.toggle span,
.toggle span:before,
.toggle span:after {
  content: '';
  position: absolute;
  height: 2px;
  width: 26px;
  border-radius: 2px;
  background: var(--primary-color);
  display: block;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  right: 0;
}
.toggle span:before {
  top: -6px;
}

.toggle span:after {
  bottom: -6px;
}

.toggle.open span{
  background-color: transparent;
}

.toggle.open span:before,
.toggle.open span:after {
  top: 0;
}

.toggle.open span:before {
  transform: rotate(45deg);
}

.toggle.open span:after {
  transform: rotate(-45deg);
}


.menu {
  margin: 0;
  text-align: right;
  list-style: none;
  z-index: 100;
  position:relative;
  color:#fff;
  text-align: right;
  padding: 0.5rem 1rem;
}

.menu.responsive .menu__item:not(:first-child) {
  display: block;
}

.menu li{
  text-align: left;
  background-color: #131212c4;
  width: 90vw;
}
.menu li a{
  color:#fff;
}

.menu__item {
  padding: 10px;
  display: none;
}

.menu__item.toggle {
  display: block;
}
.fa{padding-right:10px;}

/* hero section */
.hero {
  padding:90px 0 0 0;
}

.hero__title {
  width:100%;
  margin: 0;
}
.hero__title img{
  width:100%;
}

.imgios {
  width:100%;
}

.img_banner02{
  text-align: center;
  width: 100%;
}

.private{
  text-align: left;
}

.private01{
  width: 90%;
  margin: 0 auto;
  display: block;
}

.private003{
  text-align: center;
}

.under002{
  width: 90%;
}

.check_under{
  padding-top:-10px;
}

.qa{
  background-image: url(img/qaline.png);
  font-size: 1em;
  font-weight: 500;
  margin-top: 30px;
  margin-bottom: 30px;
  padding-top: 30px;
  padding-bottom: 50px;
  width: 60%;
}

.mainimg{
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
}

.qa002{
  margin: auto;
  width: 90%;
}

.q01{
  text-align: left;
    background-image: url(img/q.png);
    background-repeat: no-repeat;
    background-size: 40px auto;
    font:4em;
    line-height: 2.2em;
  padding-left: 3.2em;
  padding-top: 0.5em;
  margin-bottom: 1.5em;
  width: 100%;
}

.q0199{
  text-align: left;
    background-image: url(img/q.png);
    background-repeat: no-repeat;
    background-size: 40px auto;
    font:4em;
    line-height: 2.2em;
  padding-left: 3.2em;
  padding-top: 0.5em;
  margin-bottom: 0.5em;
  width: 100%;
}

.a01{
  text-align: left;
    background-image: url(img/a.png);
    background-repeat: no-repeat;
    background-size: 40px auto;
    font:4em;
    line-height: 2.2em;
  padding-left: 3.2em;
  padding-top: 0.5em;
   margin-bottom: 1.3em;
    width: 100%;
}

.qaun01{
  font: 0.7em;
  font-weight: bolder;
　text-indent:-0.75em;
}

.under00{
  text-align: left;
  font: 0.8em;
}

.a001{
  background-image: url(newimg/1.png);
    background-repeat: no-repeat;
  background-size: 30px auto;
  font-size: medium;
padding-left: 2.8em;
padding-top: 0.4em;
margin-bottom: 10px;
width: 100%;
}

.a002{
  background-image: url(newimg/2.png);
    background-repeat: no-repeat;
  background-size: 30px auto;
  font-size: medium;
padding-left: 2.8em;
padding-top: 0.4em;
margin-bottom: 10px;
width: 100%;
}

.a003{
  background-image: url(newimg/3.png);
    background-repeat: no-repeat;
  background-size: 30px auto;
  font-size: medium;
padding-left: 2.8em;
padding-top: 0.4em;
margin-bottom: 10px;
width: 100%;
}

.screen{
  margin-top: -27px;
}

.akamoji{
  color: #f00;
}

.suisyotxt002 {
  text-align: left;
  font-size: 0.85em;
  text-indent: 2em;
}

.icontxt{
  text-align: left;
}