@charset "UTF-8";
/* 
Theme Name:theme_stusafe
*/
/* CSS Document */
/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
html{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4}
*,::after,::before{background-repeat:no-repeat;-webkit-box-sizing:inherit;box-sizing:inherit}::after,::before{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[disabled]{cursor:default}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer;color:inherit}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal;}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}img{border-style:none}progress{vertical-align:baseline}svg:not([fill]){fill:currentColor}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled]{cursor:default}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,  b, i, dl, dt, dd, ol ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
 margin: 0;padding: 0;border: 0; border-style: none;outline: 0;font-size: 100%; font-weight: normal; vertical-align: top; background: transparent;}
html { overflow-y: scroll;}
body { word-wrap: break-word; overflow-wrap: break-word;}
footer, header, hgroup, menu, nav, section, main { display: block;}
a { margin: 0; padding: 0; font-size: 100%; font-weight: normal; vertical-align: baseline; text-decoration: none; color: inherit; cursor: pointer;}
a:active, a:active, a:link, a:visited {text-decoration: none;  color: inherit; } 
button {background-color: transparent; color: inherit; border-width: 0; padding: 0; cursor: pointer;}
ul, ol, dd {margin: 0; padding: 0; list-style: none;}
h1, h2, h3, h4, h5, h6 {margin: 0; padding: 0; font-size: inherit; font-weight: inherit; margin-block-start: 0; margin-block-end: 0; }
p {margin: 0;}
img {max-width: 100%;  height: auto; width/***/: 100%;}
table {border-collapse: collapse; border-spacing: 0; display: table; table-layout: fixed; }
tr,th,td {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box;}
br {letter-spacing: none;}
/******************************************************* common ******************************************************/
html{
 scroll-behavior: smooth;
 height: 100%;
}
body {
 background: #ecf9ff;
 font-family: "Noto Sans JP", sans-serif,YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
 font-optical-sizing: auto;
 font-size: 1rem;
 font-weight: 500;
 font-style: normal;
 line-height: 1.8em;
 color: #353b3c;
 height: 100%;
}
.text_center {
 text-align: center;
}
.font_sm {
 font-size: 0.9rem;
}
.title_bl {
 color: #0286eb;
 font-size: 3rem;
 font-weight: 600;
 line-height: 1.6em;
 text-align: center;
 position: relative;
 margin: 0 auto 80px;
}
.title_bl::after,
.title_bl::before {
  content: "";
  position: absolute;
  bottom: -40px;
  left: calc(50% - 2px);
  width: 4px;
  height: 25px;
  border-radius: 9999px;
  background-color: #0286eb;
  transform-origin: 50% calc(100% - 2px);
}
.title_bl::after {
 transform: rotate(-45deg);
}
.title_bl::before {
 transform: rotate(45deg);
}
.title_en_bl {
 background: #0286eb;
 border-radius: 25px;
 width: 280px;
 margin: 30px auto 25px;
 padding: 8px 0;
 color: #ffffff;
 font-size: 1.4rem;
 line-height: 1.5em;
 text-align: center;
 display: block;
 font-weight: 600;
}
.title_bl_s {
 color: #0286eb;
 font-size: 1.8rem;
 font-weight: 600;
 line-height: 1.5em;
 padding: 0 0 10px 0;
}
.pt10 {
 padding-top: 10px;
}
.pt100 {
 padding-top: 100px;
}
.pt300 {
 padding-top: 300px;
}
.pb100 {
 padding-bottom: 100px;
}
a.txt_link {
 color: #0286eb;
 text-decoration: underline;
}
a.txt_link:hover {
 text-decoration: none;
}
/******************* header ******************/
header {
 width: 100%;
 background: rgba(255,255,255,0.8);
 position: fixed;
 top: 0;
 left: 0;
 z-index: 1;
 display: flex;
 justify-content: space-between;
}
header .contents_l {
 width: 100%;
 min-height: 130px;
 height: auto;
 position: relative;
 padding: 10px 0 0;
}
.header_logo {
 max-width: 300px;
 width: 90%;
 position: absolute;
 top: 20px;
 left: 10px;
}
.gnav{
	display: none;
}
.gnav_pc{
 display:block;
 width: calc(100% - 300px);
 position: absolute;
 bottom: 12px;
 right: 0;
 }
.gnav_pc__list{
 display:-webkit-box;
 display:-ms-flexbox;
 display:flex;
 -ms-flex-wrap:wrap;
 flex-wrap:wrap;
 -webkit-box-pack:end;
 -ms-flex-pack:end;
 justify-content:flex-end;
 position: relative;
}
.gnav_pc__item{
 font-size:0.9rem;
 font-weight: 400;
 font-style: normal;
 /*padding:10px 35px 10px 0;*/
 list-style:none;
 line-height:1;
}
.gnav_pc__item a {
	text-decoration: none;
 text-align: center;
	padding:0 20px 10px;
 transition: all 0.5s;
 position: relative;
}
.gnav_pc__item a::after {
 content: "";
 position: absolute;
 left: 0;
 width: 100%;
 height: 2px;
 background: #0286eb;
 bottom: -1px;
 transform: scale(0, 1);
 transform-origin: right top;
 transition: transform 0.3s;
}
.gnav_pc__item a:hover::after {
 transform: scale(1, 1);
 transform-origin: left top;
}
.gnav_pc__item a:hover, 
.gnav_pc__item a.current {
 color:#0286eb;
}
.gnav_pc__contactarea {
 display: flex;
 justify-content: flex-end;
 width: 520px;
 position: absolute;
 top: 10px;
 right: 10px;
}
.gnav_pc__contactarea li:first-child {
 background: url("image/icon_header_tel.png") no-repeat;
 background-size: 26px 41px;
 background-position: center left;
 color: #0286eb;
 font-size: 1.6rem;
 font-weight: bold;
 padding: 0 10px 0 35px;
}
.gnav_pc__contactarea li:first-child span {
 font-size: 0.8rem;
 line-height: 1em;
 display: block;
 padding: 10px 0 0;
}
.gnav_pc__contactarea a.header_button {
 width: 260px;
 padding: 10px 5px;
 text-align: center;
 color: #ffffff;
 line-height: 1.3em;
 position: relative;
 z-index: 0;
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
 transition: all 0.8s;
}
.gnav_pc__contactarea a.header_button::before {
 content: "";
 width: 100%;
 height: 100%;
 position: absolute;
 z-index: -1;
 left: 0;
 transition: all 0.5s;
 background: linear-gradient(90deg, #f8b400, #f89200);
 border-radius: 30px;
 border: 5px solid #ffffff;
}
.gnav_pc__contactarea a.header_button::after {
 content: "";
 width: 100%;
 height: 100%;
 position: absolute;
 z-index: -2;
 left: 0;
 background: linear-gradient(0deg, #f8b400, #f89200);
 border-radius: 30px;
 border: 5px solid #ffffff;
}
.gnav_pc__contactarea a.header_button:hover::before {
 opacity: 0;
}
.open{display:none}
.toggle{display:none}

/******************* main,contents ******************/
main {
 position: relative;
 z-index: 0;
}
.contents_l {
 max-width: 1730px;
 width: 95%;
 margin: auto;
}
.contents_m {
 max-width: 1500px;
 width: 95%;
 margin: auto;
}
.contents_s {
 max-width: 1300px;
 width: 95%;
 margin: auto;
}
/******************* btn ******************/
.btnarea {
 max-width: 560px;
 width: 95%;
 margin: 20px auto;
}
a.btn_or {
 width: 100%;
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.5em;
 position: relative;
 display: inline-block;
 padding: 1.2rem 4rem;
 cursor: pointer;
 transition: all 0.3s;
 text-align: center;
 vertical-align: middle;
 text-decoration: none;
 letter-spacing: 0.1em;
 color: #f88600;
 border-radius: 0.5rem;
 margin: auto;
}
a.btn_or:hover {
 color:#ffffff;
}
a.btn_bl {
 width: 100%;
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.5em;
 position: relative;
 display: inline-block;
 padding: 1.2rem 4rem;
 cursor: pointer;
 transition: all 0.3s;
 text-align: center;
 vertical-align: middle;
 text-decoration: none;
 letter-spacing: 0.1em;
 color: #0286eb;
 border-radius: 0.5rem;
 margin: auto;
}
a.btn_bl:hover {
 color:#ffffff;
}
a.btn_shadow_radius {
 border-radius: 100vh;
}
a.btn_shadow_radius:before {
 border-radius: 100vh;
}
a.btn_or_shadow {
 padding: calc(1.8rem - 12px) 3rem 1.8rem;
 background: #ffffff;
 transition: all 0.3s;
}
a.btn_or_shadow:before {
 position: absolute;
 top: -6px;
 left: -6px;
 width: 100%;
 height: 100%;
 content: "";
 transition: all 0.3s ease;
 border: 3px solid #f88600;
 border-radius: 100vh;
}
a.btn_or_shadow:hover {
 transition: all 0.3s;
 background: #f88600;
}
a.btn_or_shadow:hover:before {
 top: 0;
 left: 0;
 border: 3px solid #ffffff;
}
a.btn_bl_shadow {
 padding: calc(1.8rem - 12px) 3rem 1.8rem;
 background: #ffffff;
 transition: all 0.3s;
}
a.btn_bl_shadow:before {
 position: absolute;
 top: -6px;
 left: -6px;
 width: 100%;
 height: 100%;
 content: "";
 transition: all 0.3s ease;
 border: 3px solid #0286eb;
 border-radius: 100vh;
}
a.btn_bl_shadow:hover {
 transition: all 0.3s;
 background: #0286eb;
}
a.btn_bl_shadow:hover:before {
 top: 0;
 left: 0;
 border: 3px solid #ffffff;
}

/******************* arrow ******************/
.arrow_b_s {
 position: relative;
 display: inline-block;
 width: 16px;
 height: 2px;
 margin: 0 0 0 7px;
 border-radius: 9999px;
 background-color: #0286eb;
 transition: all 0.3s;
 vertical-align: middle;
}
.arrow_b_s::before,
.arrow_b_s::after {
 content: "";
 position: absolute;
 top: calc(50% - 1px);
 right: 0;
 width: 8px;
 height: 2px;
 border-radius: 9999px;
 background-color: #0286eb;
 transform-origin: calc(100% - 1px) 50%;
}
.arrow_b_s::before {
 transform: rotate(45deg);
}
.arrow_b_s::after {
 transform: rotate(-45deg);
}
.arrow_og_s {
 position: relative;
}
.arrow_og_s::before {
 content: "";
 width: 24px;
 height: 24px;
 background: #f88600;
 border-radius: 50%;
 position: absolute;
 left: 5px;
 bottom: 5px;
 margin: auto;
}
.arrow_og_s::after {
 content: "";
 width: 8px;
 height: 8px;
 border: 0;
 border-top: solid 2px #ffffff;
 border-right: solid 2px #ffffff;
 transform: rotate(45deg);
 position: absolute;
 left: 12px;
 bottom: 13px;
 margin: auto
}
a:hover .arrow_og_s::before {
 background: #ffffff;
}
a:hover .arrow_og_s::after {
 border-top: solid 2px #f88600;
 border-right: solid 2px #f88600;
}
.arrow_bl_s {
 position: relative;
}
.arrow_bl_s::before {
 content: "";
 width: 24px;
 height: 24px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 left: 5px;
 bottom: 5px;
 margin: auto;
}
.arrow_bl_s::after {
 content: "";
 width: 8px;
 height: 8px;
 border: 0;
 border-top: solid 2px #ffffff;
 border-right: solid 2px #ffffff;
 transform: rotate(45deg);
 position: absolute;
 left: 12px;
 bottom: 13px;
 margin: auto
}
a:hover .arrow_bl_s::before {
 background: #ffffff;
}
a:hover .arrow_bl_s::after {
 border-top: solid 2px #0286eb;
 border-right: solid 2px #0286eb;
}
/******************* contactarea_l ******************/
.contactarea {
 width: 100%;
 background: repeating-linear-gradient(-45deg,#f8b300, #f8b300 10px,#f9be26 0,#f9be26 20px);
 padding: 65px 0 95px;
 color: #ffffff;
}
.contactarea_title {
 font-size: 1.8rem;
 line-height: 1.4em;
 text-align: center;
 position: relative;
 margin: 0 auto 80px;
}
.contactarea_title:after,
.contactarea_title:before {
  content: "";
  position: absolute;
  bottom: -40px;
  left: calc(50% - 2px);
  width: 4px;
  height: 25px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 50% calc(100% - 2px);
}
.contactarea_title:after {
 transform: rotate(-45deg);
}
.contactarea_title:before {
 transform: rotate(45deg);
}
.contactarea_box {
 border: 5px solid #ffffff;
 padding: 30px 20px 30px;
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.contactarea_box dl {
 width: 45%;
 margin: auto;
 text-align: center;
 padding: 15px 0
}
.contactarea_box dl dt {
 font-size: 1.7rem;
 padding: 70px 0 0;
}
.contactarea_box dl dd {
 max-width: 530px;
 width: 100%;
 margin: auto;
 padding: 30px 0;
}
.contactarea_tel {
 background-image: radial-gradient(circle, #ffffff 2.5px, transparent 2.5px);
 background-position: right top;
 background-repeat: repeat-y;
 background-size: 5px 10px;
}
.contactarea_tel dt {
  background: url("image/icon_tel.png") no-repeat;
 background-size: 40px 55px;
 background-position: center top;
}
.contactarea_tel dd {
 font-size: 2rem;
}
.contactarea_tel dd span {
 display: block;
 font-size: 1.3rem;
 padding: 10px 0;
}
.contactarea_email dt {
 background: url("image/icon_email.png") no-repeat;
 background-size: 64px 51px;
 background-position: center top;
}
/******************* pagetop ******************/
.pagetop {
 position: fixed;
 z-index: 1;
 width: 80px;
 height: 80px;
 right: 35px;
	bottom: 35px;
 display: inline-block;
 color: #ffffff;
 vertical-align: middle;
}
.btn_top::before,
.btn_top::after {
 content: "";
 position: absolute;
 top: 30%;
 bottom: 0;
 left: calc(50% - 2px);
 width: 6px;
 height: 35px;
 background-color: #ffffff;
 transform-origin: 50% 2px;
}
.btn_top::before {
 transform: rotate(45deg);
}
.btn_top::after {
 transform: rotate(-45deg);
}
.btn_top a {
 cursor: pointer;
}
.pagetop a {
 width: 80px;
 height: 80px;
 display: block;
 cursor: pointer;
 background: #f8b400;
 border: 4px solid #ffffff;
 border-radius: 50%;
 transition: all 0.5s;
}
.pagetop a:visited {
 background: #f8b400;
}
.pagetop a:hover {
 background: #004ea2;
}
/******************* footer ******************/
footer {
 background: #004ea2;
 width: 100%;
 padding: 35px 0 15px;
 color: #ffffff;
 position: sticky;/*footer最下部固定*/
 top: 100vh;/*footer最下部固定*/
 top: 100dvh;/*footer最下部固定　iOS safari用*/
}
.logo_wh {
 max-width: 120px;
 width: 100%;
 margin: auto;
}
.footer_menu {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 max-width: 1400px;
 width: 95%;
 margin: auto;
 padding: 60px 0 40px;
}
.footer_menu li { 
 text-align: center;
}
.footer_menu li a {
 padding: 0 20px 5px;
 text-align: center;
 position: relative;
}
.footer_menu li a::after {
 content: "";
 position: absolute;
 left: 0;
 width: 100%;
 height: 1px;
 background: #ffffff;
 bottom: -1px;
 transform: scale(0, 1);
 transform-origin: center top;
 transition: transform 0.3s;
}
.footer_menu li a:hover::after {
 transform: scale(1, 1);
}
footer .copyright {
 font-size: 0.9rem;
 text-align: center;
 color: #ffffff;
}
/******************************************************* topPage ******************************************************/
.top_main_imgarea {
 position: relative;
 z-index: 1;
}
.top_main_img {
 width: 100%;
 height: 95vh;
 overflow: hidden;
 position: relative;
}
.top_main_img>div {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background-position: center center;
 background-size: cover;
 background-repeat: no-repeat;
 z-index: 1;
 opacity: 0;
 animation-name: fade;
 animation-duration: 12s;
 animation-iteration-count: infinite;
}
@keyframes fade {
 0% {
  opacity: 0;
 }
 20% {
  opacity: 1;
 }
 80% {
  opacity: 0;
 }
 100% {
  opacity: 0;
  z-index: 0;
 }
}
.top_main_img>div:first-of-type {
 background-image: url("image/top_main_img01.jpg");
}
.top_main_img>div:nth-of-type(2) {
 background-image: url("image/top_main_img02.jpg"); 
 animation-delay: 4s;
}
.top_main_img>div:last-of-type {
 background-image: url("image/top_main_img03.jpg"); 
 animation-delay: 8s;
}
.top_main_corner_l {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: #0286eb transparent transparent transparent;
 border-width: 70vh 40vw 0px 0px;
 opacity: 0.75;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
}
.top_main_corner_r {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent #ecf9ff transparent;
 border-width: 0px 0px 30vh 15vw;
 position: absolute;
 bottom: -80px;
 right: 0;
 z-index: 2;
}
.top_main_contents {
 max-width: 1400px;
 width: 96%;
 position: relative;
 margin: -75vh auto 0;
 z-index: 2;
 height: 100%;
}
.top_main_title {
 max-width: 760px;
 width: 100%;
 position: relative;
}
.top_main_title::after {
 content: "";
 background: url("image/top_main_guide.png") no-repeat;
 background-size: contain;
 width: 280px;
 height: 232px;
 position: absolute;
 right: -310px;
 bottom: 0;
}
.top_main_list {
 max-width: 1000px;
 width: 95%;
 margin: 100px auto 60px;
 display: flex;
 justify-content: space-between;
 }
.top_main_list li {
 background: #ffffff;
 border-radius: 40px;
 padding: 10px;
 max-width: 260px;
 width: 30%;
 min-height: 250px;
 margin: 0 auto 10px;
 position: relative;
}
.top_main_list li::before {
 content: "";
 border-radius: 40px;
 border: 6px solid #0286eb;
 background: transparent;
 width: 100%;
 height: 100%;
 position: absolute;
 top: -8px;
 left: -8px;
 z-index: 1;
}
.top_main_list li dl dt {
 width: 100px;
 height: 100px;
 background: #0286eb;
 border-radius: 50%;
 color: #ffffff;
 text-align: center;
 font-size: 2rem;
 font-weight: 600;
 padding: 25px 0;
 margin: -50px auto 0;
 position: relative;
 z-index: 2;
}
.top_main_list li dl dt span {
 display: block;
 line-height: 1em;
 font-size: 1rem;
 padding: 0 0 5px 0;
}
.top_main_list li dl dd {
 color: #0286eb;
 font-size: 1.1rem;
 line-height: 1.5em;
 text-align: center;
 width: 95%;
 margin: auto;
 padding: 110px 0 0;
}
.top_main_list li:first-child dl dd {
 background: url("image/top_main_point01.png") no-repeat;
 background-size: 100px 100px;
 background-position: center top;
}
.top_main_list li:nth-child(2) dl dd {
 background: url("image/top_main_point02.png") no-repeat;
 background-size: 100px 100px;
 background-position: center top;
}
.top_main_list li:last-child dl dd {
 background: url("image/top_main_point03.png") no-repeat;
 background-size: 100px 100px;
 background-position: center top;
}
.top_newsarea {
 max-width: 1310px;
 width: 95%;
 background: #ffffff;
 position: relative;
 z-index: 2;
 margin: 0 auto;
 padding: 20px;
}
.top_newsarea dl {
 display: flex;
}
.top_newsarea dl dt {
 width: 90px;
 color: #0286eb;
 font-size: 1.2rem;
 text-align: center;
 background-image: radial-gradient(circle, #0286eb 1.5px, transparent 1.5px);
 background-position: right top;
 background-repeat: repeat-y;
 background-size: 3px 6px;
 padding: 10px 0 0 0;
}
.top_newsarea dl dd {
 width: calc(100% - 110px);
 padding: 0 0 0 15px;
 font-size: 0.9rem;
}
.top_newsarea dl dd ul {
 width: 100%;
}
.top_newsarea dl dd ul li {
 width: 100%;
 box-sizing: border-box;
}
.top_newsarea dl dd ul li a {
 width: 100%;
 padding: 10px 5px;
 display: block;
 border-bottom: dotted #CECECE 1px;
 background-color: #ffffff;
 transition: all 0.3s;
}
.top_newsarea dl dd ul li a span {
 display: inline-block;
 padding: 0 10px 0 0;
 min-width: 115px;
}
.top_newsarea dl dd ul li a:hover {
 background-color: #f7f7f7;
}
.top_newsarea_newslist {
 text-align: right;
 padding: 10px 0 0;
 position: relative;
}
.top_newsarea_newslist a {
 transition: all 0.3s;
}
.top_newsarea_newslist a:hover {
 text-decoration: underline;
 color: #0286eb;
}
.top_newsarea_newslist a span.arrow_b_s {
 transition: all 0.3s;
}
.top_newsarea_newslist a:hover span.arrow_b_s {
 padding: 0 0 0 10px;
}
.top_nayamiarea {
 max-width: 1600px;
 width: 95%;
 margin: 140px auto 0;
 border-radius: 35px;
 border: solid 6px #0286eb;
 background: repeating-linear-gradient(-45deg,#ecf9ff, #ecf9ff 5px,#f7fdff 0,#f7fdff 10px);
 position: relative;
 z-index: 2;
}
.top_nayamiarea_title {
 width: 90%;
 background: #0286eb;
 border-radius: 25px;
 padding: 15px 30px;
 font-size: 1.8rem;
 line-height: 2em;
 color: #ffffff;
 text-align: center;
 position: absolute;
 top: -50px;
 left: 0;
 right: 0;
 margin: 0 auto 30px;
}
.top_nayamiarea_title::after {
 content: "";
 position: absolute;
 top: 100%;
 left: 45%;
 width: 0;
 height: 0;
 border: 30px solid transparent;
 border-top: 30px solid #0286eb;
}
.top_nayamiarea_img {
 max-width: 1260px;
 width: 100%;
 margin: auto;
 padding: 50px 0 0;
}
.top_point_container {
 width: 100%;
 background: #0286eb;
 position: relative;
 padding: 50px 0;
 color: #ffffff;
 z-index: 3;
}
.top_point_corner_l {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent transparent #0286eb;
 border-width: 160px 0px 0px 50vw;
 position: absolute;
 top: -160px;
 left: 0;
 z-index: 2;
}
.top_point_corner_r {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent #0286eb transparent;
 border-width: 0px 0px 160px 50vw;
 position: absolute;
 top: -160px;
 right: 0;
 z-index: 2;
}
.top_point_titlearea {
 text-align: center;
 margin: 0 auto 30px;
}
.top_point_title {
 color: #ffffff;
 text-align: center;
 margin: auto;
 font-size: 2.2rem;
 font-weight: 800;
 line-height: 2em;
 vertical-align: bottom;
 background: linear-gradient(transparent 50%, #0051a4 50%);
 display: inline;
}
.top_point_title br {
 display: none;
}
.top_point_title_st {
 font-size: 3rem;
 font-weight: 800;
 vertical-align: bottom;
}
.top_point_title_st2 {
 font-size: 3rem;
 font-weight: 800;
 vertical-align: bottom;
 padding: 0 0 0 10px;
}
.title_en_wh {
 background: #ffffff;
 border-radius: 25px;
 width: 200px;
 margin: 30px auto 25px;
 padding: 5px 0;
 color: #0286eb;
 font-size: 1.2rem;
 line-height: 1.5em;
 text-align: center;
 display: block;
 font-weight: 800;
}
.top_point_contents {
 display: flex;
 justify-content: space-around;
 flex-wrap: wrap;
 padding: 50px 0;
}
.top_point_box {
 width: 440px;
 min-height: 590px;
 background: #0051a4;
 border-radius: 35px;
 position: relative;
 margin: 0 10px 50px;
}
.top_point_box::before {
 content: "";
 width: 440px;
 min-height: 590px;
 border-radius: 35px;
 background: #ffffff;
 position: absolute;
 bottom: 10px;
 right: 10px;
 z-index: 1;
}
.top_point_box div {
 position: absolute;
 z-index: 2;
 left: -10px;
 margin: auto;
  padding: 65px 20px 30px;
}
.top_point_box_img {
 max-width: 350px;
 width: 95%;
 margin: 0 auto 25px;
 position: relative;
 z-index: 2;
}
.top_point_box_img::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #0051a4;
 border-radius: 50%;
 position: absolute;
 top: -40px;
 left: 45%;
}
.top_point_box_item {
 position: relative;
 z-index: 2;
 padding: 25px 0 0;
}
.top_point_box_item dt {
 font-size: 1.2em;
 font-weight: 600;
 color: #0286eb;
 text-align: center;
 padding: 0 0 15px 0;
}
.top_point_box_item dd {
 color: #353b3c;
}
.top_point_balloon {
 width: 180px;
 background: #0286eb;
 border-radius: 25px;
 padding: 10px 5px;
 font-size: 1rem;
 line-height: 1.3em;
 font-weight: 700;
 color: #ffffff;
 text-align: center;
 position: relative;
 margin: auto;
}
.top_point_balloon::after {
 content: "";
 position: absolute;
 top: 100%;
 left: 45%;
 width: 0;
 height: 0;
 border: 10px solid transparent;
 border-top: 10px solid #0286eb;
}
.top_support_container {
 padding: 120px 0 60px;
 position: relative;
 z-index: 3;
}
.top_support_container::before {
 content: "";
 background: url("image/top_img_x.png") no-repeat;
 background-size: contain;
 width: 120px;
 height: 120px;
 display: block;
 position: absolute;
 z-index: 2;
 top: -60px;
 left: 0;
 right: 0;
 margin: auto;
}
.top_support_title {
 text-align: center;
 font-size: 2rem;
 font-weight: 500;
 font-weight: 600;
 line-height: 1.5em;
 color: #0286eb;
 margin: 0 auto 30px;
}
.top_support_imgarea {
 width: 100%;
 margin: auto;
 position: relative;
}
.top_support_imgarea:before {
 content: "";
 background: url("image/top_support_img_l.png") no-repeat;
 background-size: contain;
 width: 158px;
 height: 462px;
 display: block;
 position: absolute;
 left: 0;
 bottom: 0;
 z-index: 3;
}
.top_support_imgarea::after {
 content: "";
 background: url("image/top_support_img_r.png") no-repeat;
 background-size: contain;
 width: 158px;
 height: 462px;
 display: block;
 position: absolute;
 right: 0;
 bottom: 0;
}
.thumbnail {
 max-width: 845px;
 width:95%;
 margin: 60px auto;
 position: relative;
}
.thumbnail::before,
.thumbnail::after {
 position: absolute;
 width: 290px;
 height: 290px;
 content: "";
}
.thumbnail::before {
 border-left: solid 10px #0286eb;
 border-top: solid 10px #0286eb;
 top: -20px;
 left: -20px;
}
.thumbnail::after {
 border-right: solid 10px #0286eb;
 border-bottom: solid 10px #0286eb;
 bottom: -20px;
 right: -20px;
}
.movie {
 width: 100%;
 aspect-ratio: 16/9;
 position: relative;
 z-index: 5;
}
.movie iframe {
 width: 100%;
 height: 100%;
}
.contactarea_s dt {
 font-size: 1.5rem;
 text-align: center;
}
.contactarea_s dt br{
 display: none;
}
.contactarea_s dd {
 padding: 40px 0 0;
 text-align: center;
}
.top_materials_container {
 background-image: linear-gradient(0deg, transparent calc(100% - 1px), #e6f7ff calc(100% - 1px)),
                   linear-gradient(90deg, transparent calc(100% - 1px), #e6f7ff calc(100% - 1px));
 background-size: 20px 20px;
 background-repeat: repeat;
 background-position: center center;
 background-color: #daf3ff;
 padding: 60px 0;
}
.top_materials_contents {
 max-width: 1730px;
 width: 95%;
 margin: 30px auto;
 background: #ffffff;
 border-radius: 40px;
 padding: 40px;
 position: relative;
}
.top_materials_contents::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 top: 40px;
 left: 40px;
 z-index: 2;
}
.top_materials_contents::after {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 bottom: 40px;
 left: 40px;
 z-index: 2;
}
.top_materials_contents ul {
 width: 100%;
 margin: auto;
 display: flex;
 align-items: stretch;
 justify-content: space-between;
}
.top_materials_contents ul::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 top: 40px;
 right: 40px;
 z-index: 2;
}
.top_materials_contents ul::after {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 bottom: 40px;
 right: 40px;
 z-index: 2;
}
.top_materials_contents ul li {
 width: 33.333%;
 margin: 0 auto;
 padding: 10px 15px;
 box-sizing: border-box;
}
.top_materials_img {
 max-width: 300px;
 width: 100%;
 margin: auto;
 text-align: center;
}
.top_materials_contents ul li dl {
 max-width: 300px;
 width: 90%;
 margin: auto;
}
.top_materials_contents ul li dt {
 max-width: 300px;
 min-height: 42px;
 border-radius: 20px;
 color: #ffffff;
 text-align: center;
 margin: 20px auto;
 padding: 5px;
}
.top_materials_contents ul li:first-child dt {
 background: #0286eb;
}
.top_materials_contents ul li:nth-child(2) dt {
 background: #0060c3;
}
.top_materials_contents ul li:last-child dt {
 background: #0051a4;
}
.top_materials_contents ul li:nth-child(2) {
 background-image: radial-gradient(circle, #353b3c 2.5px, transparent 2.5px);
 background-position: left top;
 background-repeat: repeat-y;
 background-size: 5px 10px;
}
.top_materials_contents ul li:last-child {
 background-image: radial-gradient(circle, #353b3c 2.5px, transparent 2.5px);
 background-position: left top;
 background-repeat: repeat-y;
 background-size: 5px 10px;
}
.top_animation_container {
 background-image: linear-gradient(0deg, transparent calc(100% - 1px), #e6f7ff calc(100% - 1px)),
                   linear-gradient(90deg, transparent calc(100% - 1px), #e6f7ff calc(100% - 1px));
 background-size: 20px 20px;
 background-repeat: repeat;
 background-position: center center;
 background-color: #ccefff;
 padding: 60px 0;
}
.top_flow_container {
 width: 100%;
 background: #ecf9ff;
 position: relative;
 padding: 50px 0 100px;
}
.top_flow_corner_l {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent transparent #ecf9ff;
 border-width: 160px 0px 0px 50vw;
 position: absolute;
 top: -160px;
 left: 0;
 z-index: 2;
}
.top_flow_corner_r {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent #ecf9ff transparent;
 border-width: 0px 0px 160px 50vw;
 position: absolute;
 top: -160px;
 right: 0;
 z-index: 2;
}
.top_flow_contents li {
 display: flex;
 justify-content: space-between;
 padding: 0 0 50px 0;
 position: relative;
}
.top_flow_contents li::after {
 content: "";
 background-image: radial-gradient(circle, #353b3c 2.5px, transparent 2.5px);
 background-position: left top;
 background-repeat: repeat-y;
 background-size: 5px 10px;
 position: absolute;
 left: 80px;
 top: 160px;
 width: 10px;
 height: 160px;
 z-index: 1;
}
.top_flow_contents li:last-child::after {
 display: none;
}
.top_flow_contents_img {
 width: 160px;
 position: relative;
 z-index: 2;
}
.top_flow_contents_item {
  width: calc(100% - 220px);
}
.top_flow_contents_item dd {
 width: 100%;
 min-height: 100px;
 background: #0286eb;
 border-radius: 30px;
 position: relative;
 z-index: 1;
 padding: 25px;
}
.top_flow_contents li:nth-child(2) dd {
 background: #0073cb;
}
.top_flow_contents li:nth-child(3) dd {
 background: #0060c3;
}
.top_flow_contents li:last-child dd {
 background: #0051a4;
}
.top_flow_contents_item dd::after {
 content: "";
 width: 100%;
 height: 100%;
 background: #ffffff;
 border-radius: 30px;
 position: absolute;
 top: -5px;
 left: -5px;
 padding: 15px;
 z-index: 2;
}
.top_flow_contents_item dd p {
 position: relative;
 z-index: 3;
}
.top_flow_contents_item dt {
 color: #0286eb;
 font-size: 1.8rem;
 font-weight: 600;
 margin: 0 0 20px;
}
.top_flow_contents_item dt span.f_step {
 display: inline-block;
 color: #0286eb; 
 font-size: 1.1rem;
 border-bottom: 2px solid #0286eb;
 padding: 0 6px 2px;
 margin: 0 0 12px 0;
 position: relative;
 z-index: 1;
}
.top_flow_contents_item dt span.f_step::after {
 width: 6px;
 height: 14px;
 content: "";
 transform: rotate(30deg);
 position: absolute;
 bottom: -8px;
 right: 12px;
 background-color: #ecf9ff;
 z-index: 2;
}
.top_flow_contents_item dt span.f_step::before {
 width: 2px;
 height: 14px;
 content: "";
 transform: rotate(30deg);
 position: absolute;
 bottom: -8px;
 right: 14px;
 background-color: #0286eb;
 z-index: 3;
}
.top_flow_contents_item dt span.f_balloon {
 display: inline-block;
 position: relative;
 margin-left: 20px;
 padding: 5px 10px;
 border-radius: 12px;
 background: #f8b400;
 text-align: center;
 font-size: 1rem;
 font-weight: 500;
 color: #ffffff;
}
.top_flow_contents_item dt span.f_balloon::after {
 content: "";
 position: absolute;
 top: 12px;
 left: -15px;
 border-style: solid;
 border-width: 8px 16px 8px 0;
 border-color: transparent #f8b400 transparent transparent;
}
.top_flow_staff {
 content: "";
 background: url("image/top_flow_img.png") no-repeat;
 background-size: 172px 200px;
 background-position: right bottom;
 display: block;
 max-width: 740px;
 width: 100%;
 min-height: 200px;
 height: auto;
 margin: auto;
}
.top_flow_staff p {
 position: relative;
 display: inline-block;
 margin: 15px auto 0;
 padding: 20px;
 border-radius: 20px;
 background: #0051a4;
 text-align: center;
 font-size: 1.2rem;
 font-weight: 500;
 color: #ffffff;
}
.top_flow_staff p::after {
 content: "";
 position: absolute;
 bottom: 0;
 left: 70%;
 border-style: solid;
 border-width: 20px 0 0 20px;
 border-color: #0051a4 transparent transparent;
 translate: calc(50% + 0.4px) 100%;
 transform: skewX(10deg);
 transform-origin: top;
}
/******************************************************* nextPage ******************************************************/
/******************* common ******************/
.nextpage_titlearea {
 width: 100%;
 position: relative;
 z-index: 1;
}
.products {
 width: 100%;
 height:500px;
 background: url("image/next_main_products.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.features {
 width: 100%;
 height:500px;
 background: url("image/next_main_features.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.flow {
 width: 100%;
 height:500px;
 background: url("image/next_main_flow.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.news {
 width: 100%;
 height:500px;
 background: url("image/next_main_news.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.price {
 width: 100%;
 height:500px;
 background: url("image/next_main_price.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.contact,
.thanks {
 width: 100%;
 height:500px;
 background: url("image/next_main_contact.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.company {
 width: 100%;
 height:500px;
 background: url("image/next_main_company.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.privacy {
 width: 100%;
 height:500px;
 background: url("image/next_main_privacy.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.faq {
 width: 100%;
 height:500px;
 background: url("image/next_main_faq.jpg") no-repeat;
 background-size: cover;
 background-position: center bottom;
 position: relative;
 z-index: 1;
}
.next_corner_l {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: #0286eb transparent transparent transparent;
 border-width: 550px 40vw 0px 0px;
 opacity: 0.75;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 2;
}
.next_corner_r {
 width: 0;
 height: 0;
 border-style: solid;
 border-color: transparent transparent #ecf9ff transparent;
 border-width: 0px 0px 160px 15vw;
 position: absolute;
 bottom: 0px;
 right: 0;
 z-index: 2;
}
.next_title {
 display: block;
 text-align: center;
 font-size: 2.5rem;
 color: #ffffff;
 vertical-align: middle;
 position: absolute;
 margin: auto;
 top: 55%;
 right: 0;
 bottom: 0;
 left: 0;
 text-shadow: 2px 2px 0 #7a7a7a;
}
.breadcrumbs {
 max-width: 1730px;
 width: 95%;
 margin: 5px auto 15px;
 font-size: 1rem;
 display: flex;
 position: relative;
 z-index: 3;
}
.breadcrumbs li a {
}
.breadcrumbs li a:hover {
 text-decoration: underline;
 color: #0286eb;
}
.breadcrumbs li::after {
 content: ">";
 padding: 0 5px; 
}
.breadcrumbs li:last-child {
 color: #0286eb;
}
.breadcrumbs li:last-child::after {
 content: none;
}
.contents_round {
 background: #ffffff;
 border-radius: 30px;
 max-width: 1500px;
 width: 95%;
 margin: 40px auto 80px;
 position: relative;
 padding: 40px 40px 60px;
}
.next_titlearea_s {
 text-align: center;
 margin: 20px auto 30px;
 vertical-align: bottom;
}
.next_title_s {
 text-align: center;
 color:  #0286eb;
 font-size: 2rem;
 font-weight: 800;
 line-height: 2em;
 vertical-align: bottom;
 background: linear-gradient(transparent 50%, rgb(255, 255, 255) 50%);
 display: inline;
}
.next_title_s span {
 color: #0051a4;
 font-size: 3rem;
 font-weight: 700;
 position: relative;
 display: inline-block;
 vertical-align: bottom;
 padding: 0 5px 7px;
}
.next_title_s br {
 display: none;
}
/******************* products ******************/
.products_titlearea {
 text-align: center;
 margin: 20px auto 30px;
}
.products_title {
 text-align: center;
 color:  #0286eb;
 font-size: 2rem;
 font-weight: 800;
 line-height: 2em;
 vertical-align: bottom;
 background: linear-gradient(transparent 50%, rgb(255, 255, 255) 50%);
 display: inline;
}
.products_title br {
 display: none;
}
.products_title span {
 color: #0051a4;
 font-size: 3.2rem;
 font-weight: 700;
 position: relative;
 display: inline-block;
}
.products_title span:before {
 content: "";
 background: url("image/products_txt_0.png") no-repeat;
 background-size: contain;
 width: 90px;
 height: 26px;
 position: absolute;
 top: -15px;
 left: -18px;
 right: 0;
 margin: auto;
 text-align: center;
}
.products_menuarea {
 display: flex;
 /*flex-wrap: wrap;*/
 justify-content: space-between;
 padding: 30px 0 20px;
}
.products_menuarea li {
 width: 260px;
 min-height: 240px;
 margin: 0 15px 20px;
}
.products_menuarea li a {
 display: block;
 width: 100%;
 height: 100%;
 background: #ffffff;
 border-radius: 45px;
 padding: 15px;
 position: relative;
 z-index: 2;
 transition: all 0.5s;
}
.products_menuarea li a:hover {
 background: #ecf9ff;
}
.products_menuarea li a::before {
 content: "";
 width: 100%;
 height: 100%;
 border-radius: 45px;
 border: 6px solid #0286eb;
 position: absolute;
 top: -10px;
 left: -8px;
 z-index: 1;
 transition: all 0.5s;
}
.products_menuarea li a:hover::before {
 position: absolute;
 top: 0px;
 left: 0px;
}
.products_menuarea li a dl {
 position: relative;
}
.products_menuarea li a dl:after {
 content: "";
 display: block;
 line-height: 1;
 width: 1.1em;
 height: 1.1em;
 border: 4px solid #0286eb;
 border-left: 0;
 border-bottom: 0;
 box-sizing: border-box;
 transform: translateY(-25%) rotate(135deg);
 position: absolute;
 left: 0;
 right: 0;
 bottom: -20px;
 margin: auto;
 transition: all 0.5s;
}
.products_menuarea li:nth-child(2) a dl:after {
 border: 4px solid #0060c3;
 border-left: 0;
 border-bottom: 0;
}
.products_menuarea li:nth-child(3) a dl:after {
 border: 4px solid #0060c3;
 border-left: 0;
 border-bottom: 0;
}
.products_menuarea li:last-child a dl:after {
 border: 4px solid #02c2eb;
 border-left: 0;
 border-bottom: 0;
}
.products_menuarea li a:hover dl:after {
 bottom: -25px;
}
.products_item_icon {
 width: 110px;
 margin: 0 auto;
}
.products_item_menutitle {
 text-align: center;
 color: #0286eb;
 padding: 10px 0;
 font-weight: 500;
}
.products_menuarea li:nth-child(2) a::before {
 border: 6px solid #0060c3;
}
.products_menuarea li:nth-child(3) a::before {
 border: 6px solid #0051a4;
}
.products_menuarea li:last-child a::before {
 border: 6px solid #02c2eb;
}
.products_menuarea li:nth-child(2) .products_item_menutitle {
 color: #0060c3;
}
.products_menuarea li:nth-child(3) .products_item_menutitle {
 color: #0051a4;
}
.products_menuarea li:last-child .products_item_menutitle {
 color: #02c2eb;
}
.contents_round {
 position: relative;
}
.contents_round::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 top: 40px;
 left: 40px;
 z-index: 2;
}
.contents_round::after {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 top: 40px;
 right: 40px;
 z-index: 2;
}
#menu01, #menu02 {
 padding: 0 0 50px 0;
 margin: 0 auto 50px;
 background-image: radial-gradient(circle, #353b3c 2.5px, transparent 2.5px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 10px 5px;
}
#menu03 {
 position: relative;
 padding: 0 0 60px 0;
}
#menu03::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 bottom: -20px;
 left: 0px;
 z-index: 2;
}
#menu03::after {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 bottom: -20px;
 right: 0px;
 z-index: 2;
}
.cr02::before,
.cr02::after {
 background: #02c2eb;
}
#menu04 {
 position: relative;
 padding: 0 0 60px 0;
}
#menu04::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #02c2eb;
 border-radius: 50%;
 position: absolute;
 bottom: -20px;
 left: 0px;
 z-index: 2;
}
#menu04::after {
 content: "";
 width: 20px;
 height: 20px;
 background: #02c2eb;
 border-radius: 50%;
 position: absolute;
 bottom: -20px;
 right: 0px;
 z-index: 2;
}
.products_item_title_cl {
 max-width: 290px;
 display: block;
 border-radius: 20px;
 background: #0286eb;
 color: #ffffff;
 font-size: 1.1rem;
 text-align: center;
 margin: 10px auto 0;
 padding: 5px;
}
#menu02 .products_item_title_cl {
 background: #0060c3;
}
#menu03 .products_item_title_cl {
 background: #0051a4;
}
.products_item_title {
 text-align: center;
 font-size: 1.6rem;
 font-weight: 600;
 color: #0286eb;
 padding: 30px 0;
}
#menu02 .products_item_title {
 color: #0060c3;
}
#menu03 .products_item_title {
 color: #0051a4;
}
#menu04 .products_item_title {
 color: #02c2eb;
}
.marker_yl {
 background: linear-gradient(transparent 50%, #f8b500 50%);
 display: inline;
}
.products_item_features {
 position: relative;
 width: 90%;
 margin: 40px auto 50px;
}
.products_item_features dt {
 position: absolute;
 width: 75px;
 height: 75px;
 top: -25px;
 left: -45px;
}
.products_item_features dd {
 background: #fffaee;
 border-radius: 15px;
 border: 1px dotted #f8b500;
 padding: 20px 30px;
}
.products_item_imgarea {
 width: 100%;
 display: flex;
 justify-content: space-between;
 position: relative;
}
.products_item_imgarea::after {
 content: "";
 width: 100%;
 height: 40%;
 display: block;
 position: absolute;
 bottom: 0;
 background-color: #ecf9ff;
 z-index: 1;
}
.products_item_imgarea li {
 margin: 0 20px 30px;
 position: relative;
 z-index: 2;
}
.products_item_img_cover {
 width: 245px;
}
.products_item_img_contents {
 width: 500px;
}
.products_animation_container {
 width: 100%;
 height: 100%;
 background: #ccefff;
 padding: 40px 0;
}
.products_animation_contents {
 width: 90%;
 margin: 0 auto 40px;
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 padding: 40px 0 0;
}
.pac02 {
 flex-direction: row-reverse;
}
.products_animation_img {
 max-width: 610px;
 width: 45%;
 margin: 0 auto 20px;
 position: relative;
 z-index: 1;
}
.products_animation_img::after {
 content: "";
 position: absolute;
 border-right: 5px solid #02c2eb;
 border-bottom: 5px solid #02c2ed;
 right: -5px;
 bottom: -5px;
 width: 100%;
 height: 100%;
 z-index: 2;
 display: inline-block;
}
.products_animation_box {
 max-width: 605px;
 width: 50%;
}
.products_animation_box dt {
 font-size: 1.5rem;
 font-weight: 500;
 color: #02c2eb;
 padding: 10px 0 5px;
 margin: 0 0 5px 0;
 border-bottom: 6px double #02c2eb;
}
.products_animation_box dt::before {
 content: "";
 background: url("image/production_animation_icon.png") no-repeat;
 width: 36px;
 height: 26px;
 background-size: contain;
 display: inline-block;
 margin: 2px 10px 0 0;
}
.production_animation_cm {
 padding: 40px 0;
}
.production_animation_cm dt {
 max-width: 370px;
 width: 95%;
 border-radius: 25px;
 margin: 0 auto 20px;
 background: #02c2eb;
 font-size: 1.2rem;
 text-align: center;
 padding: 8px 5px;
 color: #ffffff;
 display: block;
 position: relative;
}
.production_animation_cm dt::before {
 content: "";
 border-radius: 50%;
 width: 15px;
 height: 15px;
 background: #ffffff;
 display: block;
 position: absolute;
 top: 15px;
 left: 15px;
}
.production_animation_cm dt::after {
 content: "";
 border-radius: 50%;
 width: 15px;
 height: 15px;
 background: #ffffff;
 display: block;
 position: absolute;
 top: 15px;
 right: 15px;
}
.production_animation_cm dd.animation_balloon {
 max-width: 460px;
 width: 95%;
 text-align: center;
 color: #02c2eb;
 border: 2px solid #02c2eb;
 border-radius: 5px;
 display: block;
 margin: auto;
 padding: 5px 10px;
 position: relative;
}
.production_animation_cm dd.animation_balloon::after {
 width: 6px;
 height: 22px;
 content: "";
 transform: rotate(30deg);
 position: absolute;
 bottom: -15px;
 right: 28px;
 background-color: #ffffff;
 z-index: 2;
}
.production_animation_cm dd.animation_balloon::before {
 width: 2px;
 height: 22px;
 content: "";
 transform: rotate(30deg);
 position: absolute;
 bottom: -15px;
 right: 30px;
 background-color: #02c2eb;
 z-index: 3;
}
#menu04 .thumbnail {
 max-width: 845px;
 width:90%;
 margin: 25px auto 60px;
 position: relative;
}
#menu04 .thumbnail::before {
 border-left: solid 10px #02c2eb;
 border-top: solid 10px #02c2eb;
}
#menu04 .thumbnail::after {
 border-right: solid 10px #02c2eb;
 border-bottom: solid 10px #02c2eb;
}
#menu01, #menu02, #menu03, #menu04 {
 padding-top: 135px;
 margin-top: -135px;
}
/******************* news ******************/
.news_contents {
 max-width: 1500px;
 width: 95%;
 margin: 0 auto 80px;
 padding: 20px 0 0;
}
.news_title {
 font-size: 1.8rem;
 line-height: 1.5em;
 color: #0286eb;
 font-weight: 600;
 margin: 0 auto 20px;
}
.news_title_info {
 display: flex;
 margin: 0 0 50px 0;
}
.news_schedule {
 font-size: 1.1rem;
 margin: 0 10px 0 0;
}
.tag_news {
 background: #0286eb;
 border-radius: 15px;
 padding: 2px 15px;
 color: #ffffff;
 text-align: center;
 font-size: 1rem;
 line-height: 1.5em;
}
.tag_news::before {
 content: "ニュース";
 color: #ffffff;
 font-size: 1rem;
 line-height: 1.5em;
 text-align: center;
 padding: 5px 5px 2px; 
}
.tag_press {
 background: #f8b500;
 border-radius: 15px;
 padding: 2px 15px;
 color: #ffffff;
 text-align: center;
 font-size: 1rem;
 line-height: 1.5em;
}
.tag_press::before {
 content: "プレスリリース";
 color: #ffffff;
 font-size: 1rem;
 line-height: 1.5em;
 text-align: center;
 padding: 5px 5px 2px; 
}
.news_img {
 max-width: 990px;
 width: 100%;
 margin: 0 auto 50px;
 position: relative;
}
.news_img::after {
 content: "";
 position: absolute;
 border-right: 10px solid #0286eb;
 border-bottom: 10px solid #0286eb;
 right: -10px;
 bottom: -10px;
 width: 100%;
 height: 100%;
 z-index: 2;
display: inline-block
}
.news_textarea {
 padding: 0 0 50px 0;
}
.news_textarea p {
 padding-bottom: 1em;
}
.news_list li.list { 
 margin: 0 auto;
 background-image: radial-gradient(circle, #c2c2c2 1px, transparent 1px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 5px 2px;
}
.news_list li a {
 width: 100%;
 height: 100%;
 padding: 40px;
 transition: all 0.5s;
 display: block;
}
.news_list li a object {
 display: block;
}
.news_list li a object div.news_list_box {
 display: flex;
 align-items: center;
}
.news_list li a:hover {
 background: #ffffff;
}
.news_list_img {
 width: 330px;
 margin: 0 40px 0 0;
 position: relative;
 padding: 0 5px 5px 0;
}
.news_list_img::after {
 content: "";
 position: absolute;
 border-right: 5px solid #0286eb;
 border-bottom: 5px solid #0286eb;
 right: 0px;
 bottom: 0px;
 width: 97%;
 height: 97%;
 z-index: 2;
display: inline-block;
}
.news_list_infoarea {
 width: calc(100% - 370px);
 display: flex;
 align-items: center;
 justify-content: space-between;
}
.news_list_textarea {
 width: calc(100% - 65px); 
}
.news_list_textarea .news_title_info {
 margin: 0 0 20px 0;
 width: 100%;
}
.news_list_textarea h2 {
 font-size: 1.7rem;
 line-height: 1.5em;
 color: #0286eb;
 font-weight: 600; 
 width: 100%;
 margin: 0 0 20px 0;
}
.news_list_arrow {
 position: relative;
 display: block;
 width: 40px;
 height: 40px;
 border: 2px solid #0286eb;
 border-radius: 50%;
 margin: 20px 0 0 0;
 background: #ecf9ff;
 transition: all 0.5s;
}
.news_arrow {
 position: relative;
 display: block;
 color: #0286eb;
 width: 23px;
 height: 2px;
 background-color: #0286eb;
 top: 50%;
 left: 5px;
}
.news_arrow::after {
 content: "";
 width: 16px;
 height: 16px;
 border: 2px solid #0286eb;
 border-left: 0;
 border-bottom: 0;
 transform: rotate(45deg);
 transform-origin: top right;
 position: absolute;
 top: 50%;
 right: -1px;
 box-sizing: border-box;
}
.news_list li a:hover .news_list_arrow {
 background: #0286eb;
}
.news_list li a:hover .news_arrow {
 color: #ffffff;
 background-color: #ffffff;
}
.news_list li a:hover .news_arrow::after {
 content: "";
 width: 16px;
 height: 16px;
 border: 2px solid #ffffff;
 border-left: 0;
 border-bottom: 0;
 transform: rotate(45deg);
 transform-origin: top right;
 position: absolute;
 top: 50%;
 right: -1px;
 box-sizing: border-box;
}
.pagenation {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 margin: 30px auto;
}
.pagenation li {
 width: 60px;
 height: 60px;
 border-radius: 50%;
 margin: 0 5px 20px;
}
.pagenation li a {
 width: 60px;
 height: 60px;
 display: block;
 padding: 0 0 0 20px;
 border-radius: 50%;
 background: #ffffff;
 font-size: 1.8rem;
 line-height: 60px;
 transition: all 0.5s;
 color: #0286eb;
}
.pagenation li a:hover {
 background: #0286eb;
 color: #ffffff;
}
.pagenation li.active {
 background: #0286eb;
 color: #ffffff;
 display: block;
 padding: 0 0 0 20px;
 border-radius: 50%;
 font-size: 1.8rem;
 line-height: 60px;
}
/******************* flow ******************/
.flow_container {
 width: 100%;
 height: 100%;
 background: #ccefff;
 padding: 40px 0;
}
.flow_container .top_flow_contents_item dt span.f_step::after {
 width: 6px;
 height: 14px;
 content: "";
 transform: rotate(30deg);
 position: absolute;
 bottom: -8px;
 right: 12px;
 background-color: #ccefff;
 z-index: 2;
}
/******************* features ******************/
.features_contents {
 width: 100%;
 margin: 0 auto 60px;
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 padding: 40px 0 60px;
 background-image: radial-gradient(circle, #353b3c 2.5px, transparent 2.5px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 10px 5px;
}
.fc_end {
 background-image: none;
 position: relative;
 margin: 0 auto;
}
.fc_end::before {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 bottom: -20px;
 left: 0px;
 z-index: 2;
}
.fc_end::after {
 content: "";
 width: 20px;
 height: 20px;
 background: #0286eb;
 border-radius: 50%;
 position: absolute;
 bottom: -20px;
 right: 0px;
 z-index: 2;
}
.features_rev {
 flex-direction: row-reverse;
}
.features_img {
 max-width: 610px;
 width: 45%;
 margin: 0 auto 20px;
 position: relative;
 z-index: 1;
}
.features_img::after {
 content: "";
 position: absolute;
 border-right: 5px solid #0286eb;
 border-bottom: 5px solid #0286eb;
 right: -5px;
 bottom: -5px;
 width: 100%;
 height: 100%;
 z-index: 2;
 display: inline-block;
}
.features_box {
 max-width: 605px;
 width: 50%;
}
.features_box dt {
 font-size: 1.5rem;
 font-weight: 500;
 color: #0286eb;
 padding: 10px 0;
 margin: 0 0 10px 0;
 border-bottom: 6px double #0286eb;
}
.features_point_balloon {
 max-width: 360px;
 width: 100%;
 background: #0286eb;
 border-radius: 25px;
 padding: 10px 5px;
 font-size: 1.2rem;
 line-height: 1.5em;
 font-weight: 700;
 color: #ffffff;
 text-align: center;
 position: relative;
 margin: 20px auto 0;
}
.features_point_balloon::after {
 content: "";
 position: absolute;
 top: 100%;
 left: 45%;
 width: 0;
 height: 0;
 border: 15px solid transparent;
 border-top: 15px solid #0286eb;
}
/******************* price ******************/
.price_icon {
 width: 110px;
 margin: 0 auto;
}
.price_icon {
 width: 110px;
 margin: 0 auto;
}
.price_icon_title {
 max-width: 290px;
 display: block;
 border-radius: 20px;
 background: #0286eb;
 color: #ffffff;
 font-size: 1.1rem;
 text-align: center;
 margin: 10px auto 0;
 padding: 5px;
}
.price_title {
 background: #0286eb;
 border-radius: 25px;
 width: 280px;
 margin: 30px auto 25px;
 padding: 5px 0;
 color: #ffffff;
 font-size: 1.2rem;
 line-height: 1.5em;
 text-align: center;
 display: block;
 font-weight: 800;
}
.price_list {
 max-width: 900px;
 width: 100%;
 margin: 0 auto 100px;
 border: 1px solid #0286eb;
}
.pl_animation {
 margin: 0 auto 10px;
}
.pl_animation_attn {
 margin: 0 0 100px;
 text-align: center;
}
.price_list th,
.price_list td {
 width: 33%;
 padding: 15px;
 box-sizing: border-box;
 text-align: center;
}
.price_list th {
 background: #0286eb;
 color: #ffffff;
 border-right: 1px dotted #ffffff;
 }
.price_list td {
 background: #ffffff;
 border-right: 1px dotted #0286eb;
 border-bottom: 1px solid #0286eb;
 vertical-align: middle;
}
/******************* company ******************/
.table_a {
 width: 95%;
 margin: 35px auto 60px;
}
.table_a th,
.table_a td {
 padding: 20px 15px;
 box-sizing: border-box;
}
.table_a th {
 width: 25%;
 background: #ccefff;
 color: #0286eb;
 border-bottom: 1px solid #ffffff;
}
.table_a th p {
 font-weight: 500;
}
.table_a td {
 width: 75%;
 background: #ffffff;
 border-bottom: 1px solid #ccefff;
}
.company_mainarea {
 background:url("image/company_img.jpg") no-repeat;
 background-position: center top;
 background-size: cover;
 width: 100%;
 min-height: 600px;
 position: relative;
 margin: 0 auto 80px;
 padding: 70px 0 30px;
}
.company_contents {
 background: rgba(255,255,255,0.9);
 padding: 50px 40px 40px;
 margin: auto;
 max-width: 800px;
 width: 95%;
 position: relative;
}
.company_contents::before,
.company_contents::after {
 content: "";
 width: 40px;
 height: 40px;
 position: absolute;
}
.company_contents::before {
 border-left: solid 4px #0286eb;
 border-top: solid 4px #0286eb;
 top: 30px;
 left: 30px;
}
.company_contents::after {
 border-right: solid 4px #0286eb;
 border-bottom: solid 4px #0286eb;
 bottom: 30px;
 right: 30px;
}
.company_contents h2 {
 font-size: 2rem;
 font-weight: 600;
 color: #0286eb;
 margin: 0 auto 30px;
 text-align: center;
}
.company_contents p {
 line-height: 2.5em;
 padding: 0 0 15px 0;
 text-align: center;
}
/******************* privacy ******************/
.privacy_contents {
 padding: 0 0 140px 0;
}
.privacy_contents .title_bl_s {
 margin: 40px 0 0;
}
.privacy_contents p {
 line-height: 2em;
}
.privacy_contents .btnarea {
 margin: 20px 0;
}
/******************* faq ******************/
.faq_box {
 padding: 20px 0 100px;
}
.faq_box dt {
 font-size: 1.5rem;
 font-weight: 500;
 color: #0286eb;
 display: flex;
}
.faq_box dt span.circle_b {
 display: inline-block;
 width: 50px;
 height: 50px;
 border-radius: 50%;
 background: #0286eb;
 text-align: center;
 line-height: 50px;
 color: #ffffff;
 font-size: 1.5rem;
 font-weight: 500;
 margin: -3px 10px 0 0;
}
.faq_box dt span.faq_title {
 width: calc(100% - 60px);
 display: inline-block;
}
.faq_box dd {
 width: 100%;
 margin: 0 auto 50px;
 padding: 40px 0 30px;
 display: flex;
 background-image: radial-gradient(circle, #353b3c 1.5px, transparent 1.5px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 8px 3px;
}
.faq_box dd p {
 width: calc(100% - 60px);
 display: inline-block;
}
.faq_box dd span.circle_o {
 display: inline-block;
 width: 50px;
 height: 50px;
 border-radius: 50%;
 background: #f88600;
 text-align: center;
 line-height: 50px;
 color: #ffffff;
 font-size: 1.5rem;
 font-weight: 500;
 margin: -3px 10px 0 0;
}
/******************* contact ******************/
.required {
 color: #D40003;
 font-size: 0.8em;
 display: inline-block;
 padding: 0 3px;
}
input[type="number"],
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	margin: 0;
	padding: 5px 10px;
	background: #f4f4f4;
 width: 100%;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="checkbox"],
input[type="radio"] {
 position: relative;
 width: 18px;
 height: 18px;
 margin-right: 8px;
 border: 1px solid #bcbcbc;
 vertical-align: -3px;
 cursor: pointer;
 -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
}
input[type="checkbox"] {
 padding: 10px;
}
input[type="checkbox"]:checked {
 border: 1px solid #0286eb;
 background: #0286eb;
}
input[type="checkbox"]:checked:before {
 position: absolute;
 top: 3px;
 left: 6px;
 transform: rotate(50deg);
 width: 6px;
 height: 10px;
 border-right: 2px solid #fff;
 border-bottom: 2px solid #fff;
 content: '';
}
input[type="radio"] {
 border-radius: 50%;
 padding: 0;
}
input[type="radio"]:checked:before {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 9px;
 height: 9px;
 border-radius: 50%;
 background: #0286eb;
 content: '';
}
input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder {
 color: #a5a5a5;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance:textfield;
}
input[type="number"] {
 width: 80px;
 margin: 0 0 5px 5px;
}
textarea {
 width: 100%;
}
.guide_number_title {
 vertical-align: middle;
}
input[type="submit"] {
 text-align: center;
 margin: 0 10px 0 0;
}
.wpcf7-spinner {
 display: none;
}
.submit_btnarea {
 max-width: 560px;
 width: 95%;
 margin: 20px auto;
 position: relative;
}

input[type="submit"] {
 width: 100%;
 font-size: 1.6rem;
 font-weight: 500;
 line-height: 1.5em;
 position: relative;
 display: inline-block;
 padding: 1.2rem 4rem;
 cursor: pointer;
 transition: all 0.3s;
 text-align: center;
 vertical-align: middle;
 text-decoration: none;
 letter-spacing: 0.1em;
 color: #0286eb;
 border: 2px solid #0286eb;
 border-radius: 100vh;
 margin: auto;
 background: #ffffff;
}
input[type="submit"]:hover {
 background: #0286eb;
 border: 2px solid #ffffff;
 color:#ffffff;
}
.wpcf7 form.invalid .wpcf7-response-output {
 border-color:#D40003;
 color: #D40003;
 background: #ffffff;
}
.wpcf7 form .wpcf7-response-output {
 margin: 1em 0.5em;
 padding: 1em;
}
.wpcf7-submit:disabled {
 background: #D5D5D5;
 border: 2px solid #C9C9C9;
 color: #A1A1A1;
}
/********************************************************************************** responsive *********************************************************************************/
@media screen and (max-height: 890px) {
.top_main_contents {
 margin: -80vh auto 0;
}
.top_main_img {
 height: 900px;
}
.top_main_img>div {
 height: 900px;
}
}
@media screen and (max-height: 580px) {
.top_main_contents {
 margin: -130vh auto 0;
}
}
@media screen and (max-width: 1280px) {
.top_main_title::after {
 content: "";
 background: url("image/top_main_guide.png") no-repeat;
 background-size: contain;
 width: 180px;
 position: absolute;
 top: 140px;
 right: 0;
}
}
@media screen and (max-width: 1024px) {
body {font-size: 2.2rem;}
.breadcrumbs { font-size: 1.6rem;}
footer .copyright {
 font-size: 1.5rem;
}
.font_sm {
 font-size: 1.5rem;
}
.title_en_bl {
 padding: 10px 0;
 font-size: 2rem;
 width: 400px;
 border-radius: 35px;
 }
.text_center { text-align: inherit;}
.gnav_pc{display:none}
.gnav_pc__contactarea { display: none;}
.gnav{
	display: none;
	width: 100%;
	background-color: rgba(0,81,164,0.9);
	text-align: center;
	color: #ffffff;
 font-weight: 400;
 font-style: normal;
}
.gnav__title{
 font-size:1.8rem;
 padding:70px 0 20px;
 border-bottom:solid 1px #ffffff;
}
.gnav__list{list-style:none}
.gnav__item {
 font-size:1.8rem;
 background-image: radial-gradient(circle, #ffffff 1px, transparent 1px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 5px 2px;
 }
.gnav__item:last-child {
 background-image: none;
 border-bottom: 1px solid #ffffff;
}
.gnav a{color:#ffffff;text-decoration:none;padding:35px 20px;width: 100%;height: 100%;display: block;}
.gnav a:hover {background:#f8b500;
 color: #ffffff;
 }
.open{
 display:block;
 position: fixed;
 z-index:99
}
.toggle{
 position:absolute;
 position: fixed;
 top:45px;
 right:35px;
 -ms-flex-item-align:center;
 -ms-grid-row-align:center;
 align-self:center;
 display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-align:center; -ms-flex-align:center;
 align-items:center;
 width:44px;
 height:46px;
 cursor:pointer;
 z-index:999;
}
.toggle__line{
	display: block;
	width: 100%;
	height: 4px;
	background-color: #FFB100;
	position: relative;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.toggle__line::after,.toggle__line::before{
	content: '';
	display: block;
	width: 100%;
	height: 4px;
	background-color: #FFB100;
	position: absolute;
	-webkit-transition: all .2s;
	transition: all .2s
}
.toggle__line::before{-webkit-transform:translateY(-16px);transform:translateY(-16px)}.toggle__line::after{-webkit-transform:translateY(16px);transform:translateY(16px)}.toggle.open .toggle__line{background-color:transparent}.toggle.open .toggle__line::before{-webkit-transform:rotate(45deg);transform:rotate(45deg);background-color:#f8b500}.toggle.open .toggle__line::after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);background-color:#f8b500}.main{margin:61px auto 0;padding:0 20px}.section{background-color:#fff}.section--blue{
	background-color: #E1F7F9
}
a.btn_or {
 font-size: 2.2rem;
}
a.btn_bl {
 font-size: 2.2rem;
}
.btnarea {
 max-width: inherit;
}
.footer_menu {
 display: flex;
}
.footer_menu li { 
 width: 45%;
 margin: 0 auto 10px;
}
.contactarea_box {
 display: inherit;
}
.contactarea_box dl {
 width: 95%;
 padding: 25px 0 10px;
}
.contactarea_s dt {
 font-size: 2.4rem;
 }
.contactarea_s dt br{
 display: block;
}
.contactarea_title {
 font-size: 2.4rem;
}
.contactarea_box dl dt {
 font-size: 2.4rem;
}
.contactarea_box dl dd {
 max-width: inherit;
 font-size: 3.2rem;
}
.contactarea_tel {
 width: 95%;
 background-image: radial-gradient(circle, #ffffff 2.5px, transparent 2.5px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 10px 5px;
 }
.contactarea_tel dd span {
font-size: 1.8rem;
}
.arrow_og_s::before {
 bottom: 10px;
}
.arrow_og_s::after {
 bottom: 18px;
}
.arrow_bl_s::before {
 bottom: 10px;
}
.arrow_bl_s::after {
 bottom: 18px;
}
.title_en_wh {
font-size: 1.8rem;
}
.top_main_list li {
 min-height: 270px;
}
.top_main_list li dl dd {
 font-size: 1.8rem;
 line-height: 1.3em;
}
.top_newsarea dl {
 display: inherit;
}
.top_newsarea dl dt {
 width: 100%;
 color: #0286eb;
 background-image: radial-gradient(circle, #0286eb 1.5px, transparent 1.5px);
 background-position: left bottom;
 background-repeat: repeat-x;
 background-size: 5px 10px;
 padding: 0 0 15px;
 font-size: 2rem;
}
.top_newsarea dl dd {
 width: 100%;
 padding: 10px 5px 0;
 font-size: 1.8rem;
}
.top_nayamiarea_title {
 font-size: 2.4rem;
 }
.top_point_box_item dt {
 font-size: 2.4rem;
 }
.top_point_balloon {
 width: 260px;
 border-radius: 35px;
 font-size: 1.7rem;
 }
.top_point_title br {
 display: block;
}
.top_support_title {
 font-size: 3rem;
}
.top_materials_contents ul {
 display: inherit;
}
.top_materials_contents ul li {
 width: 100%;
 padding: 30px 0;
}
.top_materials_contents ul li:nth-child(2) {
 background-image: radial-gradient(circle, #353b3c 1.5px, transparent 1.5px);
 background-repeat: repeat-x;
}
.top_materials_contents ul li:last-child {
 background-image: radial-gradient(circle, #353b3c 1.5px, transparent 1.5px);
 background-repeat: repeat-x;
}
.top_materials_contents ul li dl {
 max-width:none;
}
.top_materials_contents ul li dt {
 max-width:none;
 border-radius: 40px;
}
.top_point_title {
 font-size: 2.6rem;
 }
.top_point_title_st,
.top_point_title_st2 {
 font-size: 3.6rem;
 }
.top_point_contents {
 display: block;
}
.top_point_box {
 width: 90%;
 min-height: 900px;
 margin: 0 auto 60px;
}
.top_point_box::before {
 width: 100%;
 min-height: 900px;
}
.top_point_box_img {
 max-width: 500px;
 width: 95%;
}
.top_point_corner_l {
 border-width: 80px 0px 0px 50vw;
 top: -80px;
}
.top_point_corner_r {
 border-width: 0px 0px 80px 50vw;
 top: -80px;
}
.top_support_imgarea:before {
 display: none;
}
.top_support_imgarea::after {
 display: none;
}
.top_flow_contents li {
 display: block;
}
.top_flow_contents_img {
 width: 160px;
 margin: 0 auto 10px;
}
.top_flow_contents_item {
 width: 100%;
}
.top_flow_contents_item dt {
 margin: 0 auto 20px;
 text-align: center;
 font-size: 2.6rem;
}
.top_flow_contents_item dt span.f_step {
 font-size: 2rem;
}
.top_flow_contents li::after {
 display: none;
}
.top_flow_staff {
 min-height: 300px;
 max-width: inherit;
 background-position: center bottom;
}
.top_flow_staff p {
 display: block;
 font-size: 2rem;
}
.top_flow_staff p::after {
 left: 50%;
 border-width: 20px 10px 0 10px;
 translate: -50% 100%;
}
.top_flow_contents_item dt span.f_balloon {
 font-size: 1.7rem;
}
.next_title {
 font-size: 3rem;
 }
.next_title_s {
 font-size: 2.7rem;
}
.next_title_s br {
 display: block;
}
.features_box dt {
 font-size: 2.6rem;
}
.products_title {
 font-size: 2.6rem;
 }
.products_title br {
 display: block;
}
.products_menuarea {
flex-wrap: wrap;
justify-content: space-around;
}
.products_animation_contents,
.features_contents {
 display: block;
 margin: 0 auto 60px;
}
.features_point_balloon {
 border-radius: 45px;
 font-size: 2rem;
 }
.products_animation_img,
.features_img {
 max-width: 610px;
 width: 100%;
}
.products_animation_box,
.features_box {
 max-width: none;
 width: 100%;
 margin: 0 auto 50px;
}
.products_menuarea li {
 width: 360px;
 min-height: 340px;
}
 .products_menuarea li a {
 padding: 25px 10px;
}
.products_item_imgarea {
 display: block;
 margin: 0 auto 60px;
}
.products_item_imgarea::after {
 height: 30%;
 bottom: -50px;
}
.products_item_imgarea li {
 margin: 0 auto 20px;
}
.products_item_img_cover {
 max-width: 245px;
 width: 100%;
}
.products_item_img_contents {
 max-width: 500px;
 width: 100%;
}
.products_menuarea li a dl:after {
 bottom: -80px;
}
.products_animation_box dt {
 font-size: 2.4rem;
 }
.products_animation_box dt::before {
 margin: 20px 15px 0 0;
}
.products_item_title_cl {
 border-radius: 40px;
 font-size: 2rem;
 padding: 5px 10px;
}
.products_item_title {
 font-size: 2.6rem; 
}
.production_animation_cm dt { 
 max-width: inherit;
 border-radius: 45px;
 font-size: 2.6rem;
}
.production_animation_cm dt::before {
 width: 30px;
 height: 30px;
 top: 25px;
 left: 25px;
}
.production_animation_cm dt::after {
 width: 30px;
 height: 30px;
 top: 25px;
 right: 25px; 
}
.production_animation_cm dd.animation_balloon {
 max-width: inherit;
 border: 4px solid #02c2eb;
}
.production_animation_cm dd.animation_balloon::before {
 width: 4px;
 height: 28px;
}
.production_animation_cm dd.animation_balloon::after {
 width: 8px;
 height: 28px;
} 
.pac02,
.features_rev {
 flex-direction:column-reverse;
}
.post-categories li {
 margin: 10px 0 0 0; 
}
.news_list li a { 
 padding: 20px;
 }
.news_list li a object div.news_list_box {
display: block;
}
.news_list li a object div.news_list_box>div.news_list_infoarea {
 display: flex;
 }
.news_list li a object div.news_list_box>div.news_list_textarea div.news_title_info {
 display: flex;
}
.news_list_img {
 max-width: 660px;
 width: 100%;
 margin: 0 auto 30px;
}
.news_list_infoarea {
 width: 100%;
 display: flex;
}
.news_arrow {
 margin: 0 0 0 5px;
}
.news_title {
 font-size: 2.6rem;
}
.news_img::after {
 border-right: 5px solid #0286eb;
 border-bottom: 5px solid #0286eb;
 right: -5px;
 bottom: -5px;
}
.news_list li a object div.news_list_box {
 padding: 30px 0px;
}
.news_list_textarea h2 {
 width: 100%;
 font-size: 2.6rem;
}
.news_textarea p {
 font-size: 2rem;
}
.news_schedule {
 font-size: 2rem;
 }
.tag_news {
 border-radius: 35px;
 font-size: 2rem;
}
.tag_news::before {
 font-size: 2rem;
}
.tag_press {
 border-radius: 35px;
 font-size: 2rem;
}
.tag_press::before {
 font-size: 2rem;
}
.price_list thead {
  display: none;
 }
.price_list th,
.price_list td {
 width: 100%;
 display: block;
 font-size: 2rem;
}
.price_list th {
 border-right: none;
 }
.price_list td {
 border-right: none;
 border-bottom: none;
} 
.price_list td:first-child {
 background: #0286eb; 
 color: #ffffff;
 border-bottom: none;
 }
.price_list tbody tr td {
 display: flex;
 flex-direction: column;
 gap: 5px;
 border-bottom: 1px solid #0286eb; 
}
.price_list tbody td::before{
 content: attr(data-label);
 display: inline-block;
 border-bottom: 1px dotted #0286eb;
 padding: 0 0 10px 0;
 margin: 0 0 5px 0;
 font-weight: 600;
 color: #0286eb;
}
.price_list tbody td:first-child::before {
 display: none;
 padding: 0;
}
.table_a th {
 width: 100%;
 display: block;
 text-align: left;
}
.table_a td {
 width: 100%;
 display: block;
}
input[type="checkbox"],
input[type="radio"] {
 width: 36px;
 height: 36px;
 border: 2px solid #bcbcbc;
}
input[type="radio"]:checked:before {
 width: 18px;
 height: 18px;
}
input[type="number"] {
 width: 140px;
}
input[type="checkbox"]:checked {
 border: 2px solid #0286eb;
}
input[type="checkbox"]:checked:before {
 left: 10px;
 width: 12px;
 height: 20px;
 border-right: 4px solid #fff;
 border-bottom: 4px solid #fff;
}
input[type="submit"] {
 font-size: 2.2rem;
}
.company_mainarea {
 background-size: contain;
}
.company_contents h2 {
 font-size: 2.6rem;
}
.company_contents p {
 text-align: left;
}
.company_contents p br {
 display: none;
}
.faq_box dt {
 font-size: 2.4rem;
}
.faq_box dt span.circle_b {
 width: 80px;
 height: 80px;
 line-height: 80px;
 font-size: 2.6rem;
}
.faq_box dd span.circle_o {
 width: 80px;
 height: 80px;
 line-height: 80px;
 font-size: 2.6rem;
}
.privacy_contents .title_bl_s {
 font-size: 2.7rem;
 font-weight: 500;
 }
}

/*recaptchアイコンの非表示*/
.grecaptcha-badge { visibility: hidden; }