@charset "utf-8";
/* Theme Name: PORTER GO
Description: 「Twenty Nineteen」の子テーマとして作成しました。
Template: twentynineteen
Author: arashida
Version: 1.0.0 */


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;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;margin: 0;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}input,select{vertical-align:middle}
@font-face {
    font-family: 'NotoSansCJKjp';
    src: url(./fonts/NotoSansCJKjp-Regular.otf);
    font-display: swap;
}
@font-face {
    font-family: 'TsukuMinPro-R';
    src: url(./fonts/FOT-TsukuMinPro-R.otf);
    font-display: swap;
}
img {
    width: 100%;
    vertical-align: middle;
}
p{
    margin: 0;
}
h1:before,h2:before {
    margin-top: 0;
    display: none !important;
}
a {
    display: block;
}
a:hover {
    opacity: .5;
}
.blue {
    color: #0782d6;
}
.d-flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}
#index_first {
    position: relative;
    top: 0;
    left: 0;
}
.item-link {
    transition-property: opacity;
    transition-duration: 0.2s;
}
.item-link:hover {
    opacity: .5;
}
#showloading {
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 2;
    background: #fff;
}

.appearance {
    animation-name: appearance;
    animation-duration: 1.5s;
    animation-timing-function: ease;
    animation-fill-mode: both;
}
@keyframes appearance {
    0% {opacity: 0}
    100% {opacity: 1;}
}
#showloading img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30%;
}
.hidden {
    display: none;
}
.drop {
    animation-name: anime_1-1;
    animation-duration: 1.5s;
    animation-timing-function: ease;
    animation-fill-mode: both;
}
@keyframes anime_1-1 {
    0% {opacity: 1;}
    100% {opacity: 0;}
}
.worldMap {
    width: 50%;
    z-index: 1;
    position: absolute;
    top: 120px;
    right: 30px;
}
#index_second .worldMap {
    right: 25%;
}
@keyframes anime_1-1 {
    0% {opacity: 1;}
    100% {opacity: 0;}
}
.worldMapAppearance {
    animation-name: appearance;
    animation-duration: 3s;
    animation-timing-function: ease;
    animation-fill-mode: both;
    animation-delay: 4.8s;
}
.topNavigation {
    align-items: center;
    justify-content: space-between;
    width: 94%;
    margin: auto;
    z-index: 3;
}
#animation-logo {
    margin-top: -120px;
    z-index: 3;
    width: 9%;
}
    @media screen and (max-width: 768px) {
        #animation-logo {
            width: 20%;
        }
        .topNavigation {
            width: 90%;
            right: 0;
            left: 0;
            position: absolute;
        }
        .topNavigation .navListItem {
            display: none;
        }
        .worldMap {
            right: 0;
            width: 100%;
            left: 0;
            top: 0;
        }
    }
#topNavList {
    margin-top: -120px;
    z-index: 3;
}
.navListItem__item:not(:last-child) {
    margin-right: 30px;
}
#topNavList a.navListItem__txt {
    color: #fff;
    text-shadow: 0 0 5px #008BD5;
}
#imageRadial {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    transition:all 3s ease-out;
    -webkit-transition:all 3s ease-out;
    -moz-transition:all 3s ease-out;
    -o-transition:all 3s ease-out;
}
.imageRadialFirst {
    background-image: url(./img/top/anime_body_bg1.jpg);
}
.imageRadialSecond {
    background-image: url(./img/top/anime_body_bg2.jpg);
}
    @media screen and (max-width: 768px) {
        .itemLead-sp {
            background: #0782D6;
            color: #fff;
            padding: 6%;
            font-size: 4.5vw;
            line-height: 2;
            font-family: TsukuMinPro-R, sans-serif;
        }
        .worldMap {
            position: static;
            background-image: url(./img/top/anime_body_bg2-sp.jpg);
            background-size: cover;
            background-repeat: no-repeat;
        }
        #imageRadial {
            display: none;
        }
    }
.animationMap--appearance {
    animation: appearance 2s ease-in-out 5.5s both;
}

.switch-img {
    position: absolute;
    top: 5vh;
    width: 60%;
    z-index: 1;
    left: 0;
    left: 700px;
}
.switch-img_item {
    /* 配置の設定 */
    position: absolute;
    top: 0;
    left: 0;
    width: 65%;
    opacity: 0;
    transform: translateX(50px);
    transition: 300ms;
}
.switch-img_item.is-current {
    opacity: 1;
    transform: translateX(0);
}
.itemLead {
    background: rgba(0,70,213, 0.3);
    color: #fff;
    font-family: TsukuMinPro-R, sans-serif;
    font-size: 1.8vw;
    text-shadow: 0 0 5px #008BD5;
    z-index: 2;
    position: fixed;
    top: 0;
    left: 0;
    padding: 11% 5% 0 3%;
    letter-spacing: 5px;
    border-radius: 0 0 50vw 0;
    overflow: hidden;
    line-height: 54px;
    white-space: nowrap;
}
#index_first .itemLead {
    width: 0;
    height: 0;
    opacity: 0;
}
#index_second .itemLead {
    bottom: 0;
    width: 51%;
}
@keyframes anime_itemLead {
    0% {height: 0;width: 0;opacity: 0;}
    100% {height: 100%;width: 51%;opacity: 1.0;}
}
/* ↑top */
.header-pageNavigation {
    align-items: center;
    justify-content: space-between;
    width: 86%;
    margin: auto;
}
.header-pageNavigation a.navListItem__txt {
    color: #000;
}
.header-pageNavigation a.current {
    color: #0782D6;
}
a.navListItem__txt {
    font-family : NotoSansCJKjp, sans-serif;
    font-size: 3.19vw;
}
.pageNavigation__logo {
    background: #0782D6;
    padding: 20px 10px;
    width: 9%;
}
    @media screen and (max-width: 768px) {
        .header-pageNavigation {
            width: 100%;
        }
        .pageNavigation__logo {
            width: 20%;
        }
        .header-pageNavigation ul {
            display: none;
        }
    }
/* バーガー */
.js-slide-burger.show {
    height: 100vh;
    width: 100vw;
    position: fixed;
    top: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10;
}
.burger-icon {
    background: #0782D6;
    padding: 10px 15px;
    transition: all 0.5s ease-in-out;
    position: fixed;
    right: 5%;
    top: 10px;
    z-index: 10;
}
.show .burger-icon {
    transform: translateX(-41vw);
}
.nav_toggle {
    position: relative;
    width: 20px;
    height: 25px;
    left: 5px;
    top: 2px;
    display: inline-block;
    position: relative;
}
.nav_toggle i {
    display: block;
    width: 100%;
    height: 5px;
    background-color: #fff;
    position: absolute;
    transition: transform .5s, opacity .5s;
}
.nav_toggle i:nth-child(1) {
    top: 0;
}
.nav_toggle i:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
}
.nav_toggle i:nth-child(3) {
    bottom: 0;
}
.nav_toggle:before {
    content: "";
    display: block;
    left: -12px;
    top: 6px;
    position: absolute;
    border-top: 6px solid transparent;
    border-right: 6px solid #fff;
    border-bottom: 6px solid transparent;
    transition: transform .5s;
}
.show .nav_toggle:before {
    transform: rotate(180deg);
}
.off {
    display: none;
}
.burger-list {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1;
    width: 46vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    padding: 7%;
    transform: translateX(46vw);
    transition: all 0.5s ease-in-out;
}
.show .burger-list {
    transform: translateX(0);
    overflow-y: scroll;
}
.burger-list-tittle {
    border-bottom: 1px solid #000;
    display: block;
    width: 100%;
    text-align: center;
    padding-bottom: 3px;
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 3.5vw;
}
.burger-list .burger-list__item {
    margin-top: 1.5em;
}
.burger-list .navListItem__txt {
    color: #000;
}
    @media screen and (min-width: 769px) {
        .js-slide-burger {
            display: none;
        }
    }
/* ↑header */
.site-footer {
    background: #0B308E;
    padding: 8% 4%;
}
.site-footer-heading {
    justify-content: space-between;
    align-items: center;
}
.site-footer-heading__logo {
    width: 34%;
    margin: 5% auto 0;
}
.site-footer-heading__img {
    width: 100%;
}
.footer-pageNavigation a.navListItem__txt {
    color: #fff;
}
.site-footer-content {
    justify-content: space-between;
    align-items: center;
    margin-top: 3%;
}
.copyright {
    font-size: 12px;
    font-family : NotoSansCJKjp, sans-serif;
    color: #fff;
}
    @media screen and (max-width:768px) {
        .footer-pageNavigation {
            width: 92%;
            margin: 5% auto 0;
        }
        .footer-pageNavigation .navListItem {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            grid-column-gap: 20px;
            grid-row-gap: 15px;
            width: 100%;
        }
        .navListItem__item:not(:last-child) {
            margin-right: 0;
        }
        .copyright {
            font-size: 3.19vw;
            width: 100%;
            margin-top: 10%;
            text-align: center;
        }
    }
h2.pageTitle {
    font-family: fot-rodin-pron, sans-serif !important;
    font-style: normal;
    font-weight: 600;
    font-size: 6.94vw;
    background: #0B308E;
    color: #fff;
    padding: 20px 4%;
}
.breadcrumb {
    padding: 0 4%;
    list-style: none;
    margin: auto;
    background: #0782D6;
}
.breadcrumb .fa-home {
    margin-right: 5px;
}
.breadcrumb li {
    color: #fff;
    font-family : NotoSansCJKjp, sans-serif;
    font-size: 3.19vw;
}
.breadcrumb li:not(:last-child):after {
    content: "\FF1E";
    margin: 0 6px;
}
.breadcrumb a {
    color: #fff;
    display: inline-block;
}
.pageWrap__item {
    background: #fff;
    padding: 0;
    width: 92%;
    margin: 20px auto 60px;
}
.jigyouList div {
    background: #D4ECF8;
    padding: 10px 30px;
    margin-top: 5px;
    position: relative;
}
.jigyouList dt {
    font-family: TsukuMinPro-R, sans-serif;
    font-size: 6vw;
    margin-right: 20px;
    color: #0B308E;
    position: absolute;
    top: 10%;
    left: 20px;
}
.jigyouList dd {
    font-size: 5vw;
    font-family: NotoSansCJKjp, sans-serif;
    padding-left: 10px;
    text-align: center;
    line-height: 1.3em;

}
.service {
    margin-top: 40px;
}
h2.service__title {
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 6vw;
    padding: 10px 10px 10px 20%;
    color: #fff;
    background: linear-gradient(270deg, #0782C6, #07328F);
    position: relative;
    border-radius: 10px 10px 0 0;
    font-weight: normal;
}
.service__title span {
    font-family: TsukuMinPro-R, sans-serif;
    font-size: 8vw;
    position: absolute;
    top: calc(50% - 4vw);
    left: 15px;
    margin-top: -1.8vw;
}
.service__wrap {
    background: #E6F4FB;
    padding: 30px;
    border-radius: 0 0 10px 10px;
}
.nscj-txt {
    font-family : NotoSansCJKjp, sans-serif;
    font-size : 3.8vw;
    line-height: 5.5vw;
}
.service__img {
    margin-top: 30px;
}
.service__img-ship {
    width: 70%;
    margin: 20px auto 0;
}
.service__img-3 {
    width: 70%;
    margin: 20px auto 0 10%;
}
.txt-caution {
    font-family : NotoSansCJKjp, sans-serif;
    color: #0782D6;
    font-size: 5.07vw;
    margin-top: 30px;
}
h2.pageWrap__tit {
    font-family: TsukuMinPro-R, sans-serif;
    font-size: 9.3vw;
    color: #0068B6;
}
.philosophyList .d-flex {
    padding: 20px 0;
    border-bottom: 1px solid #888888;
}
    @media screen and (max-width: 768px) {
        .philosophyList .d-flex {
            display: block;
        }
    }
.philosophyList dt {
    font-family: TsukuMinPro-R;
    font-size: 6.93vw;
    color: #0068B6;
    position: relative;
    margin-right: 20px;
}
.philosophyList span {
    position: absolute;
    top: -3.5px;
    left: 20px;
}
.philosophyList .nscj-txt {
    font-size: 4.99vw;
    line-height: 6vw;
    margin-top: 10px;
}
.section-margin {
    margin-top: 60px;
}
.gradationList__item  {
    justify-content: space-between;
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 4.7vw;
    margin-top: 3%;
}
.gradationList__item dt,.gradationList__item dd {
    width: 100%;
    padding: 20px 10px;
}
.gradationList__item dt {
    background: linear-gradient(270deg, #0782C6, #07328F);
    color: #fff;
    align-items: center;
}
.gradationList__item dd {
    background: #D4ECF8;
    line-height: 6vw;
}
.linkBtnList {
    width: 100%;
}
.linkBtnList__item {
    list-style: none;
    margin-top: 20px;
    border: 1px solid #0782D6;
    width: 75%;
    border-radius: 5px;
    text-align: center;
}
.linkBtnList__btn {
    text-align: center;
    padding: 8px;
    color: #000;
    font-family : NotoSansCJKjp, sans-serif;
    font-size : 3.99vw;
    display: block;
}
.groupCompanyWrap {
    justify-content: space-between;
}
.groupCompanyWrap__img {
    width: 100%;
    margin-top: 8%;
}
.groupCompanyWrap__img p:not(:first-child) {
    margin-top: 5%;
}
.infoList__item {
    list-style: none;
    margin-top: 50px;
}
.infoList__heding {
    background: #D4ECF8;
    padding: 20px;
}
.infoList__heding .toukou-day {
    background: #0782D6;
    height: 46px;
    line-height: 46px;
    padding: 0 5px;
    color: #fff;
    display: inline-block;
}
.toukou-day {
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 3.9vw;
}
h3.toutou-title {
    margin-top: 10px;
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 4.9vw;
    color: #000;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.toutou-content {
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 4.38vw;
    color: #000;
    padding: 0 20px;
    margin-top: 10px;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    line-height: 1.8;
}
.blogList {
    margin-top: 40px;
}
.blogList:not(:last-child) {
    border-bottom: 1px solid #888888;
    padding-bottom: 40px;
}
.blogList__item {
    justify-content: space-between;
}
.blogList__img {
    width: 100%;
    height: 250px;
}
.blogList__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blogList__content {
    width: 100%;
    position: relative;
    margin-top: 10px;
}
.blogList__content .toutou-title, .blogList__content .toutou-content {
    padding: 0;
}
.readMore {
    width: 30%;
    margin: 10px 0 0 auto;
}
.readMore__btn {
    font-family: TsukuMinPro-R;
    font-size: 3.7vw;
    color: #fff;
    background: #0B308E;
    padding: 5px 10px 10px;
    letter-spacing: 0.46px;
    text-align: center;
}
.readMore__btn:hover {
    color: #fff;
}
.contact-heading {
    font-family: NotoSansCJKjp, sans-serif;
    font-size: 15px;
    text-align: center;
    line-height: 1.8;
}
.contactWrap {
    justify-content: space-between;
}
.contactWrap dl {
    margin-top: 40px;
}
.contactWrap dt {
    font-family : NotoSansCJKjp;
    font-size: 15px;
    padding-bottom: 8px;
}
.contactWrap__left, .contactWrap__right {
    width: 100%;
}
.contactWrap input {
    width: 100%;
}
.row__item-2 {
    width: 47%;
}
.row__item-2:nth-child(odd) {
    margin-right: 6%;
}
.contact-btn {
    max-width: 400px;
    width: 100%;
    margin: 40px auto 0;
}
.contact-btn input {
    width: 100%;
    background: #0782d6;
    font-family : FOT-ロダン Pro, sans-serif !important;
    font-size: 24px;
}
.contact-btn input:hover {
    background: #0782d6;
    opacity: .8;
}
#contact-header-image {
    margin-top: 20px;
}
.pc-visible {
    display: none;
}
    @media screen and (min-width: 769px) {
        .pc-visible {
            display: block;
        }
        .sp-visible {
            display: none;
        }
        .pageWrap {
            background-image: url(./img/top/anime_body_bg1.jpg);
            background-size: cover;
            background-repeat: no-repeat;
            padding: 0 7% 28px;
        }
        a.navListItem__txt {
            font-size: 15px;
        }
        .site-footer {
            padding: 3% 7%;
        }
        .site-footer-heading {
            flex-direction: row-reverse;
        }
        .site-footer-heading__img {
            width: 85.7%;
        }
        .site-footer-heading__logo {
            width: 9%;
            margin: 0;
        }
        h2.pageTitle {
            font-size: 35px;
            padding: 20px 7%;
        }
        .breadcrumb {
            padding: 0;
            background: transparent;
        }
        .breadcrumb--blue {
            background: #0782D6;
            padding: 0 7%;
        }
        .breadcrumb li {
            font-size: 15px;
        }
        .pageWrap__item {
            padding: 40px 5%;
            width: 100%;
            margin: 0;
        }
        .jigyouList dt {
            font-size: 30px;
            top: calc(50% - 15px);
        }
        .jigyouList dd {
            font-size: 20px;
            text-align: left;
            padding-left: 30px;
        }
        h2.service__title {
            font-size: 22px;
            padding: 15px 10px 5px 60px;
        }
        .service__title span {
            font-size: 40px;
            top: calc(50% - 20px);
            margin-top: -8px;
        }
        .service__title:after {
            content: "service";
            font-family: TsukuMinPro-R;
            font-size: 16px;
            position: absolute;
            right: 20px;
            bottom: 5px;
        }
        .nscj-txt {
            font-size: 15px;
            line-height: 25px;
        }
        .service__img-ship {
            width: 30%;
            margin: 30px auto 0;
        }
        .service__img-3 {
            width: 30%;
            margin: 20px auto 0 33%;
        }
        .txt-caution {
            font-size: 18px;
        }
        h2.pageWrap__tit {
            font-size: 40px;
        }
        .philosophyList .d-flex {
            align-items: center;
            flex-wrap: nowrap;
        }
        .philosophyList dt {
            font-size: 28px;
        }
        .philosophyList .nscj-txt {
            font-size: 20px;
            line-height: 30px;
            margin-top: 0;
        }
        .gradationList__item  {
            font-size: 15px;
            margin-top: 7px;
        }
        .gradationList__item dt {
            width: 16%;
        }
        .gradationList__item dd {
            width: 83%;
            line-height: 30px;
        }
        .linkBtnList__item {
            width: 19%;
        }
        .linkBtnList__btn {
            font-size : 16px;
        }
        .groupCompanyWrap .gradationList {
            width: 67%;
        }
        .groupCompanyWrap__img {
            width: 27%;
            margin-top: 7px;
            max-width: 368px;
        }
        .infoList__item {
            padding-left: 150px;
            position: relative;
            margin-top: 30px;
        }
        .infoList__heding {
            padding: 0;
        }
        .infoList__heding .toukou-day {
            position: absolute;
            top: 0;
            left: 0;
            height: 46px;
            line-height: 46px;
            padding: 0 28px;
            display: block;
        }
        .toukou-day {
            font-size: 15px;
        }
        h3.toutou-title {
            height: 46px;
            line-height: 46px;
            font-size: 22px;
            white-space: nowrap;
            padding: 0 20px;
            display: block;
            margin-top: 0;
        }
        .blogList__content {
            width: calc(94% - 238px);
        }
        .blogList__content h3.toutou-title {
            height: 30px;
            line-height: 30px;
        }
        .toutou-content {
            font-size: 15px;
            -webkit-line-clamp: 2;
        }
        .blogList__content .toutou-content {
            -webkit-line-clamp: 3;
        }
        .readMore {
            max-width: 92px;
            width: 100%;
            position: absolute;
            bottom: 0;
            right: 0;
        }
        .readMore__btn {
            font-size: 13px;
            padding: 10px;
        }
        .blogList__img {
            max-width: 238px;
            height: 182px;
        }
        .contactWrap__left {
            width: 53%;
        }
        .contactWrap__right {
            width: 40%;
        }

    }