:root {
    font-size: 62.5%;
}

/* スマホ画面 */


    body {
        color: rgb(102, 102, 102);
        font-family: Arial;
        font-size: 2.5rem;
        margin: 0;
        background-color: rgb(242, 241, 237);
      }

    .header {
        text-align: center;
        width: 100vw;
        /* padding: 1rem; */
        background: linear-gradient(to right, #009269 0%, #009269 33%, #ffff 33%, #ffff 66%, #ce263c 66%);
        margin: 0rem;
        height: 7.2rem;
    }

    .header_logo {
        font-size: 3rem;
        margin: 2rem;
        font-weight: bolder;
        color: rgb(254, 254, 254);
        display: inline-block;
        text-shadow: 0.5rem 0.5rem 0em black;
        -webkit-text-stroke: 0.1rem #000;
    }

    h2 {
        font-size: 2.5rem;
    }

    /* ハンバーガーメニュー */
    .menu-btn {
        position: fixed;
        top: 10px;
        right: 10px;
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        align-items: center;
        z-index: 90;
        border-top-left-radius: 30px;
  border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;
  border-bottom-left-radius: 30px;
        background-color: rgb(206, 38, 60);
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }

    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #menu-btn-check {
        display: none;
    }

    /* メニュー内部 */
    .menu-content {
        width: 70%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 80;
        background-color: black;
        opacity: 70%;
        transition: all 0.5s;/*アニメーション設定*/
    }
    .menu-content ul {
        padding: 70px 10px 0;
    }
    .menu-content ul li {
        border-bottom: solid 1px #ffffff;
        list-style: none;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color:#ffffff;
        text-decoration: none;
        padding: 9px 15px 10px 0;
        position: relative;
    }
    .menu-content ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 16px;
    }

    #menu-btn-check:checked ~ .menu-content {
        left: 30%;/*メニューを画面内へ*/
    }

    /* ハンバーガーメニュー終わり */

    a {
        text-decoration: none;
        color: rgb(102, 102, 102);
        /* margin: 0 3rem; */
        /* padding: 0; */
    }

    .top a:hover {
        /* background-color: none; */
        /* color: rgb(255, 255, 255); */
        transition: 0s;
        text-decoration-line: underline;
    }

    .nav {
        display: none;
        font-size: 1.5rem;
        /* display: flex; */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        /* background-color: rgb(34, 34, 34); */
        color: rgb(102, 102, 102);
        width: 100%;
        /* height: 1.5rem; */
        /* margin-bottom: 2rem; */
        padding: 1rem;
        /* border-bottom: 0.3rem solid;
        border-color: rgb(198, 0, 15); */
        /* flex-shrink: 3; */

    }

    .nav_menu {
        margin: 0.5rem;
    }

    .nav_menu a {
        text-decoration: none;
        color: rgb(102, 102, 102);
        margin: 2 3rem;
        padding: 0;
    }

    /* a:hover {
        background-color: rgb(198, 0, 15);
        color: rgb(255, 255, 255);
        transition: 0s;
    } */

    .top {
        font-size: 2rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        /* border: 0.1rem solid; */
        margin: 1rem;
        /* height: 40vh; */
        background-color: rgb(254, 254, 254);
        color: rgb(160, 160, 160);

    }

    .top_title{
        text-align: center;
        margin-top: 2rem;
        font-size: 2.5rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    .top-content1 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
        /* background-color: rgb(122, 191, 228); */
    }

    .top-content2 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
    }
    .top-content3 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
        /* background-color: rgb(122, 191, 228); */
    }

    .top-content4 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
    }

    .content{
        text-align: center;
    }

    main {
        width: 100vw;
        padding: 1rem;
        color: rgb(102, 102, 102);
    }

    p {
        font-size: 2rem;
    }

    img {
        /* width: 100%; */

        height: 40vh;
    }

    .footer {
        background-color: rgb(206, 38, 60);
        height: 9rem;
        color: rgb(178, 178, 178);
        display: flex;
        justify-content: center;
        width: 100vw;
    }

    .footer_logo {
        background-color: hsl(57, 84%, 59%);
        color: black;
        font-size: 2rem;
        margin: 1.5rem;
        line-height: 100%;
        text-align: center;
    }

    .contact_main {
        display: flex;
        justify-content: flex-start;
        padding: 5rem;
        margin: 1rem;
        background-color:rgb(254, 254, 254);
    }

    /* figcaption {
        display: none;
    } */

/* タブレット画面 */
@media screen and (min-width: 600px) {
    body {
        font-family: Arial;
        font-size: 2.5rem;
        margin: 0;
        background-color: rgb(242, 241, 237);
      }

    .header {
        text-align: center;
        width: 100vw;
        /* padding: 1rem; */
        background: linear-gradient(to right, #009269 0%, #009269 33%, #ffff 33%, #ffff 66%, #ce263c 66%);
        margin: 0rem;
        height: 7.2rem;
    }

    .header_logo {
        font-size: 3rem;
        margin: 2rem;
        font-weight: bolder;
        color: rgb(254, 254, 254);
        display: inline-block;
        text-shadow: 0.5rem 0.5rem 0em black;
        -webkit-text-stroke: 0.1rem #000;
    }

    h2 {
        font-size: 2.5rem;
    }

    /* ハンバーガーメニュー */
    .menu-btn {
        position: fixed;
        top: 10px;
        right: 10px;
        display: flex;
        height: 60px;
        width: 60px;
        justify-content: center;
        align-items: center;
        z-index: 90;
        background-color: rgb(206, 38, 60);
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }

    #menu-btn-check:checked ~ .menu-btn span {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #menu-btn-check {
        display: none;
    }

    /* メニュー内部 */
    .menu-content {
        width: 70%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;/*leftの値を変更してメニューを画面外へ*/
        z-index: 80;
        background-color: black;
        opacity: 70%;
        transition: all 0.5s;/*アニメーション設定*/
    }
    .menu-content ul {
        padding: 70px 10px 0;
    }
    .menu-content ul li {
        border-bottom: solid 1px #ffffff;
        list-style: none;
    }
    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color:#ffffff;
        text-decoration: none;
        padding: 9px 15px 10px 0;
        position: relative;
    }
    .menu-content ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 16px;
    }

    #menu-btn-check:checked ~ .menu-content {
        left: 30%;/*メニューを画面内へ*/
    }

    /* ハンバーガーメニュー終わり */

    a {
        text-decoration: none;
        color: rgb(102, 102, 102);
        /* margin: 0 3rem; */
        /* padding: 0; */
    }

    .top a:hover {
        /* background-color: none; */
        /* color: rgb(255, 255, 255); */
        transition: 0s;
        text-decoration-line: underline;
    }

    .nav {
        display: none;
        font-size: 1.5rem;
        /* display: flex; */
        flex-direction: column;
        justify-content: center;
        align-items: center;
        /* background-color: rgb(34, 34, 34); */
        color: rgb(102, 102, 102);
        width: 100%;
        /* height: 1.5rem; */
        /* margin-bottom: 2rem; */
        padding: 1rem;
        /* border-bottom: 0.3rem solid;
        border-color: rgb(198, 0, 15); */
        /* flex-shrink: 3; */

    }

    .nav_menu {
        margin: 0.5rem;
    }

    .nav_menu a {
        text-decoration: none;
        color: rgb(102, 102, 102);
        margin: 2 3rem;
        padding: 0;
    }

    /* a:hover {
        background-color: rgb(198, 0, 15);
        color: rgb(255, 255, 255);
        transition: 0s;
    } */

    .top {
        font-size: 2rem;
        display: flex;
        flex-direction: row;
        /* flex-wrap: wrap; */
        justify-content: center;
        /* border: 0.1rem solid; */
        margin: 1rem 0;
        /* height: 40vh; */
        /* background-color: rgb(254, 254, 254); */
        color: rgb(160, 160, 160);
        width: 100vw;
    }

    .top_title{
        display: none;
        text-align: center;
        margin-top: 2rem;
        font-size: 2.5rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    .top-content1 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
        /* background-color: rgb(122, 191, 228); */
    }

    .top-content2 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
    }
    .top-content3 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
        /* background-color: rgb(122, 191, 228); */
    }

    .top-content4 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
    }

    main {
        width: 100vw;
        padding: 1rem;
        color: rgb(102, 102, 102);
    }

    img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .main {
        display: flex;
        justify-content: space-evenly;
        /* height: 100vh; */
        text-align: stretch;
        padding: 1rem;
        font-family: monospace;
    }

    .main h2 {
        color: rgb(160, 160, 160);
        text-align: left;
        /* padding: 1rem; */
    }

    .sidebar1 {
        flex: 2;
        background-color:rgb(254, 254, 254);
        /* margin-left: 1rem; */
        height: 20rem;
        text-align: center;
        padding: 1rem;
        font-size: 2rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    .content {
        flex: 3;
        background-color: rgb(254, 254, 254);
        padding: 1rem;
        margin: 0 1rem;
        text-align: center;
        /* color: rgb(102, 102, 102); */
    }

    p {
        font-size: 2rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    .sidebar2 {
        flex: 2;
        background-color: rgb(254, 254, 254);
        padding: 1rem;
        /* margin-right: 1rem; */
        text-align: center;
        font-size: 2rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    
    .footer {
        background-color: rgb(206, 38, 60);
        height: 9rem;
        color: rgb(178, 178, 178);
        display: flex;
        justify-content: center;
        width: 100vw;
    }

    .footer_logo {
        background-color: hsl(57, 84%, 59%);
        color: black;
        /* height: 5rem;
        padding: 1rem; */
        font-size: 2rem;
        margin: 1.5rem;
        line-height: 100%;
        text-align: center;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        border-bottom-right-radius: 30px;
        border-bottom-left-radius: 30px;
    }

    .contact_main {
        display: flex;
        justify-content: flex-start;
        padding: 5rem;
        margin: 1rem;
        background-color:rgb(254, 254, 254);
    }

    /* figcaption {
        display: none;
    } */

}

/* パソコン画面 */
@media screen and (min-width: 1025px) {
    body {
        font-family: Arial;
        font-size: 2.5rem;
        margin: 0;
        background-color: rgb(242, 241, 237);
      }

    .header {
        /* text-align: center; */
        /* padding: 1rem; */
        /* background-color: rgb(254, 254, 254); */
        background: linear-gradient(to right, #009269 0%, #009269 33%, #ffff 33%, #ffff 66%, #ce263c 66%);
        margin: 0;
        height: 15rem;
        width: 100vw;
        line-height: 15rem;
    }

    .header_logo {
        /* line-height: 15rem; */
        font-size: 5rem;
        margin: 1rem;
        font-weight: bolder;
        color: rgb(254, 254, 254);
        display: inline-block;
        text-shadow: 0.5rem 0.5rem 0em black;
        -webkit-text-stroke: 0.1rem #000;
    }

    .hamburger-menu {
        display: none;
    }


    .nav {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        /* background-color: rgb(34, 34, 34); */
        color: rgb(102, 102, 102);
        width: 100vw;
        height: 5rem;
        /* margin-bottom: 2rem; */
        padding: 0;
        border-bottom: 0.3rem solid;
        border-color: rgb(198, 0, 15);
        font-size: 3rem;
        /* flex-shrink: 3; */

    }

    .nav_menu a {
        text-decoration: none;
        color: rgb(102, 102, 102);
        margin: 0 3rem;
        padding: 0;
    }

    .nav_menu a:hover {
        background-color: rgb(198, 0, 15);
        color: rgb(255, 255, 255);
        transition: 0s;
    }

    .top {
        /* display: none; */
        display: flex;
        flex-direction: row;
        justify-content: center;
        /* border: 0.1rem solid; */
        margin: 1rem 1rem;
        /* height: 22rem; */
        background-color: transparent;
        color: rgb(160, 160, 160);

    }

    .top_title {
        display: none;
    }

    .top-content1 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
        /* background-color: rgb(122, 191, 228); */
    }

    .top-content2 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
    }
    .top-content3 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
        /* background-color: rgb(122, 191, 228); */
    }

    .top-content4 {
        background-color:rgb(254, 254, 254);
        object-fit: contain;
        text-align: center;
        flex: 1;
        padding: 1rem;
        /* border: 0.11rem solid;
        border-color: rgb(102, 102, 102); */
        margin: 1rem;
    }

    img {
        width: 20rem;
        height: 20rem;
        object-fit: contain;
      }

    figcaption {
        display: block;
    }

    a {
        text-decoration: none;
        color: rgb(102, 102, 102);
        /* margin: 0 3rem; */
        /* padding: 0; */
    }

    .top a:hover {
        /* background-color: none; */
        /* color: rgb(255, 255, 255); */
        transition: 0s;
        text-decoration-line: underline;
    }

    .main {
        display: flex;
        justify-content: space-evenly;
        /* height: 100vh; */
        text-align: stretch;
        padding: 1rem;
        font-family: monospace;
    }

    .main h2 {
        color: rgb(160, 160, 160);
        text-align: left;
        /* padding: 1rem; */
    }

    .sidebar1 {
        flex: 2;
        background-color:rgb(254, 254, 254);
        /* margin-left: 1rem; */
        text-align: center;
        padding: 1rem;
        font-size: 2rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    .content {
        flex: 3;
        background-color: rgb(254, 254, 254);
        padding: 1rem;
        margin: 0 1rem;
        text-align: center;
    }

    p {
        font-size: 2rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    .sidebar2 {
        flex: 2;
        background-color: rgb(254, 254, 254);
        padding: 1rem;
        /* margin-right: 1rem; */
        text-align: center;
        font-size: 2rem;
        font-family: Arial, Helvetica, sans-serif;
        color: rgb(102, 102, 102);
    }

    

    .footer {
        background-color: rgb(206, 38, 60);
        height: 15rem;
        color: rgb(178, 178, 178);
        display: flex;
        justify-content: center;
        width: 100vw;
    }

    .footer_logo {
        background-color: hsl(57, 84%, 59%);
        font-style: italic;
        color: black;
        padding-top: 2.5rem;
        padding-right: 1rem;
        padding-left: 1rem;
        /* line-height: 100%; */
        /* margin: 2rem; */
    }

    .contact_main {
        display: flex;
        justify-content: flex-start;
        padding: 5rem;
        margin: 1rem;
        background-color:rgb(254, 254, 254);
    }

}

