@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Noto+Sans+JP:wght@400;500;700&display=swap');

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
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;
}

/* -----------------------------------
  Base
-----------------------------------*/
body {
    background-color: #fff;
    color: #495056;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
  }

/* -----------------------------------
  Layout
-----------------------------------*/
/*--- main ---*/
.main{
    position: relative;
}

/*--- footer ---*/
.l-footer{
    width: 90%;
    max-width: 798px;
    margin: 90px auto 0;
    border-top: 1px solid #D1D4DA;
    padding-top: 64px;
    padding-bottom: 64px;
    text-align: center;
}

.l-footer_logo img{
    display: block;
    margin: auto;
}

@media screen and (max-width: 576px) {
    .l-footer{
        margin: 60px auto 0;
        padding-top: 44px;
        padding-bottom: 44px;
    }
}

/* -----------------------------------
  Utility
-----------------------------------*/
@media screen and (min-width: 769px) {
    .u-pcnone {
      display: none !important;
    }
  }

  @media screen and (max-width: 768px) and (min-width: 577px) {
    .u-tabnone {
      display: none !important;
    }
  }

  @media screen and (max-width: 576px) {
    .u-spnone {
      display: none !important;
    }
  }

/* -----------------------------------
  Page Style
-----------------------------------*/
/*--- introduction　---*/
.p-top_intro{
    width: 100%;
    background: linear-gradient(180deg, #4BDFFF 0%, #4B93FF 100%);
}

.p-top_intro_inner{
    text-align: center;
    padding: 108px 5% 0;
    position: relative;
}

.p-top_intro_img{
    margin-top: 43px;
    margin-bottom: 57px;
}

.p-top_intro_desc{
    color: #fff;
    margin-bottom: 20px;
}

.p-top_intro::after{
    content: "";
    display: block;
    width: 100%;
    height: 14vw;
    max-height: 250px;
    aspect-ratio: 64 / 9;
    background: url(../img/about_bg.png) center top no-repeat;
    background-size: cover;
}
@media screen and (min-width: 2117px) {
    .p-top_intro::after{
        background-repeat: repeat-x;
        background-size: contain;
    }
}

@media screen and (max-width: 576px) {
    .p-top_intro_inner{
        padding-top: 68px;
    }

    .p-top_intro_logo img{
        width: 30%;
    }

    .p-top_intro_img {
        margin-top: 27px;
        margin-bottom: 38px;
    }

    .p-top_intro_img img{
        width: 10%;
    }

    .p-top_intro_desc{
        font-size: 13px;
    }
}


/*--- about ---*/
.p-top_about{
    position: relative;
    background-color: #fff;
    padding: 25px 5% 0;
    margin-top: -1px;
}

.p-top_about_title{
    font-family: 'Montserrat', sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 31px;
    line-height: 1;
    text-align: center;
    letter-spacing: 0.5em;
    position:relative;
    text-indent: 0.4em;
    padding-bottom: 25px;
}

.p-top_about_title::after{
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background-color: #4C96FF;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.p-top_about_dlist{
    max-width: 553px;
    margin: 90px auto ;
}

.p-top_about_ditem{
    display: flex;
    font-size: 16px;
    margin-bottom: 13px;
}

.p-top_about_ditem dt{
    flex-basis: 138px;
    flex-shrink: 0;
    margin-right: 20px;
}

@media screen and (max-width: 768px){
    .p-top_about {
        padding-top: 45px;
    }
}

@media screen and (max-width: 576px) {
    .p-top_about {
        padding-top: 35px;
    }

    .p-top_about_title{
        font-size: 28px;
    }

    .p-top_about_title::after{
        width: 32px;
    }

    .p-top_about_dlist{
        max-width: 320px;
        margin: 60px auto ;
    }

    .p-top_about_ditem{
        font-size: 14px;
    }

    .p-top_about_ditem dt{
        flex-basis: 25%;
        margin-right: 10px;
    }
}


