.logo {
    cursor: pointer
}


@media only screen and (max-width: 767px) {

    /* ----------------- common  ------------------ */

    .pc {
        display: none
    }

    .sp {
        display: block
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        overflow-x: hidden;
        width: 100%;
        font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",'Sorts Mill Goudy', "Noto Serif JP", serif; 
    }

    .font {
        font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",'Sorts Mill Goudy', "Noto Serif JP", serif; 
    }

    #up-to-top {
        position: fixed;
        bottom: 30px;
        right: 30px;
        padding:10px;
        padding-left:15px;
        padding-right:15px;
        border-radius: 50%;
        background-color: #000;
        color: #fff;
        border: none;
        outline: none;
        z-index: 10
    }

    section {
        position: relative;
        width: 100%;
        margin-top: 80px;
        padding:2%
    }

    img {
        width: 100%;
    }

    .title {
        font-size: 26px;
        font-weight: bold
    }

    .subtitle {
        font-size: 24px;
        font-weight: bold
    }

    .content {
        font-size: 14px;
    }

    img.bg1 {
        width: 104%;
        margin-left: -2%;
    }

    .following-div {
        width: 100% !important;
    }

    /* ----- */

    /* header */

    header {
        width:100%;
        position:fixed;
        top:0;
        left:0;
        z-index:10;
        background-color: #fff;
        padding: 10px 0px
    }

    header .sp .header {
        width: 100%;
        margin: auto;
        display: flex;
        justify-content: space-between;
        padding: 0px 10px
    }

    header .sp .header .hamburger-menu {
        background: transparent;
        border: none;
        font-size: 30px;
        outline: none
    }

    header .sp .header .logo span {
        text-align: center;
        display: block;
    }

    header .sp .header .logo .en {
        font-size: 24px;
        font-weight: bold
    }

    header .sp .header .logo .jp {
        font-size: 14px;
        font-weight: 500;
    }

    header .sp .header .menu {
        z-index:10;
        width: 100%;
        position: fixed;
        top: 70px;
        left:0;
        display: none;
        padding: 10% 0%;
        background-color: #222222;
    }

    header .sp .header .menu a {
        color: white;
        text-align: center;
        display: block;
        margin: 10px 0px;
    }
    /* ----- */


    /* main-visual-section */

    .main-visual-section {        
        margin-top: 125px
    }
    .main-visual-section .title {
        margin-top: 50px;
        margin-bottom: 40px
    }

    .main-visual-section .main-bg {
        width: 100%;
        position: relative;
    }

    .main-visual-section .main-bg .abs-div {
        padding: 20px;
        background: white;
    }

    .main-visual-section .main-bg .abs-div1 .sub-subtitle {
        font-size: 22px;
        font-weight: 500
    }

    .main-visual-section .main-bg .cyan-padding-div {
        padding: 20px;
        background-color: #edf9fd;
        text-align: left;
        margin: 30px 0px;
    }
    
    /* ---------------- */

   /* service-section */

   .service-section {
        text-align: center;
    }

    .service-section .title {
        margin-top: 50px
    }

    .gray-border-div {
        width: fit-content;
        margin: auto;
        padding: 10px 20px;
        border: 1px solid #b7b8b8;
        font-size: 20px;
        margin-bottom: 30px
    }

    .shenme-bg-div {
        background: #fff4f8;
        width: fit-content;
        margin: auto;
        padding: 10px 20px;
        font-size: 14px;
        margin-top: 30px;
        margin-bottom: 30px;
        text-align: left;
        line-height: 40px
    }
    /* --------------- */


    /* company-section */

    .company-section {
        margin-bottom: 100px
    }
    .company-section .title{
        margin-top: 50px;
        text-align: center
    }

    .company-section .wrapper {
        display: flex;
        justify-content: space-between
    }

    .company-section .short-div {
        width: 28%;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid #676767;
        padding: 10px 0px;
        font-size: 19px;
    }

    .company-section .long-div {
        width: 68%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        border-bottom: 1px solid #c0c1c1;
        padding: 10px;
        font-size: 19px;
    }
    /* ---------------- */

    .inquiry-section .title {
        margin-top: 50px;
        text-align: center
    }

    .inquiry-section .wrapper {
        display: flex;
        justify-content: space-between
    }

    .inquiry-section .short-div {
        width: 26%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 10px 0px;
        font-size: 19px;
    }

    .inquiry-section .long-div {
        width: 75%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding: 10px;
        font-size: 19px;
    }

    .inquiry-section .long-div .checkbox {
        width: auto !important
    }

    .inquiry-section .long-div input {
        border: 1px solid #dedddd;
        padding-left: 10px;
        border-radius: 5px;
        width: 100%;
    }

    .inquiry-section .long-div textarea {
        border: 1px solid #dedddd;
        padding-left: 10px;
        border-radius: 2px;
        width: 100%;
    }

    .inquiry-section .submit-button {
        border-radius: 5px;
        border: 1px solid #9e9e9e;
        color: black;
        background-color: white;
        padding: 5px 30px;
        display: flex;
        margin: auto;
    }

    .inquiry-section .fixed-width {
        width: 100%;
        margin: auto
    }

    .inquiry-section .pc-margin-left {
        margin-left: 2%
    }
}


















@media only screen and (min-width: 768px) {

    /* ----------------- common  ------------------ */

    .pc {
        display: block
    }

    .sp {
        display: none
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        overflow-x: hidden;
        width: 100%;
        font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",'Sorts Mill Goudy', "Noto Serif JP", serif; 
    }

    .font {
        font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",'Sorts Mill Goudy', "Noto Serif JP", serif; 
    }

    #up-to-top {
        position: fixed;
        bottom: 30px;
        right: 30px;
        padding:10px;
        padding-left:15px;
        padding-right:15px;
        border-radius: 50%;
        background-color: #000;
        color: #fff;
        border: none;
        outline: none;
        z-index: 10
    }

    section {
        position: relative;
        width: 100%;
    }
    img {
        width: 100%;
    }

    .title {
        font-size: 27px;
        font-weight: bold
    }

    .subtitle {
        font-size: 24px;
        font-weight: bold
    }

    .content {
        font-size: 16px;
    }


    /* header */

    header {
        width:100%;
        position:fixed;
        top:0;
        left:0;
        z-index:10;
        background-color: #fff;
        padding: 10px 0px
    }

    header .pc .header {
        width: 60%;
        margin: auto;
        display: flex;
        justify-content: space-between
    }

    header .pc .header .logo span {
        text-align: center;
        display: block;
    }

    header .pc .header .logo .en {
        font-size: 24px;
        font-weight: bold
    }

    header .pc .header .logo .jp {
        font-size: 14px;
        font-weight: 500;
    }

    header .pc .header .menu {
        display: flex;
        justify-content: space-between;
        width: 60%;
    }

    header .pc .header .menu a {
        width: 24%;
        background-color: #f2f1f1;
        color: #2e2e2e;
        display: flex;
        justify-content:center;
        align-items: center;
        text-decoration: none;
        transition: all .5s;
    }

    header .pc .header .menu a:hover {
        background-color: #6eb197;
        color: #fff;
    }

    header .pc .header .menu a.active {
        background-color: #6eb197;
        color: #fff;
    }

    /* ----- */

    /* main-visual-section */

    .main-visual-section {
        margin-top: 165px;
    }
    .main-visual-section .title {
        margin-bottom: 40px
    }

    .main-visual-section .main-bg {
        width: 100%;
        position: relative;
    }

    .main-visual-section .main-bg .abs-div {
        position: absolute;
        padding: 50px 20px;
        width: 500px;
        background: white;
    }

    .main-visual-section .main-bg .abs-div1 {
        top: 25%;
        left: 20%;
        text-align: center;
    }

    .main-visual-section .main-bg .abs-div2 {
        top: 63%;
        right: 20%;
        text-align: left;
    }

    .main-visual-section .main-bg .abs-div1 .sub-subtitle {
        font-size: 22px;
        font-weight: 500
    }

    .main-visual-section .main-bg .cyan-padding-div {
        padding: 40px;
        background-color: #edf9fd;
        text-align: left;
        margin: 30px 15%;
    }
    
    /* ---------------- */

    /* service-section */

    .service-section {
        text-align: center;
    }

    .service-section .title {
        margin-top: 50px
    }

    .gray-border-div {
        width: fit-content;
        margin: auto;
        padding: 10px 20px;
        border: 1px solid #b7b8b8;
        font-size: 20px;
        margin-bottom: 30px
    }

    .shenme-bg-div {
        background: #fff4f8;
        width: fit-content;
        margin: auto;
        padding: 10px 20px;
        font-size: 14px;
        margin-top: 30px;
        margin-bottom: 30px;
        text-align: left;
        line-height: 40px
    }

    .fixed-width {
        width: 500px;
        text-align: center
    }
    /* --------------- */

    /* company-section */

    .company-section {
        margin-bottom: 100px
    }
    .company-section .title{
        margin-top: 50px;
        text-align: center
    }

    .company-section .wrapper {
        display: flex;
        justify-content: space-between
    }

    .company-section .short-div {
        width: 28%;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid #676767;
        padding: 10px 0px;
        font-size: 19px;
    }

    .company-section .long-div {
        width: 68%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        border-bottom: 1px solid #c0c1c1;
        padding: 10px;
        font-size: 19px;
    }
    /* ---------------- */

    .inquiry-section .title {
        margin-top: 50px;
        text-align: center
    }

    .inquiry-section .wrapper {
        display: flex;
        justify-content: flex-start
    }

    .inquiry-section .short-div {
        width: 20%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding: 10px 0px;
        font-size: 19px;
        margin-right: 50px;
    }

    .inquiry-section .long-div {
        width: 68%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        padding: 10px;
        font-size: 19px;
    }

    .inquiry-section .long-div .checkbox {
        width: auto !important
    }

    .inquiry-section .long-div input {
        border: 1px solid #dedddd;
        padding-left: 10px;
        border-radius: 5px;
        width: 100%;
    }

    .inquiry-section .long-div textarea {
        border: 1px solid #dedddd;
        padding-left: 10px;
        border-radius: 2px;
        width: 100%;
    }

    .inquiry-section .submit-button {
        border-radius: 5px;
        border: 1px solid #9e9e9e;
        color: black;
        background-color: white;
        padding: 5px 30px;
        display: flex;
        margin: auto;
    }

    .inquiry-section .fixed-width {
        width: 800px;
        margin: auto
    }

    .inquiry-section .pc-margin-left {
        margin-left: 30%
    }

    /* privacy-section */

    .privacy-section .wrapper {
        display: flex
    }

    .privacy-section .wrapper span {
        display: block
    }

    .privacy-section .wrapper span:nth-child(1) {
        width: 4%;
    }

    .privacy-section .wrapper span:nth-child(2) {
        width: 96%;
    }

    .privacy-section .content1 {
        font-size: 17px
    }

    .privacy-section .rt {
        font-size: 18px;
        text-align: right;
    }

    .privacy-section .title {
        margin-top: 50px;
        text-align: center
    }
    /* --------------- */
}

