/***************common***************/
body {
    padding: 0;
    margin: 0;
	font-family: "Noto Sans JP", sans-serif;
    /*font-family: Hiragino Sans,"ヒラギノ角ゴシック",Hiragino Kaku Gothic ProN,"ヒラギノ角ゴ ProN W3",Roboto,"Droid Sans",YuGothic,"游ゴシック",Meiryo,"メイリオ",Verdana,"ＭＳ Ｐゴシック",sans-serif !important;*/
    font-size: 16px;
    background-color: #fff;
    color: #000;
    line-height: 1.4;
}
html {
    scroll-behavior: smooth;
}
ul{
    margin: 0;
    padding: 0;
}
li{
    list-style: none;
}
a:hover{
    opacity: 0.7;
}
a{
    color: #47C4CA;
    text-decoration: none;
}
.flex{
    display: flex;
}
.sp{
    display: none !important;
}
.pc{
    display: block !important;
}
.justify_center{
    justify-content:center
}
.justify_space-between{
    justify-content:space-between
}
.section_inner{
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 20px;
}
p{
    line-height: 25px !important;
}
img{
    width: 100%;
    max-width: max-content;
}
@media only screen and (max-width: 1050px) {
    .section_inner{
        padding: 80px 40px;
    }
}
@media only screen and (max-width: 768px) {
    body {
        font-size: 14px;
    }
    .flex{
        display: block;
    }
    .sp{
        display: block !important;
    }
    .pc{
        display: none !important;
    }
    .section_inner {
        padding: 60px 20px 60px 40px;
    }
}

/***************heaer***************/
#header{
    background-color: #FFF;
    color: #000;
    position: fixed;
    width: 100%;
    z-index: 9999;
    top: 0;
}
.header_logo img{
    width: 110px;
    position: fixed;
    background-color: #fff;
    padding: 20px;
}
.header_menu_nav{
    margin-right:20px;
}
.header_menu_nav ul{
    padding: 17px 30px 0;
}
.header_menu_nav ul li{
    margin: 0px 5px;
    padding: 10px;
}
.header_menu_nav ul li a{
    color: #000;
}
.header_menu_search{
    padding: 10px 0;   
}
.menu_contact{
    padding: 15px 20px;
    background: linear-gradient(90deg, #168BDA, #48AFEC);
}
.menu_contact a{
    color: #fff !important;
}
.menu_contact a img{
    display: block;
    margin: 0 auto 10px;
}
main{
    position: relative;
    top: 55px;
}
#wrapper{
    padding-left: 20px;
}
@media only screen and (min-width: 1000px) {
    .hamburger{
        display: none !important;
    }
    .globalMenuSp{
        display: none;
    }
}
@media only screen and (max-width: 999px) {
    .header_menu_nav ul{
        display: none;
    }
    .menu_contact {
        width: fit-content;
        position: fixed;
        right: 0px;
    }
    #wrapper {
        padding-left: 0px;
    }
    main {
        top: 0;
    }
    .hamburger {
        display : block;
        position: fixed;
        z-index : 3;
        width : 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
        background-color: #fff;
        padding: 36px 40px;
        right: 110px;
    }
    .hamburger span {
        display : block;
        position: absolute;
        width   : 30px;
        height  : 2px;
        left: 26px;
        background : #0379CB;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition   : 0.3s ease-in-out;
        transition        : 0.3s ease-in-out;
    }
    .hamburger span:nth-child(1) {
        top: 15px;
    }
    .hamburger span:nth-child(2) {
        top: 25px;
    }
    .hamburger span:nth-child(3) {
        top: 41px;
        color: #0379CB;
        position: absolute;
        left: 19px;
        background: none;
    }
    .hamburger.active{
        right: 0;
    }
    .hamburger.active span:nth-child(1) {
        top : 24px;
        left: 26px;
        background :#0379CB;
        -webkit-transform: rotate(-45deg);
        -moz-transform   : rotate(-45deg);
        transform        : rotate(-45deg);
    }  
    .hamburger.active span:nth-child(2){
        top: 24px;
        background :#0379CB;
        -webkit-transform: rotate(45deg);
        -moz-transform   : rotate(45deg);
        transform        : rotate(45deg);        
    }
    .hamburger.active span:nth-child(3) {
        top: 43px;
    }
    .globalMenuSp.active .menu_contact{
        position: relative;
        margin: 30px auto;
        width: 200px;
    }
    nav.globalMenuSp {
        position: fixed;
        z-index : 2;
        top  : 0;
        left : 0;
        color: #fff;
        background: rgb(42 42 43 / 98%);
        text-align: center;
        width: 100%;
        transform: translateX(100%);
        transition: all 0.6s;
        height: 100vh;
        padding: 30px;
    }
    nav.globalMenuSp ul {
        margin: 0 auto;
        padding: 0;
        width: 100%;
    }
    nav.globalMenuSp ul li {
        list-style-type: none;
        padding: 0;
        width: 100%;
        transition: .4s all;
    }
    nav.globalMenuSp ul li:last-child {
        padding-bottom: 0;
    }
    nav.globalMenuSp ul li:hover{
        background :#ddd;
    }
    nav.globalMenuSp ul li a {
        display: block;
        color: #fff;
        padding: 1em 0;
        text-decoration :none;
    }
    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        transform: translateX(0%);
        height: 100vh;
        padding: 30px;
    }
}

/***************index***************/
.mv{
    background-image: url(../img/mv_back.png);
    background-repeat: no-repeat;
    background-position: top left;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
    min-height: 80vh;
}
.mv_logo{
    margin: 0 auto;
    text-align: center;
    width: 150px;
    position: relative;
    top: 27vh;
}
.mv_logo img{
    width: 100%;
}
.main_contents{
    position: relative;
    margin-left: -20px;
}
.sec_title_main{
    font-size: 40px;
    font-weight: bold ;
    color: #0379CB;
}
.sec_title_sub{
    color: #ACACAC;
    font-size: 16px;
    margin-top: 15px;
}
section{
    margin-bottom: 60px;
}

.about_us{
    background: #FAFAFA;
    background: linear-gradient(90deg,rgba(250, 250, 250, 1) 0%, 
    rgba(250, 250, 250, 1) 40%, 
    rgba(255, 255, 255, 1) 40%, 
    rgba(255, 255, 255, 1) 100%);
}
.about_us .sec_title{
    width: 40%;
    padding: 105px 20px 70px 20px;
}
.about_us p{
    width: 60%;
    padding: 0px 20px;
}

.product{
    background: linear-gradient(90deg, #E2F3FF, #FFFFFF);
}
.product .sec_title{
    text-align: center;
    margin-bottom: 60px;
}
.product_list{
    gap: 20px;
}
.product_list_item{
    width: 25%;
}
.product_list_item_title{
    margin-top: 15px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
}
.product_list_item_text{
    font-size: 14px;
    line-height: 20px;
}

.history{
    background-image: url(../img/history_back.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: contain;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
    min-height: auto;
}
.history_inner{
    width: 60%;
}
.history_inner .sec_title{
    margin-bottom: 60px;
}
.history_inner p{
    margin-bottom: 60px;
}
.history_inner li{
    margin-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    display: flex;
    padding-bottom: 20px;
    line-height: 25px;
}
.history_inner li span{
    margin-right: 20px;
    width: 90px;
}

.profile{
    background-color: #FAFAFA;
}
.profile_inner .sec_title{
    text-align: center;
    margin-bottom: 60px;
}
.profile_inner li{
    margin-bottom: 20px;
    border-bottom: 1px solid #E4E4E4;
    display: flex;
    padding-bottom: 20px;
    line-height: 25px;
    font-size: 14px;
}
.profile_inner li span{
    margin-right: 20px;
    width: 90px;
}

.contact_inner .sec_title{
    text-align: center;
}
.contact_form{
    padding: 30px;
    background-color: #fff;
    width: 600px;
    margin: 0 auto;
    border:1px solid #CCCACA;
    margin-top: 60px;
}
.contact_form .required{
    background-color: #FF7F00;
    color: #fff;
    padding: 5px 10px;
    margin-left: 10px;
    font-weight: bold;
    font-size: 12px;
}
.contact_form dt{
    color: #000;
    margin: 10px 0;
}
.contact_form dd{
    margin: 15px 0 30px;
    margin-left: 0;
}
.contact_form input,
.contact_form textarea{
    border: 1px solid #DDDDDD;
    padding: 10px;
    width: 100%;
    box-sizing: border-box;
}
.contact_form .contact__submit{
    background: linear-gradient(90deg, #168BDA, #48AFEC);
    padding: 20px 40px;
    color: #fff;
    margin: 10px 0;
    font-size: 18px;
    cursor: pointer;
}
.contact_send_btn{
    cursor: pointer;
}
.contact_form .error{
    margin-top: 10px;
}
.contact_form_title{
    font-weight: bold;
    margin: 20px 0 40px;
    text-align: center;
}
.thanks .section_title{
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0 40px;
}
@media only screen and (max-width: 1400px) {
    .history{
        background-size: 33% 100%;
        object-fit: cover;
        object-position: 100% 100%;
    }
}
@media only screen and (max-width: 768px) {
    .mv {
        height: 450px;
    }
    .contact_form {
        width: 100%;
        padding: 20px 20px 0;
        margin: 30px 0 0;
        box-sizing: border-box;
    }
    .sec_title{
        text-align: center;
    }
    .about_us .sec_title {
        width: 100%;
        padding: 0px 0px 40px 20px;
    }
    .about_us p{
        width: 100%;
        padding: 0px 0px;
    }
    .product_list_item {
        width: 100%;
    }
    .product_list_item {
        width: 100%;
        max-width: 250px;
        margin: 0 auto 40px;
    }
    .history{
        background: none;
    }
    .history_inner {
        width: 100%;
    }
    .history_inner li {
        display: block;
    }
    .history_inner li span {
        display: block;
        width: 100%;
    }
    .profile_inner li {
        display: block;
    }
    .profile_inner li span {
        display: block;
        width: 100%;
    }
    .history_sp_image{
        margin-bottom: 40px;
    }
    .thanks .section_title {
        margin: 20px 0 40px;
    }
}

/***************footer***************/
#footer{
    background-color: #696969;
    margin-left: -20px;
    margin-top: 130px;
}
#footer .section_inner{
    margin: 0 auto;
    padding: 0px 20px;
}
.footer_contents{
    padding: 60px 0 10px;
    margin-top: 30px;
}
.footer_contents_l{
    width: max-content;
    padding: 0 40px;
    color: #fff;
}
.footer_contents_r{
    width: auto;
    padding: 0 40px;
    color: #fff;
}
.footer_link{
    margin: 0px 0 0 20px;
}
.footer_link ul{
    margin-bottom: 20px;
    justify-content: end;
}
.footer_link li{
    margin: 0px 10px 5px 0px;
}
.footer_link li a{
    margin: 10px;
    color: #fff;
}
#copyright{
    color: #868686;
    margin: 0 auto;
    text-align: center;
    padding: 15px 0 30px 0;
    border-top: 1px solid #7D7D7D;
    margin-top: 30px;
}
@media only screen and (max-width: 768px) {
    .footer_contents_l,
    .footer_contents_r{
        width: 100%;
    }
    .footer_contents {
        padding: 40px 0px;
        margin-top: 30px;
    }
    .footer_contents_r{
        margin-top: 50px;
    }
    #footer {
        margin-left: 0px;
        margin-top: 0px;
    }
    .footer_image{
        text-align: center;
    }
    .footer_link {
        margin: 0;
    }
    .footer_link li {
        margin: 0px 10px 30px 0px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 20px;
    }
    #copyright {
        margin-top: -10px;
    }
}

/***************breadcrumb***************/
.breadcrumb ul{
    margin-bottom: 20px;
}
.breadcrumb a{
    color: #000;
}
.breadcrumb img{
    width: 8px;
    margin: 0 5px;
    position: relative;
    top: 1px;    
}
@media only screen and (max-width: 768px) {
    .breadcrumb ul {
        display: flex;
        padding-bottom: 15px;
        border-bottom: 1px solid #ebebeb;
    }
    .breadcrumb ul li{
        padding: 0 10px 0 5px;
    }
}

/***************pager***************/
.pagenation{
    border-radius: 7px;
    overflow: hidden;
    margin: 20px auto 0;
}
.pagenation ul{
    display: flex;
    justify-content: center;
    list-style-type: none;
}
.pagenation .active{
    background-color: #000;
    padding: 10px 15px;
    color: white;
}
.pagenation a{
    display: block;
    padding: 10px 15px;
    text-decoration: none;
    color: white;
    background-color: #a9a9a9;
    border-right: 1px solid white;
}
.pagenation li{
    margin: 0px 10px;
}
.pagenation .next a, .pagenation .prev a{
    background-color: #fff;
}
.pagenation .next a img, .pagenation .prev a img{
    width: 12px;
    height: 16px;
    position: relative;
    top: 2px;
}

/***************category***************/
.leftbar,
.sidebar{
    width: 50%;
}
@media only screen and (max-width: 768px) {
    .leftbar,
    .sidebar,
    .post_list ul li{
        width: 100%;
    }
    .post_list_tag{
        display: flex;
    }
}

/***************single***************/
.post-category a{
    border:1px solid #000;
    padding: 5px 20px;
    transition: background-color 0.3s;
}
.post-category a:hover{
    background-color: #E9FF00;
    border:1px solid #E9FF00;
    padding: 5px 20px;
    color: #17B7EB;
}
.post-categories{
    display: flex;
}
.post-title{
    font-size: 44px;
    color: #fff;
    margin: 30px 0 10px;
    line-height: 1.2;
    font-weight: bold;
}
.post-remark{
    margin-top: 30px;
    padding-bottom: 80px;
}
.post-date{
    border-right: 1px solid #fff;
    height: 19px;
    padding-right: 20px;
    position: relative;
    top: 6px;
}
.post-author{
    margin-right: 20px;
    padding-left: 20px;
    position: relative;
    top: 6px;
}
.post_list_tag{
    position: relative;
}
.single_article .leftside{
    width: 20%;
    margin-top: 30px;
    position: sticky;
    top: 85px;
}
.single_article .tow_colums{
    align-items: flex-start;
}
.single_article .rightside{
    width: 80%;
    margin-right: 40px;
}
.single_article .thumbnail_list{
    position: relative;
    top: -50px;
}
.single_article .thumbnail_list img{
    width: 100%;
    border-top: 10px solid #E9FF00;
}
#toc .mokuji{
    font-size: 34px;
    color: #707070;
    font-weight: bold;
}
#toc ol li{
    margin: 25px 0;
}
#toc ol li a{
    color: #13334C;
    font-size: 22px;
}
#toc {
    margin: 10px 0 30px
}
.single_article .keyword_list_title{
    font-size: 24px;
    margin-bottom: 20px;
    width: 100%;
}
.single_article .keyword_list_item_block{
    width: 100%;
}
.single_article .keyword_list_item {
    margin: 5px 10px 5px 0;
}
.article_contents h2{
    margin: 30px 0;
    font-size: 30px;
    font-weight: bold;
    background: linear-gradient(transparent 25%, #E9FF00 30%, #E9FF00 60%, transparent 50%);
}
.article_contents h3{
    margin: 30px 0;
    font-size: 25px;
    font-weight: bold;
    background: linear-gradient(transparent 25%, #E9FF00 30%, #E9FF00 60%, transparent 50%);
}
.article_contents h4{
    margin: 30px 0;
    font-size: 20px;
    font-weight: bold;
}
.article_contents p{
    margin: 20px 0;
    line-height: 1.4;
}
.article_contents ul li{
    list-style: disc;
    margin-left: 20px;
}
.article_contents .wp-block-image{
    margin: 20px 0;
}
.single #footer {
    background-color: #003246;
    position: relative;
    top: 60px;
}
.article_contents table{
    margin: 20px 0;
}
.single_article .rightside .post_list_tag{
    margin-top: 20px;
    justify-content: end;
}
.popular_list h2{
    font-size: 34px;
    text-align: center;
    margin: 50px auto 20px;
    color: #13334C;
    font-weight: bold;
}
.popular_list .post_list ul li {
    width: calc(25% - 30px);
}
@media only screen and (max-width: 768px) {
    .single_article .leftside,
    .single_article .rightside{
        width: 100%;
    }
    .post-remark{
        display: flex;
        padding-bottom: 30px;
    }
    .single_article .leftside {
        width: 100%;
        position: relative;
        top: 0;
    }
    .single_article .rightside {
        width: 100%;
    }
    .single_article .thumbnail_list {
        position: relative;
        top: 0;
    }
    .popular_list .post_list ul li {
        width: 100%;
    }
    .tab_category_link a{
        font-size: 18px;
    }
    .tab_category_link a::after {
        margin-left: 15px;
    }
    .post-title{
        font-size: 36px;
    }
    .popular_list h2 {
        font-size: 26px;
    }
    #toc .mokuji {
        font-size: 29px;
    }
}

/***************404***************/
.error404{
    background-color: #f3f3f3;
}
.error404 .page404{
    margin: 140px auto 80px auto;
    text-align: center;
}
.error404 .notfound{
    font-size: 45px;
    font-weight: bold;
    margin-bottom: 30px;
}

/***************privacy-policy***************/
.privacy-policy h1{
    margin: 30px 0 0px 0px;
}
.privacy-policy ol{
    margin: 0;
    padding: 20px;    
}
.privacy-policy ol li{
    list-style: auto;
    margin-bottom: 30px;
}
.privacy-policy ol li ul li{
    list-style: none;
}