@media screen and (min-width:769px) {

html
{
    background-color: grey;
    color: aliceblue;
    overflow-x: hidden;
    font-family: "agency-fb", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-weight: 400;
    font-style: normal;
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
    font-size: 16px;
}

.bg_img1 {
    position: absolute;
    width: 80vw;
    top: 0;
    left: 45vw;
}

.bg_img2 {
    position: absolute;
    width: 30vw;
    top: 15vw;
    left: -18vw;
    transform: rotate(170deg);
}

.bg_img3 {
    position: absolute;
    width: 60vw;
    top: 120vw;
    left: -15vw;
    /* transform: rotate(20deg); */
}

.bg_img4 {
    position: absolute;
    width: 75vw;
    top: 220vw;
    left: 60vw;
    /* transform: rotate(-20deg); */
}

.bg_img5 {
    position: absolute;
    width: 55vw;
    top: 290vw;
    left: -35vw;
    /* transform: rotate(220deg); */
}

.bg_img6 {
    position: absolute;
    width: 48vw;
    top: 450vw;
    left: 60vw;
    transform: rotate(-20deg);
}

.container {  
    position: absolute;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
        "header header header header header header"
        "top top top top top top"
        "news news news news news news"
        "ourmission ourmission ourmission ourmission ourmission ourmission"
        "communication communication communication communication communication communication"
        "wellbeing wellbeing wellbeing wellbeing wellbeing wellbeing"
        "arts arts arts arts arts arts"
        "contact contact contact contact contact contact"
        "footer footer footer footer footer footer";
    /* background-image: url(./assets/PuzzleY.png);
    background-size: 80vw;
    background-position-x: 40vw;
    background-position-y: 0;
    background-repeat: no-repeat; */
}

.header { 
    grid-area: header; 
    position: fixed;
    height: 65px;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: rgba(233, 84, 5, 0);
}

.toplogo {
    position: fixed;
    top: 1vw;
    left: 2vw;
    width: 20%;
}

.top {  
    position: relative;
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". toptag toptag toptag toptag .";
    grid-area: top;
    background-color: rgb(233, 84, 5);
}

.toptag {
    position: relative; 
    grid-area: toptag; 
    padding-top: 12vw;
    padding-bottom: 12vw;
    z-index: 10;
}

.concept {
    padding-left: 1.5vw;
    padding-right: 1.5vw;
    margin-top: 0;
    margin-bottom: 2vw;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 4vw;
    text-align: left;
    color: rgb(233, 84, 5);
    background-color: aliceblue;
    width: fit-content;
}

.concept2 {
    margin-bottom: 4vw;
}

.top_title {
    display: block;
    margin-top: 1vw;
    margin-bottom: 0;
    font-size: 8vw;
    width: fit-content;
}

a.menulink {
    color: aliceblue;
    text-decoration: none;
}

a.menulink:hover {
    text-decoration: underline;
    text-decoration-thickness: auto;
}

.news {  
    position: relative;
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    "news_title news_title news_contents news_contents news_contents .";
    grid-area: news;
    background-color: rgb(240, 248, 255);
}

.news_title { 
    grid-area: news_title; 
    z-index: 1;
}

.news_header {
    color: aliceblue;
    font-size: 8vw;
    background-color: rgb(233, 84, 5);
    width: fit-content;
    border-radius: 0 3vw 3vw 0;
    padding-left: 10vw;
    padding-right: 10vw;
    margin-top: 10vw;
    margin-bottom: 10vw;
}

.news_contents { 
    grid-area: news_contents; 
}

.cms_contents {
    color: black;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 2vw;
    margin-top: 13vw;
    margin-bottom: 10vw;
}

.ourmission {  
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". . . om_text om_text .";
    grid-area: ourmission;
    background-color: rgb(0, 152, 216);
}

.om_text { 
    grid-area: om_text; 
    padding-top: 12vw;
    padding-bottom: 12vw;
}

.title {
    font-size: 5vw;
    margin-top: 0;
    margin-bottom: 3vw;
}

.subtitle {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 3vw;
    margin-top: 0;
    margin-bottom: 2vw;
}

.sentence {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-weight: 500;
    font-size: 1.5vw;
    margin-top: 0;
    margin-bottom: 2vw;
}

.moreinfo {
    color: rgb(0, 152, 216);
    background-color: aliceblue;
    width: fit-content;
    font-family: noto-sans;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 2vw;
    border-radius: 1vw;
    padding-top: 0.5vw;
    padding-bottom: 0.5vw;
    padding-left: 2vw;
    padding-right: 2vw;
}

a.moreinfo {
    text-decoration: none;
}

.communication {  
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". comm_text . comm_img comm_img .";
    grid-area: communication;
    background-color: rgb(111, 185, 44);
}

.comm_text { 
    grid-area: comm_text; 
    padding-top: 12vw;
    padding-bottom: 12vw;
    z-index: 1;
}

.comm_img { 
    position: relative;
    grid-area: comm_img;
    z-index: 1; 
}

.swiper {
    width: 42vw;
    height: 42vw;
    margin-top: 14vw;
}

img.carousel {
    width: 100%;
    height: auto;
}

.swiper-pagination-bullet {
  width: 8px !important;
  height: 8px !important;
  margin: 0 0 0 10px !important;
  background: aliceblue !important;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

.swiper-button-prev,
.swiper-button-next {
  width: 1vw; /* ボタンの幅 */
  height: 2vw; /* ボタンの高さ */
  background-size: 28px 46px; /* 表示したいサイズ */
  transform: translateY(-50%);
  margin-top: 0;
}

/* 次ページボタンのスタイル */
.swiper-button-next {
background-image: url('https://kiomiru.co.jp/blog/wp-content/uploads/2021/09/img_arrow_black_01.png');
}

/* 前ページボタンのスタイル */
.swiper-button-prev {
  background-image: url('https://kiomiru.co.jp/blog/wp-content/uploads/2021/09/img_arrow_black_01.png');
  transform: translateY(-50%) scale(-1, 1); /* 左右反転 */
}

.swiper-button-prev:after,
.swiper-button-next:after {
 display: none;
}


.wellbeing {  
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    grid-auto-rows: 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". well_img well_img . well_text .";
    grid-area: wellbeing;
    background-color: rgb(235, 190, 0);
}

.well_img { 
    position: relative;
    grid-area: well_img; 
    z-index: 1;
}

.well_text { 
    position: relative;
    grid-area: well_text; 
    padding-top: 12vw;
    padding-bottom: 12vw;
    padding-left: 2vw;
    z-index: 1;
}

.arts {  
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". arts_text . arts_img arts_img .";
    grid-area: arts;
    background-color: rgb(140, 90, 200);
}

.arts_text { 
    position: relative;
    grid-area: arts_text; 
    padding-top: 12vw;
    padding-bottom: 12vw;
    z-index: 1;
}

.arts_img { 
    grid-area: arts_img; 
}

.contact { 
    grid-area: contact; 
    background-color: aliceblue;
    color: black;
    padding-top: 6vw;
    padding-bottom: 6vw;
}

.contact_title {
    font-size: 5vw;
    text-align: center;
}

form {
    background-color: aliceblue;
    width: 70%;
    margin: auto;
    text-align: left;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}

label {
    display: block;
    margin-top: 2vw;
    font-weight: 600;
    color: black;
}

input, textarea {
    width: 100%; /* box-sizingが適用されるので、paddingやborder込みで100%に収まる */
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1vw;
}

button {
    background-color: rgb(233, 84, 5);
    color: white;
    border: none;
    padding: 10px;
    width: 30%;
    margin-top: 2vw;
    margin-left: 50vw;
    border-radius: 5px;
    font-size: 1.5vw;
    font-weight: 600;
    cursor: pointer;
}

button:hover {
    background-color: rgb(0, 152, 216);
}


.footer { 
    grid-area: footer; 
    padding-top: 5vw;
    padding-bottom: 3vw;
    background-color: gray;
}

.gatewayarch_logoL {
    width: 40vw;
    padding-left: 4vw;
}

.gatewayarch_name {
    font-size: 2.5vw;
    padding-left: 6vw;
    margin-bottom: 0;
}

.address {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 1.5vw;
    border-bottom: 0.2vw solid aliceblue;
    width: fit-content;
    margin-top: 0;
    margin-left: 6vw;
    padding-right: 14vw;
}

a.address {
    text-decoration: none;
    color: aliceblue;
}

a.address:hover {
    color: rgb(233, 84, 5);
}

.footer_title_left {
    display: inline-block;
    font-size: 2vw;
    margin-top: 0;
    margin-bottom: 10px;
    margin-left: 6vw;
}

.footer_title {
    display: inline-block;
    font-size: 2vw;
    margin-top: 0;
    margin-bottom: 10px;
    margin-left: 1.5vw;
}

a.menulink {
    color: aliceblue;
}

.copyrights {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1vw;
    margin-left: 6vw;
    margin-top: 4vw;
    margin-bottom: 0;
}

a.mail {
    font-size: 3vw;
    color: black;
    text-align: center;
    padding-left: 38vw;
    margin: 0;
}

}



@media screen and (max-width:768px) {

    html
{
    background-color: grey;
    color: aliceblue;
    font-family: "agency-fb", sans-serif;
    font-weight: 900;
    font-style: normal;
    font-weight: 400;
    font-style: normal;
    scroll-behavior: smooth;
    margin: 0;
    padding: 0;
    font-size: 16px;
}

.bg_img1 {
    position: absolute;
    width: 120vw;
    top: 0;
    left: 30vw;
}

.bg_img2 {
    position: absolute;
    width: 45vw;
    top: 50vw;
    left: -28vw;
    transform: rotate(170deg);
}

.bg_img3 {
    position: absolute;
    width: 70vw;
    top: 280vw;
    left: -15vw;
    /* transform: rotate(20deg); */
}

.bg_img4 {
    position: absolute;
    width: 85vw;
    top: 510vw;
    left: 40vw;
    /* transform: rotate(-20deg); */
}

.bg_img5 {
    position: absolute;
    width: 75vw;
    top: 710vw;
    left: -48vw;
    /* transform: rotate(220deg); */
}

/* .bg_img6 {
    width: 60vw;
    left: 55vw;
    transform: rotate(-20deg);
} */

.container {  
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 3fr 0.5fr 0.5fr 3fr 1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
        "header header header header header header"
        "top top top top top top"
        "news news news news news news"
        "ourmission ourmission ourmission ourmission ourmission ourmission"
        "communication communication communication communication communication communication"
        "wellbeing wellbeing wellbeing wellbeing wellbeing wellbeing"
        "arts arts arts arts arts arts"
        "contact contact contact contact contact contact"
        "footer footer footer footer footer footer";
}

.header { 
    grid-area: header; 
    position: fixed;
    height: 65px;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: rgba(233, 84, 5, 0);
}

.toplogo {
    position: fixed;
    top: 2vw;
    left: 2vw;
    width: 35%;
}

.top {  
    position: relative;
    display: grid;
    grid-template-columns: 0.1fr auto 0.1fr;
    grid-template-rows: auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". toptag .";
    grid-area: top;
    background-color: rgb(233, 84, 5);
}

.toptag {
    position: relative; 
    grid-area: toptag; 
    padding-top: 60vw;
    padding-bottom: 10vw;
    z-index: 10;
}

.concept {
    padding-left: 1.5vw;
    padding-right: 1.5vw;
    margin-top: 0;
    margin-bottom: 2vw;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 7vw;
    text-align: left;
    color: rgb(233, 84, 5);
    background-color: aliceblue;
    width: fit-content;
}

.concept2 {
    margin-bottom: 4vw;
}

.top_title {
    display: block;
    margin-top: 1vw;
    margin-bottom: 0;
    font-size: 12vw;
    width: fit-content;
}

a.menulink {
    color: aliceblue;
    text-decoration: none;
}

a.menulink:hover {
    text-decoration: underline;
    text-decoration-thickness: auto;
}

.news {  
    position: relative;
    display: grid;
    grid-template-columns: 0.1fr auto 0.1fr;
    grid-template-rows: auto auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    "news_title news_title ."
    ". news_contents .";
    grid-area: news;
    background-color: rgb(240, 248, 255);
}

.news_title { 
    grid-area: news_title; 
    z-index: 1;
}

.news_header {
    color: aliceblue;
    font-size: 8vw;
    background-color: rgb(233, 84, 5);
    width: fit-content;
    border-radius: 0 3vw 3vw 0;
    padding-left: 2.5vw;
    padding-right: 10vw;
    margin-top: 5vw;
    margin-bottom: 10vw;
}

.news_contents { 
    grid-area: news_contents; 
}

.cms_contents {
    color: black;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    text-align: center;
    font-size: 6vw;
    margin-top: 0;
    margin-bottom: 15vw;
}

.ourmission {  
    display: grid;
    grid-template-columns: 0.5fr 3fr 0.5fr;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". om_text .";
    grid-area: ourmission;
    background-color: rgb(0, 152, 216);
}

.om_text { 
    grid-area: om_text; 
    padding-top: 12vw;
    padding-bottom: 36vw;
    z-index: 1;
}

.title {
    font-size: 9vw;
    text-align: center;
    margin-top: 0;
    margin-bottom: 3vw;
}

.subtitle {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 5vw;
    text-align: center;
    margin-top: 0;
    margin-bottom: 2vw;
}

.sentence {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 3.5vw;
    margin-top: 0;
    margin-bottom: 4vw;
}

.moreinfo {
    color: rgb(0, 152, 216);
    background-color: aliceblue;
    width: fit-content;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 3vw;
    border-radius: 1vw;
    padding-top: 1.5vw;
    padding-bottom: 1.5vw;
    padding-left: 25vw;
    padding-right: 25vw;
}

a.moreinfo {
    text-decoration: none;
}

.communication {  
    display: grid;
    grid-template-columns: 0.5fr 3fr 0.5fr;
    grid-template-rows: auto auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". comm_text ."
    ". comm_img .";
    grid-area: communication;
    background-color: rgb(111, 185, 44);
    padding-bottom: 12vw;
}

.comm_text { 
    grid-area: comm_text; 
    padding-top: 12vw;
    z-index: 1;
}

.comm_img { 
    position: relative;
    grid-area: comm_img;
    z-index: 1; 
}

.swiper {
    width: 70vw;
    height: auto;
}

img.carousel {
    width: 100%;
    height: auto;
}

.swiper-pagination-bullet {
  width: 6px !important;
  height: 6px !important;
  margin: 0 0 0 10px;
  background: aliceblue !important;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}

.swiper-button-prev,
.swiper-button-next {
  width: 12px; 
  height: 20px;
  background-size: 4vw; 
  background-repeat: no-repeat;
  margin-top: 0;  
}

/* .swiper-button-next {
    background-image: url('https://kiomiru.co.jp/blog/wp-content/uploads/2021/09/img_arrow_black_01.png');
    transform: translateX(4vw);
}

.swiper-button-prev {
  background-image: url('https://kiomiru.co.jp/blog/wp-content/uploads/2021/09/img_arrow_black_01.png');
  transform: translateX(-4vw) scale(-1, 1);
} */

.swiper-button-prev:after,
.swiper-button-next:after {
 display: none;
}


.wellbeing {  
    display: grid;
    grid-template-columns: 0.5fr 3fr 0.5fr;
    grid-template-rows: auto auto;
    grid-auto-rows: 1fr;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". well_text ."
    ". well_img .";
    grid-area: wellbeing;
    background-color: rgb(235, 190, 0);
    padding-bottom: 12vw;
}

.well_img { 
    position: relative;
    grid-area: well_img; 
    z-index: 1;
}

.well_text { 
    position: relative;
    grid-area: well_text; 
    padding-top: 12vw;
    z-index: 1;
}

.arts {  
    display: grid;
    grid-template-columns: 0.5fr 3fr 0.5fr;
    grid-template-rows: auto auto;
    gap: 0px 0px;
    grid-auto-flow: row;
    grid-template-areas:
    ". arts_text ."
    ". arts_img .";
    grid-area: arts;
    background-color: rgb(140, 90, 200);
    padding-bottom: 12vw;
}

.arts_text { 
    position: relative;
    grid-area: arts_text; 
    padding-top: 12vw;
    z-index: 1;
}

.arts_img { 
    grid-area: arts_img; 
}

.contact { 
    grid-area: contact; 
    background-color: aliceblue;
    color: black;
    padding-top: 6vw;
    padding-bottom: 15vw;
}

.contact_title {
    font-size: 9vw;
    text-align: center;
}

form {
    background-color: aliceblue;
    width: 70%;
    margin: 0 auto;
    text-align: left;
    z-index: 1;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
}

label {
    display: block;
    margin-top: 2vw;
    font-weight: 600;
    color: black;
}

input, textarea {
    width: 100%; /* box-sizingが適用されるので、paddingやborder込みで100%に収まる */
    padding: 10px;
    margin-top: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 3.5vw;
    z-index: 1;
}

button {
    background-color: rgb(233, 84, 5);
    color: white;
    border: none;
    padding: 10px;
    width: 100%;
    text-align: center;
    margin-top: 5vw;
    border-radius: 5px;
    font-size: 3vw;
    font-weight: 600;
    cursor: pointer;
    z-index: 1;
}

button:hover {
    background-color: rgb(0, 152, 216);
}


.footer { 
    grid-area: footer; 
    padding-top: 5vw;
    padding-bottom: 3vw;
    background-color: gray;
    z-index: 1;
}

.gatewayarch_logoL {
    width: 40vw;
    padding-left: 4vw;
    z-index: 1;
}

.gatewayarch_name {
    font-size: 4vw;
    padding-left: 6vw;
    margin-bottom: 0.5vw;
    z-index: 1;
}

.address {
    display: block;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-size: 2.8vw;
    border-bottom: 0.2vw solid aliceblue;
    width: fit-content;
    margin-top: 0;
    margin-left: 6vw;
    padding-right: 30vw;
    z-index: 1;
}

a.address {
    text-decoration: none;
    color: aliceblue;
}

a.address:hover {
    color: rgb(233, 84, 5);
}

.footer_title_left {
    display: inline-block;
    font-size: 4vw;
    margin-top: 1vw;
    margin-bottom: 10px;
    margin-left: 6vw;
    z-index: 1;
}

.footer_title {
    display: inline-block;
    font-size: 4vw;
    margin-top: 1vw;
    margin-bottom: 10px;
    margin-left: 1.5vw;
    z-index: 1;
}

.copyrights {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 2vw;
    margin-left: 6vw;
    margin-top: 4vw;
    margin-bottom: 3vw;
    z-index: 1;
}

a.mail {
    font-size: 4vw;
    color: black;
    text-align: center;
    padding-left: 33vw;
    margin: 0;
}

}