@charset "utf-8";

#mainvisual {
    position: relative;
    overflow: hidden;
}
#mainvisual:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #e9e9e9;
    transform: skewY(-7deg) translateY(-12.0rem);
    z-index: -1;
}
#mainvisual div.bg-main {
  position: relative;
  padding-top: 15.0rem;
  padding-bottom: 20.0rem;
  overflow: hidden;
  background: url("../../image/main.png") no-repeat top right;
  background-size: contain;
}
#mainvisual div.bg-main#slide-b {
  position: relative;
  padding-top: 15.0rem;
  padding-bottom: 20.0rem;
  overflow: hidden;
  background: url("../../image/main02.png") no-repeat top right;
  background-size: contain;
}
#mainvisual div.main-in {
    width: 120.0rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: center;
}
#mainvisual div.main-in .main-l {
    width: 64.0rem;
    margin-right: 5%;
}
#mainvisual div.main-in .main-l li.pictop img {
    width: 18.8rem;
    margin: 0 auto -5%;
}
#mainvisual div.main-in .main-l figure {
    margin-bottom: 4.0rem;
}
#mainvisual div.main-in .main-r {
    width: 42.0rem;
}

#mainvisual ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
    width: 66.0rem;
}
#mainvisual ul li {
    width: 32.0rem;
}
#mainvisual ul li a,
#mainvisual #costdown ul li a {
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
    background: #0e82c1;
    border: 1px solid #0e82c1;
    width: 100%;
    height: 10.0rem;
    padding-top: 1.0rem;
    display: block;
    border-radius: 10.0rem;
    box-sizing: border-box;
    position: relative;
    transition: 0.2s;
}
#mainvisual ul li a:hover,
#mainvisual #costdown ul li a:hover {
    color: #0e82c1;
    background: #fff;
}
#mainvisual ul li a:after {
    font-family: 'Material Symbols Outlined';
    content: '\e5cf';
    position: absolute;
    bottom: -1.0rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #fff;
    font-size: 5.0rem;
    font-weight: 100;
    line-height: 1;
    transition: 0.2s;
}
#mainvisual ul li a:hover:after {
    color: #0e82c1;
    bottom: -1.5rem;
}
#mainvisual ul li a span {
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
}
#mainvisual ul li:first-of-type a:before {
    position: absolute;
    content: '';
    background: url("../../image/icon-tld@2x.png") no-repeat;
    background-size: 4.0rem 4.4rem;
    width: 4.0rem;
    height: 4.4rem;
    top: 50%;
    left: 3.0rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
#mainvisual ul li:last-of-type a:before {
    position: absolute;
    content: '';
    background: url("../../image/icon-dc@2x.png") no-repeat;
    background-size: 4.0rem 4.4rem;
    width: 4.0rem;
    height: 4.4rem;
    top: 50%;
    left: 3.0rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#mainvisual ul li:first-of-type a:hover:before {
    background: url("../../image/icon-dc-o@2x.png") no-repeat;
    background-size: 4.0rem 4.4rem;
}
#mainvisual ul li:last-of-type a:hover:before {
    background: url("../../image/icon-tld-o@2x.png") no-repeat;
    background-size: 4.0rem 4.4rem;
}
.slick-prev,
.slick-next {
  width: 5.0rem;
  height: 5.0rem;
  z-index: 55;
}
.slick-prev {
  left: 5.0rem;
}
.slick-next {
  right: 5.0rem;
}
.slick-prev:before,
.slick-next:before {
  color: black;
  font-size: 5.0rem;
  opacity: 0.4;
}
/* お悩み
--------------------------------------------*/
#kankyo {
    width: 100.0rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
}
#kankyo figure {
    width: 50.0rem;
}
#kankyo dl {
    width: 48.0rem;
}
#kankyo dl dt {
    width: 36.0rem;
    margin-bottom: 4.0rem;
}
#kankyo dl dd {
    font-size: 1.6rem;
    line-height: 1.7;
}

.duty {
  position: relative;
  padding-bottom: 9.0rem;
  overflow: hidden;
}
.duty:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    transform: skewY(-7deg) translateY(12.0rem);
    z-index: -1;
}
.txt-duty {
    display: flex;
    justify-content: space-between;
    width: 97.0rem;
    margin: 0 auto 5.0rem;
}
.txt-duty dl {
    width: 100%;
    line-height: 1.5;
    background: #fff;
    border-radius: 2.0rem;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
.txt-duty dt {
    color: #fff;
	font-size: 3.6rem;
    font-weight: 700;
    text-align: center;
    background: #0f8080;
    border-top-left-radius: 2.0rem;
    border-top-right-radius: 2.0rem;
    padding: 1.0rem;
}
.txt-duty dt span {
	font-size: 2.0rem;
}

.txt-duty dd {
    line-height: 1.75;
    border-bottom-left-radius: 2.0rem;
    border-bottom-right-radius: 2.0rem;
    box-sizing: border-box;
}
.txt-duty dd .duty-box {
    display: flex;
}
.txt-duty dd .duty-box .duty-th {
	width: 18%;
    background: #e0f3e5;
    border-bottom: 1px solid #fff;
    padding: 3.0rem;
    display: flex;
    align-items: center;
}
.txt-duty dd .duty-box:last-of-type .duty-th {
	border-bottom-left-radius: 2.0rem;
}

.txt-duty dd .duty-box .duty-td {
	width: 82%;
    border-bottom: 1px solid #e9e9e9;
    padding: 3.0rem;
}
.duty figure {
    width: 70.8rem;
    margin: 0 auto 6.0rem;
}
#service {
  position: relative;
  padding-top: 7.0rem;
  padding-bottom: 9.0rem;
  background: #e9e9e9;
}
#service h2 {
    width: 68.8rem;
    margin: 0 auto 4.0rem;
}
#service p {
    font-size: 1.6rem;
    line-height: 1.9;
    width: 59.0rem;
    margin: 0 auto;
}

#cd {
  padding-top: 12.0rem;
  width: 100.0rem;
  margin: 0 auto 20.0rem;
}
#cd h2 {
  width: 54.0rem;
  margin: 0 auto 5.0rem;
}
#cd div {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  margin-bottom: 6.0rem;
}
#cd div p {
  font-size: 1.6rem;
  line-height: 1.7;
}
#cd div figure {
  min-width: 38.0rem;
  margin-left: 5.0rem;
}
#cd p.btn-voice a {
    color: #fff;
    font-size: 1.6rem;
    line-height: 9.0rem;
    text-align: center;
    background: #0e82c1;
    border: 1px solid #0e82c1;
    width: 50.0rem;
    height: 10.0rem;
    margin: 0 auto;
    display: block;
    border-radius: 10.0rem;
    box-sizing: border-box;
    position: relative;
    transition: 0.2s;
}
#cd p.btn-voice a span {
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
}
#cd p.btn-voice a:after {
    font-family: 'Material Symbols Outlined';
    content: '\e5cf';
    position: absolute;
    bottom: -1.0rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #fff;
    font-size: 5.0rem;
    font-weight: 100;
    line-height: 1;
    transition: 0.2s;
}
#cd p.btn-voice a:hover {
    color: #0e82c1;
    background: #fff;
}
#cd p.btn-voice a:hover:after {
    color: #0e82c1;
    bottom: -1.5rem;
}
/* ドーズコレクタメイン
--------------------------------------------*/
#dc {
    background: url("../../image/bgpic-dc.jpg") no-repeat;
    background-size: 100% 100%;
    padding: 15.0rem 0 20.0rem;
}
#dc .bg-dc {
    background: url("../../image/bg-dc.png") no-repeat;
    background-size: 100% 100%;
    width: 112.0rem;
    margin: 0 auto;
    padding: 6.0rem 0;
}
#dc h2 {
    width: 45.4rem;
    margin: 0 auto 9.0rem;
}
#dc .whats-dc {
    display: flex;
    justify-content: space-between;
    width: 94.0rem;
    margin: 0 auto 5.0rem;
}
#dc .whats-dc figure {
    width: 39.2rem;
}
#dc .whats-dc dl {
    width: 45.0rem;
    color: #fff;
}
#dc .whats-dc dl dt {
    font-size: 3.6rem;
    font-weight: 700;
    margin-bottom: 3rem;
}
#dc .whats-dc dl dt span {
    display: inline-block;
    padding-bottom: 1rem;
    border-bottom: 1px solid #fff;
    margin-bottom: 2rem;
}
#dc .whats-dc dl dd p {
    font-size: 1.6rem;
    line-height: 2.0;
}
#dc .whats-dc dl dd span {
    font-size: 1.2rem;
    display: block;
    margin-bottom: 2rem;
}


/* TLDメイン
--------------------------------------------*/

#tld {
    background: url("../../image/bgpic-tld.jpg") no-repeat;
    background-size: 100% 100%;
    padding: 15.0rem 0 20.0rem;
}
#tld .bg-tld {
    background: url("../../image/bg-tld.png") no-repeat;
    background-size: 100% 100%;
    width: 112.0rem;
    margin: 0 auto;
    padding: 6.0rem 0;
}
#tld h2 {
    width: 77.6rem;
    margin: 0 auto 9.0rem;
}
#tld .whats-tld {
    display: flex;
    justify-content: space-between;
    width: 87.0rem;
    margin: 0 auto 5.0rem;
}
#tld .whats-tld figure {
    width: 30rem;
}
#tld .whats-tld dl {
    width: 46.4rem;
    color: #fff;
}
#tld .whats-tld dl dt {
    font-size: 3.6rem;
    font-weight: 700;
    border-bottom: 1px solid #fff;
    padding-bottom: 2.0rem;
    margin-bottom: 3rem;
}
#tld .whats-tld dl dd {
    font-size: 1.6rem;
    line-height: 2.0;
}
#tld h3 {
    color: #fff;
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 1.5;
    text-align: center;
    background: url("../../image/line-tld.png") no-repeat;
    background-size: 100% 100%;
    width: 64.8rem;
    height: 15.6rem;
    margin: 0 auto 3.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
#tld .pic-case {
    width: 70.0rem;
    margin: 0 auto;
}
/* コスト
--------------------------------------------*/
#cost-tld {
    width: 80rem;
    margin: 0 auto;
    padding: 10.0rem 0 22.0rem;
}
#cost-tld h2 {
    width: 40.6rem;
    margin: 0 auto 4.0rem;
}
#cost-tld .graf-costtld {
    margin-bottom: 5.0rem;
}
#cost-tld p {
    font-size: 1.6rem;
    line-height: 1.7;
}
#cost-tld span {
    color: #a2a2aa;
    font-size: 1.4rem;
    display: block;
}

/* 特徴
--------------------------------------------*/
.charactor {
    background: #e9e9e9;
    margin-bottom: 12.0rem;
    padding: 9.0rem 0 0;
    position: relative;
}
.charactor:before {
    content: '';
    position: absolute;
    top: -22.0rem;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #e9e9e9;
    transform: skewY(7deg) translateY(12.0rem);
    z-index: -1;
}

.charactor h2 {
    width: 61.6rem;
    margin: 0 auto 10.0rem;
}
.charactor#charactor2 h2 {
    width: 79.6rem;
    margin: 0 auto 10.0rem;
}
.charactor ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 76.8rem;
    margin: 0 auto 5.0rem;
}
.charactor ul li {
    margin-bottom: 2.0rem;
    width: 25.6rem;
}
.charactor .box {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
    width: 100.0rem;
    margin: 0 auto 12.0rem;
}
.charactor .box div {
    width: 46.6rem;
}
.charactor .box:nth-of-type(even) div {
    order: 2;
}
.charactor .box div h3 {
    margin-bottom: 5.0rem;
}
.charactor .box div p {
    font-size: 1.6rem;
    line-height: 1.8;
}
.charactor .box figure {
    width: 48.0rem;
}
.charactor .box:nth-of-type(even) figure {
    order: 1;
}
.charactor .result {
    width: 95.0rem;
    margin: 0 auto;
    padding: 5rem 10.0rem;
    border-radius: 2.0rem;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    background: #fff;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
}
.charactor .result dl {
    width: 33.0rem;
}
.charactor .result dl dt {
    font-size: 2.4rem;
    color: #0e80b7;
    line-height: 1.5;
    margin-bottom: 2rem;
    font-weight: 700;
}
.charactor .result dl dt strong {
    font-size: 4.2rem;
}
.charactor .result dd {
    font-size: 1.8rem;
    line-height: 1.7;
}

#duty-cd {
    padding-top: 12.0rem;
    width: 100.0rem;
    margin: 0 auto 20.0rem;
}
#duty-cd h2 {
    width: 59.0rem;
    margin: 0 auto 8.0rem;
}
#duty-cd p {
    width: 89.0rem;
    font-size: 1.6rem;
    line-height: 1.9;
    margin: 0 auto 5.0rem;
}
#duty-cd figure {
    width: 51.0rem;
    margin: 0 auto 8.0rem;
}

/* 問い合わせ
--------------------------------------------*/
.contact {
    text-align: center;
    background: #0e82c1;
    margin-bottom: 12.0rem;
    padding: 2.0rem 0 9.0rem;
    position: relative;
}
.contact:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #0e82c1;
    transform: skewY(7deg) translateY(-12.0rem);
    z-index: -1;
}
.contact.cr:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #0e82c1;
    transform: skewY(-7deg) translateY(-12.0rem);
    z-index: -1;
}
.contact h2 {
    width: 39.0rem;
    margin: 0 auto 4.0rem;
}
.contact p {
    font-size: 1.6rem;
    color: #fff;
    line-height: 1;
    margin-bottom: 4.0rem;
}
.contact p a {
    color: #0e82c1;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 700;
    background: #fff;
    padding: 3.0rem 2.0rem 2.0rem;
    border-radius: 10.0rem;
    display: block;
    width: 39.0rem;
    height: 10.0rem;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    transition: 0.2s;
}
.contact p a:after {
    font-family: 'Material Symbols Outlined';
    content: '\e5cf';
    position: absolute;
    bottom: -0.5rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #0e82c1;
    font-size: 5.0rem;
    font-weight: 100;
    transition: 0.2s;
}
.contact p a:hover:after {
    bottom: -1.0rem;
}

.contact p a:hover {
    background: #b7e2f1;
}
/* 流れ
--------------------------------------------*/
#flow {
    text-align: center;
}
#flow h2 {
    width: 37.2rem;
    margin: 0 auto 8.0rem;
}
#flow figure {
    width: 72.0rem;
    margin: 0 auto 8.0rem;
}
.flows#flow2 dl {
    width: 72.0rem;
}
.flows dl {
    width: 80.0rem;
    margin: 0 auto 8.0rem;
    display: flex;
    align-items: center;
}
.flows dl dt {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    width: 12.0rem;
    height: 12.0rem;
    position: relative;
    margin-right: 2.0rem;
    border-radius: 12.0rem;
    background: #0f82c0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.flows dl.nikku dt {
    background: #0f8080;
}
.flows dl dt:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../../image/dotline.png) repeat-y;
    background-position: center center;
    top: 12.0rem;
}
.flows dl:last-of-type dt:after {
    display: none;
}
.flows dl dd {
    font-size: 2.2rem;
    line-height: 1.5;
    text-align: left;
    width: 56.0rem;
    position: relative;
}
.flows#flow2 dl dd {
    width: 48.0rem;
}
.flows dl dd span {
    font-size: 1.6rem;
    color: #0f8080;
    display: block;
}
.flows dl dd em {
    font-size: 1.6rem;
    border-radius: 4.0rem;
    font-style: normal;
    background: #e2e2e2;
    box-sizing: border-box;
    padding: 2.0rem;
    display: block;
    position: absolute;
    left: 0;
    bottom: -10.0rem;
}
.flows dl dd em:before {
    content: '';
    background: url(../../image/flow-arrow.png) no-repeat;
    width: 1.6rem;
    height: 2rem;
    position: absolute;
    left: -1.4rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/* 報告書
--------------------------------------------*/
#report {
    text-align: center;
    padding: 12.0rem 0 12.0rem;
    position: relative;
}
#report:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #e9e9e9;
    transform: skewY(-7deg);
    z-index: -1;
}
#report h2 {
    width: 30.4rem;
    margin: 0 auto 8.0rem;
}
#report figure {
    width: 90.0rem;
    margin: 0 auto;
}
#report figure figcaption {
    font-size: 1.6rem;
    display: block;
    margin-top: 2rem;
}

/* お客様の声
--------------------------------------------*/
#voice {
    text-align: center;
    margin-bottom: 5.0rem;
    padding: 12.0rem 0 12.0rem;
    position: relative;
}
#voice:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #0e82c1;
    transform: skewY(-7deg);
    z-index: -1;
}
#voice h2 {
    width: 30.6rem;
    margin: 0 auto 8.0rem;
}
#voice .voice-box {
    background: #fff;
    border-radius: 2.0rem;
    padding: 4.0rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    width: 110.0rem;
    margin: 0 auto 2.0rem;
    box-sizing: border-box;
}
#voice .voice-box figure.doctor {
    width: 10.0rem;
}
#voice .voice-box dl {
    padding: 0 2.0rem;
    text-align: left;
    width: 74.0rem;
    box-sizing: border-box;
}
#voice .voice-box dl dt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}
#voice .voice-box dl dd {
    font-size: 1.6rem;
    line-height: 1.7;
}
#voice .voice-box figure.pic {
    width: 17.0rem;
}

/* 製品仕様・性能
--------------------------------------------*/
#pi {
    text-align: center;
    padding: 12.0rem 0 0rem;
    position: relative;
}
#pi h2 {
    width: 43.0rem;
    margin: 0 auto 8.0rem;
}
#pi .pi-in {
    width: 100.0rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
}
#pi .pi-in div {
    width: 50.0rem;
}
#pi2 .pi-in div {
    width: 43.0rem;
}
#pi .pi-in div dl,
#pi2 .pi2-in div dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
}
#pi .pi-in div dl:last-of-type,
#pi2 .pi2-in div dl:last-of-type {
    margin-bottom: 2.0rem;
}
#pi .pi-in div dl dt,
#pi2 .pi2-in div dl dt {
    text-align: left;
    font-size: 1.6rem;
    min-width: 20.0rem;
    padding: 3.0rem 0;
    border-top: 1px solid #0e80be;
}
#pi .pi-in div dl:last-of-type dt,
#pi2 .pi2-in div dl:last-of-type dt {
    border-bottom: 1px solid #0e80be;
}
#pi .pi-in div dl dt span,
#pi2 .pi2-in div dl dt span {
    color: #0e82c1;
}
#pi .pi-in div dl dd,
#pi2 .pi2-in div dl dd {
    text-align: left;
    font-size: 1.6rem;
    min-width: 30.0rem;
    padding: 3.0rem 0;
    border-top: 1px solid #d2dbdd;
}
#pi2 .pi2-in div dl dd {
    min-width: 23.0rem;
}
#pi .pi-in div dl:last-of-type dd,
#pi2 .pi2-in div dl:last-of-type dd {
    border-bottom: 1px solid #d2dbdd;
}
#pi .pi-in div p,
#pi2 p.pi2-notice {
    color: #0e82c1;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.7;
}
#pi2 p.pi2-notice {
    width: 80.0rem;
    margin: 0 auto;
}
#pi figure {
    width: 44.6rem;
}

#duty-tld {
    padding-top: 12.0rem;
    width: 100.0rem;
    margin: 0 auto;
    padding-bottom: 7.0rem;
}
#duty-tld h2 {
    width: 77.6rem;
    margin: 0 auto 8.0rem;
}
#duty-tld p {
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.9;
    margin: 0 auto 5.0rem;
}
#duty-tld figure {
    width: 61.8rem;
    margin: 0 auto 8.0rem;
}

/* 装着方法
--------------------------------------------*/
#howto {
    text-align: center;
    padding: 12.0rem 0 12.0rem;
    position: relative;
}
#howto:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #e9e9e9;
    transform: skewY(7deg);
    z-index: -1;
}
#howto h2 {
    width: 67.2rem;
    margin: 0 auto 8.0rem;
}
#howto .howto-in {
    width: 97.0rem;
    margin: 0 auto 5.0rem;
    box-sizing: border-box;
    background: #fff;
    padding: 5.0rem 10.0rem;
    border-radius: 3.0rem;
}
#howto .howto-in figure {
    width: 51.6rem;
    margin: 0 auto 4.0rem;
}
#howto .howto-in p {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.8;
}
#howto .howto-in p span {
    color: #0e82c1;
}
#howto p.comment {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.7;
    width: 95.0rem;
    margin: 0 auto;
    color: #000;
}


/* タイプ
--------------------------------------------*/
#type {
    text-align: center;
    padding: 12.0rem 0 12.0rem;
    position: relative;
}
#type:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #0e82c1;
    transform: skewY(7deg);
    z-index: -1;
}
#type h2 {
    width: 31.6rem;
    margin: 0 auto 8.0rem;
}
#type .type-in {
    width: 97.0rem;
    margin: 0 auto;
    box-sizing: border-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
}
#type .type-in div {
    background: #fff;
    padding: 4.0rem;
    border-radius: 3.0rem;
    width: 46.0rem;
    box-sizing: border-box;
}
#type .type-in div h3 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #0f8080;
    position: relative;
    margin-bottom: 3.0rem;
    padding-bottom: 2.0rem;
}
#type .type-in div h3:after {
    content: '';
    width: 3.4rem;
    height: 0.4rem;
    background: url("../../image/line.png") no-repeat;
    background-size: 3.4rem 0.4rem;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
#type .type-in div figure {
    width: 29.6rem;
    margin: 0 auto 3.0rem;
}
#type .type-in div p {
    border-top: 5px dotted #d4dddf;
    padding-top: 3.0rem;
    font-size: 1.6rem;
    line-height: 1.7;
    text-align: left;
}
#type p.comment {
    color: #fff;
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.7;
    padding-top: 3.0rem;
    width: 97.0rem;
    margin: 0 auto;
    padding-left: 55.0rem;
    padding-right: 3.0rem;
    box-sizing: border-box;
}

/* TLD線量計について
--------------------------------------------*/
#pi2 {
    text-align: center;
    margin-bottom: 9.0rem;
    padding: 12.0rem 0 12.0rem;
    position: relative;
}
#pi2:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
/*    background-color: #e9e9e9;*/
    transform: skewY(7deg);
    z-index: -1;
}
#pi2 h2 {
    width: 43.0rem;
    margin: 0 auto 8.0rem;
}
#pi2 .pi2-in {
    width: 80.0rem;
    margin: 0 auto;
/*    padding: 6.0rem 5.0rem;*/
    box-sizing: border-box;
    background: #fff;
    border-radius: 3.0rem;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
}
#pi2 .pi2-in div {
    width: 43.0rem;
}
#pi2 figure {
    width: 34.0rem;
}

/* 流れ
--------------------------------------------*/
#flow2 {
    text-align: center;
    padding: 9.0rem 0;
}
#flow2 h2 {
    width: 37.2rem;
    margin: 0 auto 8.0rem;
}
#flow2 figure {
    width: 72.0rem;
    margin: 0 auto 8.0rem;
}

/* 報告書
--------------------------------------------*/
#report2 {
    text-align: center;
    padding: 12.0rem 0 24.0rem;
    position: relative;
}
#report2:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #e9e9e9;
    transform: skewY(7deg);
    z-index: -1;
}
#report2 h2 {
    width: 30.4rem;
    margin: 0 auto 4.0rem;
}
#report2 figure {
    width: 90.0rem;
    margin: 0 auto;
}
#report2 figure figcaption {
    font-size: 1.6rem;
    display: block;
    margin-top: 2rem;
}

/* QA
--------------------------------------------*/
#qa,
#qa2 {
    text-align: center;
    padding: 12.0rem 0 24.0rem;
    position: relative;
}
#qa:before,
#qa2:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #e9e9e9;
    transform: skewY(7deg);
    z-index: -1;
}
#qa h2,
#qa2 h2 {
    width: 44.0rem;
    margin: 0 auto 4.0rem;
}
.qa-in {
	width: 97.0rem;
	margin: 0 auto 5.0rem;
	box-sizing: border-box;
	background: #fff;
	padding: 5.0rem 10.0rem;
	border-radius: 3.0rem;
	text-align: left;
}
.qa-in dl {
	border-bottom: 1px solid #ddd;
	margin-bottom: 1.0rem;
	padding-bottom: 1.0rem;
}
.qa-in dl dt {
	font-size: 1.8rem;
	line-height: 1.7;
	position: relative;
	padding: 1.0rem 5.0rem 1.0rem 3.0rem;
}
.qa-in dl dt span.q:before {
	position: absolute;
	top: 0rem;
	left: 0;
	content: 'Q';
	font-size: 2.8rem;
	font-weight: 700;
	color: #0e80b7;
}
.qa-in dl dd {
	font-size: 1.6rem;
	padding: 2.0rem 2.0rem 1.0rem 3.0rem;
	line-height: 1.7;
	position: relative;
	padding-left: 6.0rem;
}
.qa-in dl dd:before {
	position: absolute;
	top: 1.0rem;
	left: 3.0rem;
	content: 'A';
	font-size: 2.8rem;
	font-weight: 700;
	color: #0e80b7;
}
.qa-q::before,
.qa-q::after{
  position:absolute;
  content:'';
  top: 2.5rem;
  right:20px;
  width:17px;
  height:2px;
  margin:auto;
  background:#151E2F;
}
.qa-q::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.qa-q.active::after{transform:rotate(0deg);}
.qa-a {
  display: none;
}

/* 会社情報
--------------------------------------------*/
#company {
    text-align: center;
    margin-bottom: 12.0rem;
    padding: 12.0rem 0 12.0rem;
    position: relative;
}
#company h2 {
    width: 26.2rem;
    margin: 0 auto 8.0rem;
}
#company .company-in {
    width: 52.0rem;
    margin: 0 auto;
}
#company .company-in dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
}
#company .company-in dl:last-of-type {
    margin-bottom: 2.0rem;
}
#company .company-in dl dt {
    text-align: left;
    font-size: 1.6rem;
    min-width: 11.0rem;
    padding: 3.0rem 0;
    border-top: 1px solid #0e80be;
}
#company .company-in dl:last-of-type dt {
    border-bottom: 1px solid #0e80be;
}
#company .company-in dl dd {
    text-align: left;
    font-size: 1.6rem;
    min-width: 41.0rem;
    padding: 3.0rem 0;
    border-top: 1px solid #d2dbdd;
}
#company .company-in dl:last-of-type dd {
    border-bottom: 1px solid #d2dbdd;
}
.f-contact {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 23.0rem;
}
.f-contact a {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 7.0rem;
    padding-bottom: 1rem;
    text-align: center;
    background: #ff8017;
    border: 1px solid #ff8017;
    width: 100%;
    display: block;
    border-top-left-radius: 1.0rem;
    box-sizing: border-box;
    bottom: 0;
    right: 0;
    transition: 0.2s;
}
.f-contact a:hover {
    color: #ff8017;
    background: #fff;
}
.f-contact a:after {
    font-family: 'Material Symbols Outlined';
    content: '\e5cf';
    position: absolute;
    bottom: -1.0rem;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    color: #fff;
    font-size: 5.0rem;
    font-weight: 100;
    line-height: 1;
    transition: 0.2s;
}
.f-contact a:hover:after {
    color: #ff8017;
    bottom: -1.5rem;
}


/* ****************
 * Modal window
 * *************** */
.modal {
  opacity:0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  font-size: 20px;
  -webkit-transition: opacity .4s linear;
  transition: opacity .4s linear;
  -webkit-transform: translate(0,100%);
  -ms-transform: translate(0,100%);
  transform: translate(0,100%);
  z-index: 1000;
}
/* Modal content */
.modal-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);  padding: 3.0rem;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-shadow: 0 0 15px rgba(0,0,0,0.2);
  box-shadow: 0 0 15px rgba(0,0,0,0.2);
  border-radius:15px;
  background-color: #fff;
  width: 70.0rem;
  z-index:10;
  
}
.modal h2 {
  border-bottom:1px solid;
  margin-bottom: 1.0rem;
  padding-bottom:1.0rem;
}


/* ****************
 * Modal close button
 * *************** */
.modal .close {
  display:block;
  position: absolute;
  top: 0;
  left 0;
  width:100%;
  height:100%;
  background-color: rgba(0,0,0,.74);
  z-index:1;
}
.modal .close2 span {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  background-color: rgba(255,255,255,.2);
  cursor:pointer;
}
.modal .close2 span {
  text-indent: -9999px;
}
.modal .close2 span:before,
.modal .close2 span:after {
  content: "";
  position: absolute;
  top: 4px;
  border: 1px solid #000;
  height: 30px;
}
.modal .close2 span:before {
  left: 19px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.modal .close2 span:after {
  right: 19px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

a.md-btn {
	color: #0e80b7;
}
a.md-btn:after {
	content: '';
	width: 1.5rem;
	height: 1.5rem;
	background: url("../../image/icon-link.svg") no-repeat right;
	background-size: 1.5rem 1.5rem;
	padding-right: 1.0rem;
	display: inline-block;
	color: #0e80b7;
}

/* ****************
 * Append modal(target id)
 * *************** */
#modal01:target,
#modal02:target,
#modal03:target,
#modal04:target,
#modal05:target,
#modal06:target {
  opacity: 1;
  -webkit-transform: translate(0,0);
  -ms-transform: translate(0,0);
  transform: translate(0,0);
}
