@charset utf-8;

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;400;900&display=swap');

* {
    box-sizing: border-box;
    border-collapse: collapse;
    word-break: break-all;
    font-family: 'Noto Serif JP', serif;
}
img {
    max-width: 100%;
}
a:hover {
    opacity: .8;
}

.container {
    position: relative;
    overflow-x: visible !important;
}
#content {
    padding-top: 0;
}

.btn {
    display: block;
    min-width: 200px;
    text-align: center;
    border-radius: 20px;
}
.grad-btn {
    background: #89bcbd;
    background: -moz-linear-gradient(top,  #89bcbd 0%, #68c775 100%);
    background: -webkit-linear-gradient(top,  #89bcbd 0%,#68c775 100%);
    background: linear-gradient(to bottom,  #89bcbd 0%,#68c775 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#89bcbd', endColorstr='#68c775',GradientType=0 );
    font-weight: bold;
    border: solid 2px rgba(255,255,255, 0);
    color: #fff;
    display: block;
    transition: .8s;
}
.grad-btn:hover {
    border: solid 2px #89bcbd;
    color: #89bcbd;
    background: #fff;
}
.solid-btn {
    background: #f8c75b;
    color: #fff;
    border: solid 2px #f8c75b;
    transition: .8s;
}
.solid-btn:hover {
    background: #fff;
    color: #f8c75b;
}
.bg_blue {
    background: #f2ffff;
}
.text-right {
    text-align: right;
}

/* ヘッダー */
#header {
    width: 100%;
    margin: 0 auto;
    box-shadow: 1px 1px 4px #aaa;
    z-index: 10000;
}
.header_inner {
    width: 1200px;
    margin: 0 auto;
}
.header-btn-left,
.header-btn-right {
    width: 170px;
    text-align: center;
    padding: 15px 0;
    position: absolute;
    border-radius: 2px;
    z-index: 10000;
}
.header-btn-left {
    top: 20px;
    right: 200px;
}
.header-btn-right {
    top: 20px;
    right: 10px;
}
.header_bottom {
    width: 170px;
    float: left;
}
.header_menu {
    width: 900px;
    margin-left: 120px;
    float: left;
}
.header_menu ul {
    width: 900px;
    margin: 0 auto;
}
.header_menu ul:after {
    content: "";
    display: block;
    clear: both;
}
.header_menu ul li {
    width: calc(900px / 5);
    text-align: center;
    padding: 10px 0;
    margin: 0;
}
.header_menu .menu-contact {
    width: 200px;
}
.header_menu a {
    color: #666;
    line-height: 2;
}
.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
}

/* トップページ */
.slider_block {
    position: relative;
}
.slide_box {
    width: 100% !important;
}
/*
.bx-wrapper {
    max-width: 1200px !important;
    margin: 5px auto 0;
    width: 100%;
    border: none !important;
    box-shadow: none;
}*/
#home_cont {
    width: 100%;
}
.home_inside_cont {
    width: 1200px;
    margin: 0 auto;
    padding: 0 !important;
}
.home_inside_cont_inner {
    width: 100%;
}
.top_block {
    padding-top: 50px;
}
.top_block h2 {
    width: 100%;
    text-align: center;
}
.top_block h2 img {
    width: 320px;
}
.top_block p {
    line-height: 1.9;
}
.concept_left {
    float: left;
    padding: 20px 80px;
    width: 40%;
}
.concept_right {
    float: left;
    width: 60%;
    padding: 20px;
}
.concept_right p {
    font-size: 17px;
    text-align: center;
    margin-bottom: 20px;
}
#for_moms {
    padding-bottom: 40px;
}
.moms_right {
    float: right;
    width: 50%;
}
.moms_left {
    float: left;
    width: 50%;
    padding: 20px;
}
.moms_left p {
    font-size: 17px;
    text-align: center;
    margin-bottom: 20px;
}
.chefs_block {
    float: left;
    width: 30%;
    margin: 0 1.65% 40px;
    text-align: center;
}
#chefs > p,
#handmade > p,
#lesson > p {
    text-align: center;
    font-size: 15px;
    margin-bottom: 30px;
}
.chefs_block h3 {
    color: #666;
    font-weight: normal;
    text-align: center;
}
.chefs_block p {
    text-align: center;
    padding: 20px 10px 0;
}
.chefs_block:nth-child(3n) {
    clear: both;
}
#boshu h2 {
    color: #f8c75b;
    text-align: center;
    font-size: 32px;
    margin-bottom: 20px;
}
#boshu p {
    color: #666;
    text-align: center;
    font-size: 20px;
}
#access iframe {
    width: 100%;
    height: 700px;
}
#access address {
    font-style: normal;
    display: block;
    text-align: center;
}
#access p {
    text-align: center;
}
#access img {
    width: 320px;
}
#access .access_notice {
    font-size: 11px;
    margin-bottom: 20px;
}

div.wpcf7 {
    margin: 0 auto 50px !important;
}


.home_outside_cont {
    width: 100%;
}

/* blog */
.blog_list h1 {
    text-align: center;
    color: #fff;
    background: #89bcbd;
    padding: 30px 0;
    font-size: 30px;
    margin-bottom: 30px;
}
.blog_article {
    width: 1200px;
    border: solid 1px #89bcbd;
    border-radius: 10px;
    margin: 0 auto 30px;
    padding: 20px;
}
.blog_article time {
    display: inline-block;
    font-size: 11px;
}
.blog_article p {
    font-size: 12px;
    display: inline-block;
    padding: 5px 20px;
}
.blog_article h2 a {
    color: #f8c75b;
}
.post-categories {
    display: inline-block;
    padding: 0;
}
.post-categories li {
    list-style-type: none;
    display: inline-block;
    background: #89bcbd;
    padding: 5px 10px;
}
.post-categories li a {
    color: #fff;
}

.chef_article {
    width: 30%;
    margin: 0 1.65% 30px;
    float: left;
    border: solid 1px #89bcbd;
    padding: 10px;
    border-radius: 10px;
}
.chef_article:nth-child(3n) {
    clear: both;
}
.chef_article img {
    width: 100%;
    height: auto;
}
.chef_article h3 a {
    color: #f8c75b;
}
.single_left {
    width: 100%;
    float: none;
}
.next_prev_cont .right a,
.next_prev_cont .left a {
    color: #29a9e0;
    border: solid 1px #29a9e0;
}

/* footer */
footer {
    background: #89bcbd;
    color: #fff;
    padding: 30px 0 5px;
}
footer h1 {
    width: 320px;
    margin: 0 auto 20px;
}
footer address {
    font-style: normal;
    display: block;
    text-align: center;
}
footer > p {
    text-align: center;
}
footer img {
    width: 320px;
}
footer li {
    list-style-type: none;
    float: left;
    width: 25%;
    text-align: center;
    font-size: 16px;
    color: #fff;
    padding: 10px 0;
}
footer li a {
    color: #fff;
}
footer li a:before {
    content: "> ";
}
footer li a:after {
    content: " <";
}
.footer_nav ul {
    padding-left: 0 !important;
}
.footer_qr {
    padding-top: 15px;
    width: 200px;
    max-width: 40%;
    margin: 0 auto;
    text-align: center;
}

/* inquiry */
.inquiry h1 {
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 36px;
}
.mw_wp_form {
    border: solid 1px #ccc;
    width: 800px;
    max-width: 98%;
    margin: 0 auto 30px;
    background: #efefef;
    padding: 50px 80px;
}
.mw_wp_form p {
    font-size: 15px;
    margin-bottom: 10px;
}
p.hissu:before {
    display: inline-block;
    background: #89bcbd;
    padding: 10px 20px;
    content: "必須";
    color: #fff;
    margin-right: 20px;
}
p.label:before {
    display: inline-block;
    background: #999;
    color: #fff;
    padding: 10px 20px;
    content: "任意";
    margin-right: 20px;
}
.inquiry .notice {
    font-size: 15px;
    color: #333;
    padding: 30px 0;
    text-align: center;
}

/* products / case / company */
.product h1,
.case h1,
.company h1 {
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 36px;
}
.product h1 {
    background: url(../images/product_banner.png) no-repeat;
}
.case h1 {
    background: url(../images/case_banner.png) no-repeat;
}
.company h1 {
    background: url(../images/company_banner.png) no-repeat;
}
.product h2,
.case h2 {
    text-shadow: 1px 1px 2px #ccc;
    font-size: 20px;
    padding-left: 80px;
    line-height: 3;
    color: #666;
    margin-left: 150px;
    background-position: top left !important;
    background-size: contain !important;
}
.product_about h2,
.case_about h2 {
    background: url(../images/product_num1.png) no-repeat;
}
.movie_wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
     margin-bottom: 40px;
}
.movie_wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.product_about_table,
.feature_table,
.feature_table2,
.product_role_table,
.case_about_table {
    width: 1000px;
    max-width: 98%;
    margin: 50px auto;
}
.product_about_table th,
.feature_table th,
.product_role_table th,
.case_about_table th {
    width: 300px;
    background: #B2CBD1;
    color: #fff;
    padding: 20px 0;
    border-bottom: 5px solid #fff;
}
.feature_table2 th {
    background: #B2CBD1;
    color: #fff;
    padding: 20px 0;
    border-right: 5px solid #fff;
}
.product_about_table td,
.feature_table td,
.product_role_table td,
.case_about_table td {
    background: #E0EDED;
    padding: 12px;
    border-bottom: 5px solid #fff;
}
.feature_table2 td {
    background: #E0EDED;
    padding: 12px;
    border-right: 5px solid #fff;
    border-bottom: 2px solid #fff;
}
.product_image h2,
.case_checkpoint h2 {
    background: url(../images/product_num2.png) no-repeat;
    margin-bottom: 40px;
}
.product_image {
    background: #E0EDED;
    padding: 50px 0;
}
.product_image_image {
    text-align: center;
}
.product_fantastic_eyes {
    padding: 50px 0;
}
.product_fantastic_eyes h2 {
    background: url(../images/product_num3.png) no-repeat;
    margin-bottom: 40px;
}
.eyes_notice {
    text-align: center;
}
.product_fantastic_eyes h3,
.product_function h3 {
    margin-left: 120px;
    font-weight: normal;
    font-size: 28px;
    color: #666;
}
.product_jissho {
    padding: 50px 0;
    background: #E0EDED;
}
.product_jissho h2 {
    background: url(../images/product_num4.png) no-repeat;
    margin-bottom: 40px;
}
.product_jissho p {
    text-align: center;
    font-size: 15px;
}
.product_jissho aside img {
    display: block;
    margin: 0 auto;
    padding-top: 30px;
}
.product_function {
    padding: 50px 0;
}
.product_function h2 {
    background: url(../images/product_num5.png) no-repeat;
    margin-bottom: 40px;
}
.product_role h2 {
    background: url(../images/product_num6.png) no-repeat;
    margin-bottom: 40px;
}
.product_role p {
    font-size: 15px;
    color: #666;
    text-align: center;
}
.case_about_image {
    text-align: center;
    margin-bottom: 50px;
}
.case_checkpoint p {
    font-size: 15px;
    text-align: center;
    margin-bottom: 40px;
}
.case_checkpoint_image {
    text-align: center;
    margin-bottom: 50px;
}
.company {
    background: #efefef;
    padding-bottom: 30px;
    margin-bottom: 20px;
}
.company_greeting h2 {
    margin: 50px auto 20px;
    width: 100%;
    border-radius: 20px;
    text-align: center;
    background: #fff;
    padding: 20px 0;
}
.greeting_left {
    float: left;
    background: #fff;
    width: 340px;
    border-radius: 20px;
    text-align: center;
    padding: 30px 0;
}
.greeting_right {
    width: 800px;
    margin-left: 60px;
    float: left;
    background: #fff;
    border-radius: 20px;
    padding: 80px;
    height: 373px;
}
.greeting_right p,
.company_description p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
}
.company_greeting {
    margin-bottom: 30px;
}
.company h3 {
    color: #29a9e0;
    font-size: 21px;
    margin-bottom: 40px;
}
.company_description {
    background: #fff;
    border-radius: 20px;
    width: 100%;
    margin-bottom: 30px;
    padding: 30px;
}
.company .with_btn a {
    display: inline-block;
    margin-left: 100px;
    padding: 20px;
}
.company_about_table {
    width: 1200px;
    max-width: 98%;
    margin: 20px auto;
}
.company_about_table th {
    width: 300px;
    background: #B2CBD1;
    color: #fff;
    padding: 10px 20px;
    border-bottom: 5px solid #fff;
    font-weight: normal;
    text-align: left;
    font-size: 15px;
    line-height: 1.7;
}
.company_about_table th img {
    display: block;
    margin: 0 auto;
}
.company_about_table td {
    background: #E0EDED;
    padding: 12px;
    border-bottom: 5px solid #fff;
    line-height: 1.7;
}
.company_detail {
    padding-top: 20px;
}
.company_detail h2 {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}
.company_detail iframe {
    width: 100%;
    margin-top: 22px;
}


/* blog */
.single_left h1,
.single_left h2,
.single_left h3,
.single_left h4,
.single_left h5,
.single_left h6 {
    margin-bottom: 15px;
}
.single_left h1 {
    color: #f8c75b;
    font-size: 30px;
    padding-left: 15px;
    border-left: 5px solid #f8c75b;
}
.single_left h2 {
    padding-left: 12px;
    font-size: 25px;
    border-left: 3px solid #f8c75b;
    color: #f8c75b;
}
.single_left h3 {
    font-size: 22px;
    padding: 0 0 3px 10px;
    border-left: 2px solid #f8c75b;
    border-bottom: 1px solid #f8c75b;
    color: #f8c75b;
}
.single_left h4 {
    font-size: 20px;
    padding-bottom: 3px;
    border-bottom: 1px dashed #f8c75b;
}
.single_left h5 {
    font-size: 17px;
    color: #f8c75b;
}
.title_box_inner {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    text-align: left;
    padding: 20px 0;
    color: #29a9e0;
}
.title_box_inner h2 {
    font-size: 25px;
}
.single_left {
    min-height: 600px;
}


h3.side_title {
    margin: 0 0 15px;
    font-size: 17px;
    font-weight: bold;
    padding: 0 10px;
    border-left: 3px solid #29a9e0;
    border-right: 3px solid #29a9e0;
}
.cat-item a {
    margin-bottom: 8px;
    display: inline-block;
    border: solid 1px #29a9e0;
    color: #29a9e0;
    padding: 3px 5px;
    border-radius: 5px;
}
#sidebar {
    margin-top: 0;
}

/* news */
.single_news {
    font-size: 16px;
    padding: 30px 10px;
    width: 100%;
}
.single_news time {
    text-align: right;
    color: #999;
    display: block;
}
.single_news .single_inside_content {
    border: 1px dotted #aaa;
    padding: 10px;
    border-radius: 10px;
    text-align: center;
}

/* category */
.item {
    float: left;
    width: 24%;
    border: 1px solid #999;
    margin-right: 1%;
    box-shadow: 1px 1px 2px #aaa;
    margin-bottom: 20px;
    min-height: 340px;
}
.item:nth-child(4):after {
    content: "";
    clear: both;
    display: block;
}
.item p {
    text-align: right;
    color: #999;
    padding-top: 10px;
}
.item h3 {
    padding: 10px 5px 20px;
}
.item h3 a {
    color: #333;
    font-size: 18px;
}

/* contact_form */
#contact_form h3 {
    border-left: 5px solid #29a9e0;
    padding-left: 10px;
    font-size: 18px;
    color: #29a9e0;
}
#contact_form img.alignnone {
    width: 100%;
    height: auto;
}
#contact_form .contact_notice {
    color: #f88;
    font-weight: bold;
    font-size: 15px;
    margin-bottom: 20px;
}
#contact_form .required {
    color: #f00;
    font-weight: bold;
}
#contact_form input {
    border-radius: 5px;
    padding: 3px 5px;
    border: 1px solid #aaa;
    height: 30px;
    min-width: 200px;
    max-width: 800px;
    width: 90%;
}
#contact_form input[type=checkbox],
#contact_form input[type=radio] {
    width: 20px !important;
    height: 60px;
    max-width: 30px;
    min-width: 20px;
    vertical-align: -24px;
    display: inline-block;
}
#contact_form input[type=submit] {
    width: 400px;
    max-width: 90%;
    margin: 0 auto;
    display: block;
    padding: 20px 0 !important;
    height: auto;
    background: #8cc73f;
    color: #fff;
    letter-spacing: 15px;
    font-size: 20px;
}
#contact_form input[name=submitBack]{
    background: #aaa;
    width: 200px;
    padding: 10px 0 !important;
    font-size: 14px;
    margin: 40px auto;
}
.hankaku {
    width: 28% !important;
    min-width: 80px !important;
}
#contact_form .wpcf7-list-item-label {
    line-height: 25px;
    font-size: 18px;
}
#contact_form .contact_wrap {
    display: block;
    margin-bottom: 30px;
    font-size: 16px;
}
#contact_form .contact_wrap_nomargin {
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
}
#contact_form .contact_wrap:before,
#contact_form .contact_wrap_nomargin:before {
    content: "";
    display: inline-block;
    padding-right: 3px;
    border-left: 3px solid #f88;
    width: 3px;
    height: 15px;
}
#contact_form .wpcf7-list-item {
    margin-bottom: 30px;
}
#contact_form hr {
    margin-bottom: 30px;
}
#contact_form .wpcf7-submit {
    letter-spacing: 6px;
    font-size: 20px;
    height: 50px;
    color: #fff;
    background: #ff8c25;
    text-align: center;
    display: block;
    margin: 0 auto 30px;
    border: none;
    max-width: 300px;
}
#contact_form textarea {
    border: 1px solid #aaa;
    border-radius: 5px;
    min-width: 200px;
    max-width: 800px;
    width: 90%;
}
.wpcf7 {
    max-width: 800px;
    margin: 0 auto;
}
.wpcf7 p {
    margin-bottom: 20px;
}


/* news_list */
.article h1 {
    background: url(../images/news_banner.png) no-repeat;
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 36px;
}
.news_list {
    width: 800px;
    max-width: 98%;
    margin: 0 auto 50px;
    background: #efefef;
    border-radius: 20px;
    padding: 30px;
}
.news_list .news .title {
    color: #333;
}
.news_list .news {
    border-bottom: 1px solid #aaa;
    margin-bottom: 10px;
}


/* privacy */
.privacy h1 {
    background: url(../images/notext_banner.png) no-repeat;
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 36px;
}
.privacy {
    width: 96% !important;
    margin: 0 auto;
}
.privacy aside {
    text-align: right;
    font-size: 16px;
    margin-bottom: 30px;
}
.privacy_content h3 {
    font-size: 20px;
    padding-left: 15px;
    border-left: 2px solid #666;
    margin-bottom: 30px;
}
.privacy_content li {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 20px;
}
.privacy_content time {
    width: 100%;
    text-align: right;
    margin-bottom: 40px;
    display: block;
}
.privacy_content p {
    margin-bottom: 20px;
    font-size: 15px;
    padding-left: 20px;
}
.privacy_content p:last-child {
    margin-bottom: 70px;
}

/* parts */
.hamburger {
    display: none;
}
span.small {
    font-size: 85%;
    display: inline-block;
    margin-left: 10px;
}
.footer_fixed {
    position: fixed;
    display: block;
    width: 280px;
    bottom: 30px;
    right: 30px;
    background: rgba(255,255,255,.5);
}

/* clearfix */
.clearfix:after {
    display: block;
    content: "";
    clear: both;
}






































/* media query */
@media screen and (max-width: 1200px) and (min-width: 1024px) {
.product h1, .case h1, .company h1 {
    height: 220px;
}
}


@media screen and (max-width: 1100px) {

html,
body,
.container {
    width: 100%;
    overflow-x: hidden;
}
#header {
    width: 100%;
    position: relative;
}
.header_bottom {
    float: none;
    width: 180px;
    max-width: 60%;
}
.header_inner {
    width: 100%;
}
.header-btn-left,
.header-btn-right {
    position: fixed;
    bottom: 0;
    top: auto;
}
.header-btn-left {
    left: 0;
    right: auto;
    width: 50%;
    border: 2px solid #89bcbd;
    background: #fff;
    color: #89bcbd;
}
.header-btn-right {
    right: 0;
    left: auto;
    width: 50%;
}
.header_menu {
    position: relative;
    height: 0;
    width: 100%;
    float: none;
    margin-left: 0;
}
.hamburger {
    display: block;
    position: absolute;
    top: -50px;
    width: 30px;
    height: 24px;
    right: 24px;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}
.hamburger span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #89bcbd;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}
.hamburger span:nth-child(1) {
    top: 0;
}
.hamburger span:nth-child(2) {
    top: 10px;
}
.hamburger span:nth-child(3) {
    top: 20px;
}
.hamburger.open span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 10px;
}
.hamburger.open span:nth-child(2) {
    display: none;
}
.hamburger.open span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 10px;
}

.hamburger.open span {
    background: #a4f1fe;
}
.header_menu ul {
    display: none;
    position: absolute;
    top: 0;
    z-index: 100000;
    width: 100%;
    background: rgba(255, 255,255,.8);
    transition: all 500ms;
}
.header_menu ul li {
    width: 100%;
    text-align: center;
    padding: 20px 0;
    margin: 0;
    border: none;
    float: none;
}
.header_menu a {
    color: #29a9e0;
}
.header_menu .menu-contact {
    width: 100%;
    max-width: 80%;
    margin: 0 auto !important;
}


/* top */
.top_block {
    padding-top: 0px;
}
.concept_left {
    float: none;
    padding: 0;
    width: 300px;
    margin: 0 auto;
}
.concept_right {
    float: none;
    width: 100%;
}
.concept_right p {
    font-size: 15px;
}
.moms_right {
    float: none;
    width: 100%;
}
.moms_left {
    float: none;
    width: 100%;
}
.moms_left p {
    font-size: 15px;
}
#for_moms {
    padding-bottom: 0px;
}
.chefs_block {
    float: none;
    width: 98%;
    margin: 0 auto 50px;
}
#boshu h2 {
    font-size: 20px;
}
#boshu p {
    font-size: 14.6px;
}
footer h1 {
    width: 100%;
    margin: 0 auto 20px;
    text-align: center;
}
footer img {
    width: 200px;
}
footer li {
    font-size: 14px;
    width: 50%;
}
.blog_article {
    width: 98%;
    margin-bottom: 15px;
}


.fantastic_eyes_title {
    width: 100%;
    height: 80px;
}
.fantastic_eyes_msg {
    text-align: left;
    font-size: 14px;
    margin-bottom: 30px;
    padding: 10px;
}
.fantastic_eyes_system {
    width: 100%;
    height: auto;
    background: none;
    border-radius: 0;
    margin: 0 auto;
    position: relative;
}
.system1,
.system2,
.system3,
.system4 {
    width: 90%;
    position: relative;
    top: 0;
    left: 0;
    margin: 0 auto 30px;
    text-align: center;
    background: #fff;
    border-radius: 20px;
}
.fantastic_eyes_system a {
    position: relative !important;
    bottom: 0 !important;
    right: 0 !important;
    width: 98% !important;
    padding: 18px 0 !important;
    font-weight: 100 !important;
    font-size: 11px !important;
    border-radius: 20px !important;
    margin: 0 auto 20px !important;
}
.iot_left {
    width: 100%;
    float: none;
}
.iot h2 {
    font-size: 18px;
    margin-bottom: 20px;
    padding-left: 0;
    text-align: center;
}
.iot p {
    padding-left: 0;
    font-size: 14px;
    text-align: center;
}
.iot_left a {
    margin: 0 auto 30px !important;
}
.iot_right {
    width: 100%;
    float: none;
    text-align: center;
}
.iot_right .read_more {
    width: 100px;
    height: 30px;
}
.competition_title {
    width: 100%;
    height: auto;
    text-align: right;
    padding-right: 12px;
    font-size: 15px;
    background-size: cover;
    padding-top: 20px;
    padding-bottom: 80px;
}
.competition_left {
    width: 100%;
    margin-right: 0;
    float: none;
    text-align: center;
    padding-top: 30px;
}
.competition_left img {
    display: inline-block;
    width: 47%;
    margin: 0 1% 30px;
}
.competition_right {
    width: 100%;
    float: none;
    padding-top: 0;
}
.competition_content_inner p {
    padding: 10px 0;
    font-size: 14px;
    line-height: 1.6;
}
.competition_content_inner h3 {
    font-weight: bold;
    font-size: 14px;
}
.competition_content_inner .read_more {
    display: block;
    width: 100px;
    height: 30px;
    margin: 30px 0 0 auto;
}
.safe_wonder {
    width: 96%;
    margin: 0 auto;
}
.news h2 {
    background: url(../images/top_banner3.png) no-repeat;
    width: 100%;
    height: auto;
    color: #29a9e0;
    padding-top: 20px;
    font-size: 19px;
    padding-left: 12px;
    margin-bottom: 40px;
    background-size: cover;
    padding-bottom: 60px;
}
.home_msg p {
    float: none;
    width: 100%;
    font-size: 18px;
    text-align: center;
    padding-top: 20px;
}
.home_msg h2 {
    width: 100%;
    font-size: 22px;
    text-align: center;
    padding-bottom: 20px;
}
.home_inside_cont {
    width: 100%;
    background-size: 50%;
    background-position: 45px 90px;
}
.home_inside_cont_inner {
    background-size: 70%;
    background-position: bottom right;
}
.content_menu_box {
    width: 100%;
}
.content_menu {
    float: none;
    width: 98%;
}
.home_news_block, .home_blog_block {
    width: 98%;
    height: 180px;
    background: #fff;
    margin: 0 1%;
    float: none;
    position: relative;
}
.home_news_block {
    margin-bottom: 50px;
}
.home_news_block:before,
.home_blog_block:before {
    top: -31px;
    width: 150px;
    height: 30px;
    background-size: contain;
}
.home_scroll_content {
    height: 400px;
    width: 96%;
}

/* products / case / company */
.product h1, .case h1, .company h1 {
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    padding-bottom: 40px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 22px;
    background-size: contain !important;
}
.product h2, .case h2 {
    font-size: 14px;
    padding-left: 45px;
    color: #666;
    margin-left: 10px;
}
.product_about_table,
.feature_table,
.feature_table2,
.product_role_table,
.case_about_table,
.company_about_table {
    width: 100%;
    margin: 20px auto 50px;
}
.product_about_table th,
.feature_table th,
.product_role_table th,
.case_about_table th,
.company_about_table th {
    display: block;
    width: 100%;
}
.company_about_table th {
    text-align: center;
}
.product_about_table td,
.feature_table td,
.product_role_table td,
.case_about_table td,
.company_about_table td {
    display: block;
    width: 100%;
}
.eyes_notice {
    margin-bottom: 30px;
}
.product_fantastic_eyes h3,
.product_function h3 {
    margin-left: 0;
    font-size: 25px;
    text-align: center;
}
.product_fantastic_eyes {
    padding: 50px 0 0;
}
.product_function h2 {
    font-size: 12px;
    line-height: 3.9;
    padding-left: 50px;
}
.product_jissho aside img {
    width: 80%;
}
.product_function {
    padding: 50px 0 0;
}
.company_greeting {
    margin: 0 auto;
    width: 98%;
}
.company_greeting h2 {
    margin: 0 auto 20px;
}
.greeting_left {
    float: none;
    width: 100%;
    margin-bottom: 20px;
}
.greeting_right {
    float: none;
    width: 100%;
    margin: 0 auto 20px;
    padding: 30px;
    height: auto;
}
.company .with_btn a {
    display: block;
    margin: 0 auto;
    padding: 17px 0;
}
.company_description {
    width: 98%;
    margin: 0 auto 20px;
}
.company_detail h2 {
    width: 100%;
    text-align: center;
}


/* pages */
.title_box {
    height: auto;
}
.title_box_inner {
    width: 100%;
    background-size: 240px;
    height: auto;
}
.title_box_inner h2 {
    font-size: 25px;
    padding: 14px;
    line-height: 1;
}
.title_box_inner h1 {
    font-size: 20px;
    padding: 14px;
    line-height: 1;
}
.title_box_inner h2 small {
    display: block;
}
#content {
    padding-top: 5px;
}

/* recruit / privacy */
.recruit h1,
.privacy h1 {
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    padding-bottom: 40px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 22px;
    background-size: contain !important;
}

/* contact_form */
.inquiry h1,
.article h1 {
    width: 100%;
    height: 180px;
    text-align: center;
    padding-top: 50px;
    padding-bottom: 40px;
    color: #29a9e0;
    font-weight: normal;
    font-size: 22px;
    background-size: contain !important;
}
.inquiry .notice {
    font-size: 14px;
    padding: 0 0 30px;
}
.mw_wp_form {
    padding: 20px 10px;
}

#contact_form {
    width: 98%;
    margin: 0 auto;
}
#contact_form input[type=radio],
#contact_form input[type=checkbox] {
    min-width: 20px !important;
}
#contact_form .wpcf7-not-valid-tip {
    font-size: 14px;
}

.chef_article {
    width: 98%;
    margin: 0 auto 15px;
}
.blog_list h1 {
    padding: 20px 0;
    font-size: 16px;
}

/* access */
.map_description {
    float: none;
    width: 98%;
}

/* blog */
.single_left {
    float: none;
    width: 98%;
    margin: 20px auto;
}
.next_prev_cont a {
    border-radius: 5px;
    border: solid 1px #55f;
    padding: 3px;
}
#sidebar {
    width: 98%;
    margin: 0 auto;
    float: none;
}
.side_box li > span {
    display: block;
    text-align: right;
}

/* school */
.school_imgs div {
    float: none;
    width: 100%;
    height: auto;
    margin-top: -3px;
}
.catch_copy {
    padding: 20px;
}
.catch_copy h3 {
    font-size: 20px;
}
.btn-school {
    font-size: 16px;
}


}

@media screen and (max-width: 320px) {
.product_function h2 {
    font-size: 10px;
    line-height: 4.9;
    padding-left: 50px;
}
.product_role h2 {
    font-size: 11px;
    padding-left: 41px;
    line-height: 3.8;
}
}