/*! destyle.css v1.0.13 | MIT License | https://github.com/nicolas-cusan/destyle.css */
* {
-webkit-box-sizing: border-box;
box-sizing: border-box
}

::before,::after {
-webkit-box-sizing: inherit;
box-sizing: inherit
}

html {
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0,0,0,0);
scroll-behavior: smooth;
}

body {
margin: 0
}

main {
display: block
}

p,table,blockquote,address,pre,iframe,form,figure,dl {
margin: 0
}

h1,h2,h3,h4,h5,h6 {
font-size: inherit;
line-height: inherit;
font-weight: inherit;
margin: 0
}

ul,ol {
margin: 0;
padding: 0;
list-style: none
}

dt {
font-weight: bold
}

dd {
margin-left: 0
}

hr {
-webkit-box-sizing: content-box;
box-sizing: content-box;
height: 0;
overflow: visible;
border: 0;
border-top: 1px solid;
margin: 0;
clear: both;
color: inherit
}

pre {
font-family: monospace;
font-size: inherit
}

address {
font-style: inherit
}

a {
background-color: rgba(0,0,0,0);
text-decoration: none;
color: inherit
}

abbr[title] {
border-bottom: none;
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted
}

b,strong {
font-weight: bolder
}

code,kbd,samp {
font-family: monospace;
font-size: inherit
}

small {
font-size: 80%
}

sub,sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline
}

sub {
bottom: -0.25em
}

sup {
top: -0.5em
}

img {
border-style: none;
vertical-align: bottom
}

embed,object,iframe {
border: 0;
vertical-align: bottom
}

button,input,optgroup,select,textarea {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
vertical-align: middle;
color: inherit;
font: inherit;
border: 0;
background: rgba(0,0,0,0);
padding: 0;
margin: 0;
outline: 0;
border-radius: 0;
text-align: inherit
}

[type=checkbox] {
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
appearance: checkbox
}

[type=radio] {
-webkit-appearance: radio;
-moz-appearance: radio;
appearance: radio
}

button,input {
overflow: visible
}

button,select {
text-transform: none
}

button,[type=button],[type=reset],[type=submit] {
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none
}

button[disabled],[type=button][disabled],[type=reset][disabled],[type=submit][disabled] {
cursor: default
}

button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
border-style: none;
padding: 0
}

button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring {
outline: 1px dotted ButtonText
}

option {
padding: 0
}

fieldset {
margin: 0;
padding: 0;
border: 0;
min-width: 0
}

legend {
color: inherit;
display: table;
max-width: 100%;
padding: 0;
white-space: normal
}

progress {
vertical-align: baseline
}

textarea {
overflow: auto
}

[type=checkbox],[type=radio] {
padding: 0
}

[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
height: auto
}

[type=search] {
outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
-webkit-appearance: none
}

::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit
}

details {
display: block
}

summary {
display: list-item
}

table {
border-collapse: collapse;
border-spacing: 0
}

caption {
text-align: left
}

th {
font-weight: bold
}

template {
display: none
}

[hidden] {
display: none
}


body {
/*font-family: "Yu Gothic UI","Noto Sans JP","Meiryo",sans-serif;*/
font-family: "Noto Sans JP","Meiryo",sans-serif;
font-size: 14px;
font-weight:500;
color: #222;
stroke-linejoin: 1.75;
position: relative;
overflow-x: hidden;
letter-spacing: .07em;
line-height: 1.75
}

.wrap {
/*width: 650px;*/
margin: 0 auto;
max-width: 100%;
padding: 0 20px;
}

header {
background-color: #fff;
position: sticky;
top: 0;
z-index: 1000;
}

.header-content {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem 0;
}

.logo img {
height: 40px;
width: auto;
}

/* PCナビゲーション */
.nav-desktop {
display: flex;
align-items: center;
gap: 2rem;
}

.nav-desktop nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
.nav-desktop nav ul li::before {
content: '|';
color: #ccc;
margin-right: 2rem;
}
.nav-desktop nav ul li a {
text-decoration: none;
color: #333;
transition: color 0.3s ease;
}

.nav-desktop nav ul li a:hover {
color: #f39b8d;
}

.contact-btn {
background-color: #f39b8d;
color: white;
padding: 2px 20px;
text-decoration: none;
border-radius: 15px;
transition: background-color 0.3s ease;
}

.contact-btn:hover {
background-color: #f39b8d;
}

/* ハンバーガーメニュー */
.hamburger {
display: none;
flex-direction: column;
cursor: pointer;
padding: 5px;
}

.hamburger span {
width: 25px;
height: 3px;
background-color: #333;
margin: 3px 0;
transition: 0.3s;
}

.hamburger.active span:nth-child(1) {
transform: rotate(-45deg) translate(-5px, 6px);
}

.hamburger.active span:nth-child(2) {
opacity: 0;
}

.hamburger.active span:nth-child(3) {
transform: rotate(45deg) translate(-5px, -6px);
}

/* スマホナビゲーション */
.nav-mobile {
position: fixed;
top: 0;
right: -100%;
width: 100%;
height: 100vh;
background-color: white;
transition: right 0.3s ease;
z-index: 1001;
overflow-y: auto;
}
.nav-mobile.active {
right: 0;
}
.nav-mobile li.child{
padding-left:1em;
}
.nav-mobile li.child a::before{
content:'-';
}
/* オーバーレイ */
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1000;
transition: opacity 0.3s ease;
}

.overlay.active {
display: block;
}

.nav-mobile nav ul {
list-style: none;
padding: 4rem 0 1rem;
}

.nav-mobile nav ul li {
border-bottom: 1px solid #f0f0f0;
font-size:14px;
}

.nav-mobile nav ul li a {
display: block;
padding: 1rem 2rem;
text-decoration: none;
color: #333;
transition: background-color 0.3s ease;
}

.nav-mobile nav ul li a:hover {
background-color: #f8f9fa;
}

.nav-mobile .contact-btn {
display: block;
margin: 1rem 2rem 150px;
text-align: center;
padding:10px 0;
}

/* 閉じるボタン */
.close-btn {
position: absolute;
top: 1rem;
right: 1rem;
background: none;
border: none;
font-size: 2rem;
cursor: pointer;
color: #333;
padding: 0.5rem;
line-height: 1;
}

.close-btn:hover {
    color: #007bff;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
.wrap {
padding: 0 15px;
}    
.nav-desktop {
display: none;
}
.hamburger {
display: flex;
}
header {
position: relative;
}
}


/* 共通 */
.wrap{
width:90vw;
max-width:1000px;
margin:0 auto;
}
.wrap_max{
width:90vw;
max-width:1200px;
margin:0 auto;
}
.wrap_min{
width:90vw;
max-width:800px;
margin:0 auto;
}
main {
background-image:url('../img/bg_main.png');
background-size:contain;
background-repeat:repeat-y;
padding: 0 0 50px;
}
main.short{
background-size:cover;
}

#mv{
display: flex;
justify-content: center;
align-items: center;
text-align:center;
background-image:url('../img/mv.jpg');
background-size:cover;
background-repeat:no-repeat;
background-position:center center;
height:600px;
color:#fff;
}
#mv p{
font-size:20px;
    
}
#mv h1 img{
width:580px;
}

/* INDEX */
.top_title{
text-align:center;
padding:50px 0;
}
.top_title h2{
font-size:30px;
font-weight:800;
}
.top_title small{
display:inline-block;
font-size:15px;
margin-bottom:30px;
}
.top_title p{

}
.service{
display: flex;
align-items: center;
margin-bottom:100px;
}
.service div{
width:50%;
}
.service div.doc{
width:30%;
margin-left:50px;
}
.service div.doc.left{
margin-left:20%;
}
.service h3{
font-size:22px;
font-weight:800;
margin-top:8px;
}
.service img{
width:100%;
}
.service p{
padding:30px 0;
}
.service p + a,
#top_news div > a{
display:block;
border:1px solid #000;
font-weight:800;
margin:0 auto;
padding:10px 20px;
width:165px;
position:relative;
}

.service p + a::before,
.service p + a::after,
#top_news div > a::before,
#top_news div > a::after
{
content: '';
position: absolute;
display: block;
height: 1px;
right: 15px;
transition: all .2s linear;
}
.service p + a::before,
#top_news div > a::before
{
width: 30px;
bottom: 50%;
border-bottom: solid 1px currentColor;
}
.service p + a::after,
#top_news div > a::after
{
width: 10px;
background: currentColor;
bottom: calc(50% + 2px);
transform: rotate(30deg);
}
.service .ser1{
background-image:url('../img/bg_service1.png');
background-size:contain;
background-repeat:no-repeat;
}
.service .ser2{
background-image:url('../img/bg_service2.png');
background-size:contain;
background-repeat:no-repeat;
}
.service .ser3{
background-image:url('../img/bg_service3.png');
background-size:contain;
background-repeat:no-repeat;
}
.service .ser4{
background-image:url('../img/bg_service4.png');
background-size:contain;
background-repeat:no-repeat;
}
#top_news{
background:#dcebff;
padding:50px 0;
}
#top_news section{
padding-bottom:0;
}
#top_news dl{
margin-bottom:40px;
}
#top_news dt{
color:#808080;
}
#top_news dd{
margin:0 10px 10px;
}
#top_news dd strong{
display:block;
font-weight:800;
}
.access{
background:#fff;
}
.map {
position: relative;
width: 100%;
padding-top: 56.25%;
height: 0;
}
.map iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
footer{
border-top:1px solid #b3b3b3;
padding:50px 0;
}
footer > div{
display:flex;
flex-wrap: wrap;
justify-content:space-between;
}
footer figure{
display:flex;
align-items: center;
margin-bottom:12px;
}
footer figure img{
width:65px;
}
footer figcaption{
font-size:30px;
font-weight:800;
letter-spacing:-0.01em;
}
footer figure + a{
display:block;
width:250px;
border:1px solid #000;
text-align:center;
padding:10px 0;
}
footer nav li{
text-align:right;
}
footer small{
width:100%;
margin-top:30px;
text-align:center;
}

#title{
display: flex;
justify-content: center;
align-items: center;
text-align:center;
background-image:url('../img/bg_title.jpg');
background-size:cover;
background-repeat:no-repeat;
background-position:center center;
height:200px;
color:#fff;
}
#title aside{
font-size:50px;
font-weight:700;
letter-spacing:-0.01em;
transform: scale(0.9,1);

}
#title h1{
font-size:20px;
}

.breadlink {
display: flex;
flex-wrap: wrap;
list-style: none;
padding:10px 0 50px;
font-size:12px;
}
.breadlink li:not(:last-of-type)::after {
content: "›";
margin: 0 .6em;
color: #777;
}


/* COMPANY */
#card{

}
#card section{
height:192px;
margin-bottom:50px;
background-size:cover;
background-repeat:no-repeat;
}
#card section a{
display:flex;
justify-content:space-between;
align-items: center;
height:100%;
padding:20px;
color:#fff;
font-weight:500;
}
#card .com1{
background-image:url('../img/company1.jpg');
}
#card .com2{
background-image:url('../img/company2.jpg');
}
#card .com3{
background-image:url('../img/company3.jpg');
}
#card .com4{
background-image:url('../img/company4.jpg');
}
#card h2{
font-size:24px;
border-bottom:2px solid #f39b8d;
}
#card a > div:nth-child(1){
width:60%;
}
#card aside{
position:relative;
padding-right:50px;
}
#card aside::before,
#card aside::after{
content: '';
position: absolute;
display: block;
height: 2px;
right: 15px;
transition: all .2s linear;
}
#card aside::before{
width: 30px;
bottom: 50%;
border-bottom: solid 2px #f39b8d;
}
#card aside::after{
width: 10px;
background: #f39b8d;
bottom: calc(50% + 2px);
transform: rotate(30deg);
}

#rinen{
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
padding:60px 0;
}
#rinen h2{
text-align:center;
letter-spacing:0.2em;
font-weight:700;
font-size:35px;
margin-bottom:42px;
}
#rinen p{
width:70%;
margin:0 auto;
font-weight:300;
line-height:200%;
font-size:28px;
}

.office_img{
margin-bottom:45px;
}
.office_img img{
width:100%;
}
.table {
display: table;
border-collapse: collapse;
border: 1px solid #ccc;
width:100%;
}
.table > div {
display: table-row;
}
.table dt,
.table dd {
display: table-cell;
padding: 30px 15px;
vertical-align: top;
}
.table dt {
background: #f39b8d;
width: 180px;
border-right: none;
border-bottom: 1px solid #ccc;
}
.table dd {
background:#fff;
border-left: none;
border-bottom: 1px solid #ccc;
}
.table > div:last-child dt,
.table > div:last-child dd {
  border-bottom: none;
}

dd.kosodate{
display:flex;
}
.kosodate img{
width:100px;
margin: 0 30px;
}

#privacy{
}
#privacy p{
margin-bottom:50px;
}
#privacy dl{

}
#privacy dt{
color:#f39b8d;
margin-bottom:10px;
}
#privacy dd{
margin-bottom:40px;
}
#access > p{
text-align:center;
margin-bottom:30px;
}



/* PRODUCT */

#products {
display: flex;
flex-wrap: wrap;
gap: 40px;
align-items: flex-start;
margin-bottom:100px;
}

#products section {
flex: 1 1 calc(50% - 20px); /* 2列 */
box-shadow: 0px 5px 10px #ddd;
background:#fff;
min-height:500px;
}
#products section.p2{
  transform: translateY(80px);
}
#products section.p4{
  transform: translateY(80px);
}
#products section img{
width:100%;
}
#products section div{
margin:30px 30px;
background-size:contain;
background-repeat:no-repeat;
}
#products section h2{
font-weight:700;
font-size:20px;
padding:7px 0 30px
}
#products section p{
margin-bottom:40px;
}
#products section a{

}
#products section.p1 div{
background-image:url('../img/bg_service1.png');
}
#products section.p2 div{
background-image:url('../img/bg_service2.png');
}
#products section.p3 div{
background-image:url('../img/bg_service3.png');
}
#products section.p4 div{
background-image:url('../img/bg_service4.png');
}


#products section a{
display:block;
border:1px solid #000;
font-weight:800;
margin:0 auto 30px;
padding:10px 20px;
width:165px;
position:relative;
}

#products section a::before,
#products section a::after{
content: '';
position: absolute;
display: block;
height: 1px;
right: 15px;
transition: all .2s linear;
}
#products section a::before{
width: 30px;
bottom: 50%;
border-bottom: solid 1px currentColor;
}
#products section a::after{
width: 10px;
background: currentColor;
bottom: calc(50% + 2px);
transform: rotate(30deg);
}

#overview > p{
text-align:center;
line-height:200%;
margin:50px 0 100px;
}
#overview section h3{
text-align:center;
}
#overview .service p{
padding-top:60px;
}
#overview .service div.doc.left{
margin-left:17%;
margin-right:3%;
}
#overview section a{
color:#0085f0;
}

.product_item{
}
#title.product_item h1{
font-size:40px;
}
.product_item h2{
background-image: url(/img/bg_product_item.png);
background-size: contain;
background-repeat: no-repeat;
background-position:center;
font-weight:800;
text-align:center;
padding:10px 0;
font-size:22px;
margin-bottom:70px;
}
.product_item >  h2 + p{
text-align:center;
margin-bottom:80px;
}
.product_item section{
scroll-margin-top: 100px;
border-bottom:1px solid #f39b8d;
margin-bottom:40px;
}
.product_item section:last-child{
border-bottom:none;
}
.product_item section > div{
margin-bottom:30px;
}
.product_item h4{
color:#f39b8d;
border-left:5px solid #f39b8d;
margin-bottom:30px;
padding:5px 10px;
font-size:20px;
}
.product_item h5{
color:#f39b8d;
font-size:18px;
}
.product_item p{
margin-bottom:20px;
}
.product_item h4.env{
color:#0085f0;
border-left:5px solid #0085f0;
}
.product_item section ul{
margin:0 20px 30px;
}
.product_item section li{
list-style-type: disc;
}

.product_item section > div{
display:flex;
gap:20px;
}
.product_item section > div img{
width:300px;
}
.product_item section span{
color:#0085f0;
}

.pdf_link{
display:flex;
align-items:center;
margin-bottom:50px;
}
.pdf_link > div{
width:50%;
padding:0 20px;
}
.pdf_link > div:nth-child(1){
text-align:right;
}
div.pdf_link  img{
width:300px !important;
}
.pdf_link a{
color:#f39b8d;
}




#features{
border-top:1px solid #f39b8d;
border-bottom:1px solid #f39b8d;
padding:40px 0;
margin-bottom:100px;
}
#features h3{
background-image: url(/img/bg_product_feature.png);
background-size: contain;
background-repeat: no-repeat;
background-position:center;
font-weight:600;
text-align:center;
padding:10px 0;
color:#f39b8d;
font-size:22px;
margin-bottom:45px;
}
#features ul{
display:flex;
flex-wrap:wrap;
gap:10px;
}
#features ul li{
background:#fff;
border:1px solid #f39b8d;
text-align:center;
flex: 0 0 calc(25% - 10px);
}
#features li a{
display:block;
padding:10px;
color:#f39b8d;
}
#features li a:hover{
background:#f39b8d;
color:#fff;
}




/* RECRUIT */

#card .rec1{
background-image:url('../img/recruit1.jpg');
}
#card .rec2{
background-image:url('../img/recruit2.jpg');
}
#card .rec3{
background:#dcebff;
border-radius:10px;
}
#card .rec3 a > div:nth-child(1) {
text-align:right;
}
#card .rec3 img{
width:160px;
}
#card .rec3 aside{
color:#0085f0;
}
.rec4{
text-align:center;
margin-bottom:100px;
}
.rec4 img{
width:120px;
}
main.recruit{
background-color:#dcebff;
background-image:url('../img/bg_recruit.png');
}
.recruit #title{
background-image:none;
height:auto;
margin-bottom:40px;
}
.recruit #title h1{
color:#0085f0;
font-size:40px;
}
.recruit .table dt{
background:#0085f0;
color:#fff;
}
.recruit .table a{
color:#0085f0;
}
section.voice{
background:#0085f0;
border-radius:20px;
padding:30px;
margin-bottom:80px;
}
.voice figure{
display:flex;
gap:20px;
align-items:center;
margin-bottom:30px;
}
.voice figcaption{
color:#fff;
}
.voice img{
width:100px;
}
.voice p{
position: relative;
background:#fff;
color:#0085f0;
border-radius:20px;
padding:20px 30px;
}
.voice p::before {
content: "";
position: absolute;
top: -13px;
left: 45px;
border-width: 0 10px 13px 10px;
border-style: solid;
border-color: transparent transparent #fff transparent;
}

/* CONTACT */
.contact .msg{
margin-bottom:30px;
}
.contact .contact_complete{
margin-bottom:200px;
}
.contact .msg p{
margin-bottom:20px;
}
.contact .red{
color:#ff1d25;
}
.contact .msg span{

}
.contact .table{
margin-bottom:50px;
}
.contact .table dt{
background:#f9cdc6;
}
.contact input[type="text"],
.contact input[type="tel"],
.contact input[type="email"],
.contact textarea
{
border:1px solid #ccc;
padding:2px;
width:100%;
}
.contact input.w20{
width:20%;
}

.contact input.w50{
width:50%;
}
br + .wpcf7-form-control-wrap{
display:block;
margin-top:10px;
}
.contact input[type="submit"],
.contact input[type="button"]
{
display:block;
margin:0 auto;
background:#f39b8d;
text-align:center;
color:#fff;
padding:10px;
border-radius:6px;
width:300px;
}

.contact input[type="button"]{
background:#aaa;
color:#fff;
}





/* SITEMAP */
#sitemap{

}
#sitemap section{
border-bottom:1px solid #eee;
margin-bottom:30px;
padding-bottom:30px;
}
#sitemap h2{
color:#f39b8d;
font-weight:400;
margin-bottom:30px;
font-size:25px;
}
#sitemap ul{
display:flex;
gap:20px;
}
#sitemap a{
text-decoration:underline;
}
/* NEWS */
#news{
display: table;
border-collapse: collapse;
border-bottom: 1px solid #ccc;
width: 100%;
background:#dcebff;
margin-bottom:50px;
}
#news > div{
display: table-row;
border-bottom:1px solid #fff;
}
#news dt,
#news dd{
display: table-cell;
padding: 20px 20px;
vertical-align: top;
}
#news  dt{
color:#808080;
width:180px;
}
#news dd a{
}
#news_detail{

}
#news_detail time{
display:block;
color:#808080;
margin-bottom:10px;
}
#news_detail h2{
font-size:24px;
font-weight:400;
margin-bottom:20px;
padding-bottom:30px;
border-bottom:1px solid #ccc;
}
#news_detail > div{
margin-bottom:100px;
}





@media only screen and (min-width: 768px) {
.sp{
display:none;
}

}


@media only screen and (max-width: 767px) {
.pc{
display:none;
}
body{
font-size:12px;
}

.wrap,
.wrap_max{
width:auto;
}
#mv{
height:500px;
}
#mv p{
font-size:14px;
}
#mv h1 img{
width:80%;
}
.top_title{
padding:30px 0;
}
.top_title h2{
font-size:24px;
}
.top_title small{
font-size:13px;
}
.top_title p{
font-size:13px;
}
.service{
display:block;
margin:0 0 70px;
}
.service div{
width:100%;
}
.service div.doc{
width:90%;
margin:0 auto;
background-position:right 0;
}
.service div.doc.left{
margin:0 auto 30px;
background-position:left 0;
}
.service h3{
font-size:16px;
padding:7px 20px;
}
.service div h3{
text-align:right;
}
.service div.doc.left h3{
text-align:left;
}
.service img{
width:75%;
}
.service div.left + div{
text-align:right;
}
.service p {
font-size:12px;
}
.service .ser1,
.service .ser2,
.service .ser3,
.service .ser4{
background-size:280px;
}
.service p + a, #top_news a {
text-align:left;
}
#top_news{
padding:0 0 30px;
}

footer figure img{
width:40px;
}
footer figcaption{
font-size:20px;
}
footer figure + a{
width:180px;
}
#title{
height:120px;
}
#title aside{
font-size:30px;
}

#card > section{
height:90px;
border-radius:20px;
margin-bottom:25px;
}
#card h2{
font-size:17px;
}
#card aside{
padding-right:32px;
}
#card aside::before, #card aside::after{
right:0;
}

#rinen{
padding:0;
}
#rinen h2{
font-size:28px;
margin-bottom:21px;
}
#rinen p{
width:90%;
font-size:18px;
font-weight:500;
}
.office_img{
margin-bottom:30px;
}

#products section{
min-height:auto;
}
#products section.p2,
#products section.p4{
transform:none;
}
#products section h2{
font-size:18px;
}
#products section p{
font-size:12px;
}
#overview > p{
font-size:12px;
margin:0 20px;
}
#overview .service{
margin: 0 0 30px;
}
#overview section h3{
text-align:right;
}
#overview section .left h3{
text-align:left;
}
#overview .service p{
padding-top:20px;
}
#overview .service div.doc.left{
margin:0 20px;
}
#card .rec3 img {
width: 120px;
}
.table dt{
width:100px;
}
dd.kosodate{
display:block;
}
dd.kosodate div{
text-align:center;
}
dd.kosodate div img{
width:70px;
margin:20px 0 0;
}
#title.product_item h1{
font-size:25px;
}
.product_item h2{
font-size:18px;
}
.product_item > h2 + p{
text-align:left;
}
div.pdf_link img{
width:100%  !important;
}
#features{
margin-bottom:40px;
}
#features h3{
font-size:16px;
}
#features ul li{
flex: 0 0 calc(33% - 10px);
font-size: 11px;
font-weight:800;
}
.product_item h4{
font-size:16px;
}
.product_item section > div > div{
width:50%;
}
.product_item section > div img {
width:100%;
}
.recruit #title{
margin-bottom:25px;
}
.recruit #title h1{
font-size:26px;
}
section.voice{
padding:20px;
}
.voice img{
width:50px;
}
.voice p::before{
left:25px;
}
#sitemap h2{
font-size:18px;
}
#sitemap ul{
flex-wrap:wrap;
}
#news dt, #news dd{
display:block;
}
#news dt{
padding-bottom:0;
}
#news_detail h2{
font-size:15px;
}
.contact input.w20,
.contact input.w50{
width:100%;
}

















}
