body {
    color: #707070;
    font-family: 'Noto Sans JP', sans-serif;
    background: #f4f4f4;
    font-size: 16px;
    font-weight: 500;
    /*font-family: "Hiragino Mincho ProN", serif;*/
}

.sp {
    display: none;
}

.logo_sp {
    display: none;
}

#humberger {
    display: none;
}

#header {
    max-width: 1100px;
    margin: 0 auto;
}

.main_content {
    max-width: 1420px;
    margin: 0 auto;
    background: #fff;
}

#header header {
    display: flex;
    padding: 15px 0 15px 0;
}

#header header nav {
    margin: 18px 10px 10px auto;
}

#header header nav p {
    display: none;
}

#header header nav li {
    display: inline-block;
    font-weight: 700;
    font-size: 16px;
    margin: 0px 57px 5px 57px;
}

#header header nav li span {
    display: block;
    text-align: center;
    color: #2b3a6c;
    font-family: "Noto Serif JP", serif;
    padding-top: 10px;
}

#header h1 img {
    margin-left: 10px;
}

#header h1 img {
    width: 200px;
    height: auto;
}

main {
    background: #fff;
    padding-bottom: 200px;
}

.main_view {
    background-image: url('../img/top_view.png');
    background-size: cover;
    background-position: center;
    padding: 160px 0 320px 0;
    font-family: "Noto Serif JP", serif;
}

.main_view .catch {
    background: rgba(43,58,108, 0.8);
    padding: 60px 40px;
    color: #fff;
    max-width: 960px;
    font-size: 32px;
    margin:0 auto;
}

.main_view .catch h2 {
    text-align: center;
    font-size: 40px;
}

.main_view .catch strong {
    font-size: 40px;
}

.main_view .catch .line {
    text-align: center;
    padding: 50px;
    margin: 30px 60px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    display: block;
}

.main_view .catch .line img {
    width: 420px;
}


/* box01------------------------------------------- */

.box01 {
    min-height: 500px;
    position: relative;
    padding: 80px 120px 80px 50px;
    border-radius: 10px;
    border: 2px solid #ccc;
    margin: 100px 0;
    box-shadow: 0px 8px 16px -2px rgba(10, 10, 10, 0.1), 0px 0px 0px 1px rgba(10, 10, 10, 0.02);
    line-height: 200%;
    font-size: 20px;
}

.box01 h2 {
    font-family: "Noto Serif JP", serif;
    font-size: 40px;
    margin: 0 120px 75px 0;
    line-height: 160%;
}

.box01 strong {
    color: #2b3a6c;
    font-size: 21px;
}

.box01 .qr {
    position: absolute;
    right: 50px;
    top: 160px;
}

.box01 .bt {
    position: absolute;
    right: 280px;
    z-index: 99;
    top: 20px;
}

.box01 .bt img {
    width: 240px;
}

.box01 .qr img {
    width: 300px;
}


/* box02------------------------------------------- */

.box02 {
    margin: 150px 100px;
}

.midashi01 {
    text-align: center;
    font-size: 32px;
    font-weight: 500;
    margin: 0 0 70px 0;
}

.midashi01 span {
    display: block;
    text-align: center;
    font-size: 16px;
    color: #2b3a6c;
    margin-top: 10px;
}

.box02 ol {
    display: flex;
    justify-content: center;
}

.box02 ol li {
    width: 28.5%;
}

.box02 ol li .circle {
    width: 300px;
    height: 300px;
    border: solid 3px #2b3a6c;
    border-radius: 50%;
    text-align: center;
    margin: 0 auto;
    font-size: 22px;
    color: #2b3a6c;
    line-height: 180%;
    display: table;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    position: relative;
}

.box02 ol li .circle span {
    display: table-cell;
    vertical-align: middle;
}

.box02 ol li .n01:before {
    content: "01";
    position: absolute;
    right: 5px;
    top: 25px;
    font-size: 45px;
    display: inline-block;
    background: #ffffff;
    padding: 15px;
}

.box02 ol li .n02:before {
    content: "02";
    position: absolute;
    right: 5px;
    top: 25px;
    font-size: 45px;
    display: inline-block;
    background: #ffffff;
    padding: 15px;
}

.box02 ol li .n03:before {
    content: "03";
    position: absolute;
    right: 5px;
    top: 25px;
    font-size: 45px;
    display: inline-block;
    background: #ffffff;
    padding: 15px;
}

.box02 ul {
    margin: 80px 110px;
    max-width: 1450px;
}

.box02 ul li {
    padding: 0 0 0 25px;
    margin: 30px 0;
    background-image: url('../img/ico_list.svg');
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: 3px 13px;
    color: #333333;
    line-height: 150%;
    font-weight: 700;
}


/* box03------------------------------------------- */

.box03 {
    margin: 200px auto 30px auto;
    max-width: 1600px;
}

.box03 h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 28px;
    text-align: right;
    line-height: 200%;
    background-image: url('../img/box03_bg.png');
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: left bottom;
    font-weight: 560;
    padding-bottom: 600px;
}

.box03 .txt {
    position: relative;
    background: #bfe3e4;
    color: #155881;
    line-height: 200%;
    font-weight: 500;
    padding: 30px 80px 80px 80px;
}

.box03 .txt p {
    max-width: 1200px;
}

.box03 .txt .more {
    position: absolute;
    right: -30px;
    top: 50px;
}

.box03 .txt .more a {
    display: block;
    background: #155881;
    width: 310px;
    padding: 20px;
    color: #fff;
    font-weight: 600;
}


/* footer------------------------------------------- */

#footer {
    padding: 50px 20px;
    text-align: center;
}

#footer h3 {
    margin-bottom: 50px;
}

#footer h3 img {
    width: 190px;
}

#footer nav ul li {
    display: inline-block;
    margin: 10px 30px;
}

#footer nav ul li a:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f0da";
    margin-right: 5px;
    color: #fff;
    font-weight: 900;
}

#footer nav ul li.on a:before {
    font-family: 'Font Awesome 5 Free';
    content: "\f0da";
    margin-right: 5px;
    color: #2b3a6c;
    font-weight: 900;
}

#footer #copyright {
    margin-top: 80px;
    font-size: 11px;
}


/* footer------------------------------------------- */

@media screen and (max-width: 1780px) {
    .box01 {
        margin: 100px 20px;
    }
    .box01 .txt {
        padding-right: 400px;
    }
    .box03 .txt .more {
        right: 30px;
    }
    .box03 .txt {
        padding: 30px 380px 80px 80px;
    }
}

@media screen and (max-width: 1660px) {
    .box01 h2 {
        margin: 0 450px 75px 0;
    }
    .box02 ol li .circle {
        width: 300px;
        height: 300px;
        font-size: 22px;
    }
    .box03 h3 {
        padding-bottom: 600px;
    }
}

@media screen and (max-width: 1300px) {
    .box02 {
        margin: 80px 0px;
    }
    .main_view {
        padding: 200px 0 200px 0;
    }
    .main_view .catch h2 {
        font-size: 40px;
    }
    .main_view .catch {
        font-size: 30px;
        text-align: center;
    }
    .main_view .catch strong {
        font-size: 40px;
    }
}

@media screen and (max-width: 1200px) {
    body {
        /*　font-size: 17px;　*/
    }
    #header header nav li {
        margin: 0px 40px 5px 40px
    }
    .box01 {
        margin: 30px;
        padding: 0;
        font-size: 20px;
    }
    .box03 h3 {
        padding-bottom: 500px;
    }
    .box01 h2 {
        margin: 50px 0;
        text-align: center;
        font-size: 40px;
    }
    .bt_area {
        display: flex;
        justify-content: center;
    }
    .box01 {
        position: static;
        border: 0;
        box-shadow: none;
    }
    .box01 .qr {
        padding: 20px;
    }
    .box01 .bt {
        padding: 20px;
    }
    .box01 .bt img {
        width: 190px;
    }
    .box01 .qr img {
        width: 250px;
    }
    .box01 .bt,
    .box01 .qr {
        position: static;
    }
    .box01 .txt {
        padding: 0;
    }
    .box01 .txt strong {
        display: block;
        text-align: center;
        margin: 60px 0 0 0;
    }
    .box02 ol li {
        width: 33%;
    }
    .box03 h3 {
        font-size: 30px;
    }
    .box02 ul li {
        background-position: 3px 7px;
    }
}


/* sp */

@media screen and (max-width: 1000px) {
    #header {
        border-bottom: 1px solid #2b3a6c;
    }
    .logo_pc {
        display: none;
    }
    .logo_sp {
        display: inline;
    }
    body {
        margin-top: 58px;
        background: #fff;
    }
    .sp {
        display: block;
    }
    main {
        padding-bottom: 50px;
    }
    .main_view .catch h2 {
        font-size: 30px;
        line-height: 160%;
    }
    .main_view .catch {
        font-size: 20px;
        line-height: 160%;
    }
    .main_view .catch strong {
        font-size: 30px;
    }
    .main_view .catch .line img {
        width: 100%;
        max-width: 400px;
    }
    #header header {
        display: block;
        padding: 12px 0 16px 0;
    }
    #header header nav {
        display: none;
    }
    #header {
        z-index: 1000;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: #ffffff;
    }
    #header header nav p {
        display: block;
        text-align: center;
        margin-top: 70px;
    }
    #header header nav p img {
        width: 200px;
    }
    .box01 {
        font-size: 16px;
    }
    .box01 h2 {
        font-size: 30px;
        font-weight: 700;
    }
    .box01 strong {
        font-size: 20px;
    }
    .midashi01 {
        font-size: 30px;
        margin: 0 0 40px 0;
        font-weight: 700;
    }
    .box02 ol {
        display: block;
        margin: 0 20px 30px 20px;
    }
    .box02 ol li {
        width: auto;
        margin-bottom: 20px;
    }
    .box02 ol li .circle {
        width: auto;
        height: auto;
        border: 0;
        display: block;
        border-radius: 10px;
        border: 1px solid #ccc;
        box-shadow: 0px 8px 16px -2px rgb(10 10 10 / 10%), 0px 0px 0px 1px rgb(10 10 10 / 2%);
        padding: 20px 20px 20px 120px;
    }
    .box02 ol li .circle span {
        display: block;
    }
    .box02 ol li .n01:before,
    .box02 ol li .n02:before,
    .box02 ol li .n03:before {
        right: auto;
        left: 5px;
        font-size: 60px;
    }
    .box02 ol li .n01:before,
    .box02 ol li .n03:before {
        top: 39px;
    }
    .box02 ol li .n02:before {
        top: 22px;
    }
    .box02 ul {
        margin: 30px;
    }
    .box02 ul li {
        font-weight: 500;
    }
    /* box03 */
    .box03 {
        margin: 0;
        padding: 0 25px 25px 0;
        background-image: url('../img/box3_sp_bg.jpg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: left bottom;
    }
    .box03 h3 {
        padding: 40px 10px 30px 0;
        background-image: none;
        font-size: 20px;
        color: #000;
    }
    .box03 .txt {
        padding: 20px;
        background: none;
    }
    .box03 .txt .more {
        position: static;
        margin-top: 20px;
    }
    .box03 .txt .more a {
        padding: 10px 10px 10px 30px;
        margin: 0 0 0 auto;
        font-family: "Noto Serif JP", serif;
        width: 280px;
    }
    .box03 .sp_bg {
        background: rgba(255, 255, 255, 0.6);
        margin: 0 30px 30px 0;
    }
    #footer {
        padding: 10px;
    }
    #footer nav ul li a:before {
        color: #ccc;
    }
    footer div {
        display: flex;
        justify-content: center;
    }
    #footer h3 {
        margin: 50px 10px;
    }
    #footer h3 img {
        width: 120px;
    }
    #footer nav ul li {
        display: block;
        text-align: left;
        padding: 10px;
        margin: 10px;
    }
    #copyright {
        width: 100%;
    }
    /* phonemenu */
    #humberger {
        top: 5px;
        right: 5px;
        z-index: 600;
        width: 50px;
        padding: 17px 10px 10px;
        cursor: pointer;
        display: block;
    }
    #page {
        padding: 0 0 80px 0;
        position: relative;
        z-index: 2;
        left: 0;
        -webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        /* easeInOutExpo */
        -webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        /* easeInOutExpo */
    }
    #drawernav {
        position: fixed;
        top: 0;
        left: -240px;
        width: 240px;
        height: 100%;
        background: #2b3a6c;
        color: #fff;
        z-index: 500;
        padding-top: 40px;
        -webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
        /* easeInOutExpo */
        -webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
        /* easeInOutExpo */
    }
    #drawernav ul {
        list-style: none;
        padding: 0;
    }
    #drawernav ul li {
        font-size: 15px;
    }
    #drawernav ul li a {
        color: #FFF;
        display: block;
        padding: 25px;
        text-decoration: none;
        /*	border-bottom:1px solid #FFF;*/
    }
    #drawernav ul li a:hover {
        color: #fff;
        background: #222;
    }
    .icon-bar {
        height: 2px;
        background: #2b3a6c;
        display: block;
        margin-bottom: 6px;
        /*
  -webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
  -moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
  -o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
  transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
  -webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  */
    }
    .fixed-content {
        right: inherit;
        width: 100%;
        -webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 0.5);
        -moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 0.5);
        -o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 0.5);
        transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 0.5);
        /* easeInOutExpo */
        -webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 0.5);
        -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 0.5);
        -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 0.5);
        transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 0.5);
        /* easeInOutExpo */
    }
    #overlay {
        z-index: -1;
        opacity: 0;
        background: #000;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        position: fixed;
        /*
    -webkit-transition: all 100ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
    -moz-transition: all 100ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
    -o-transition: all 100ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
    transition: all 100ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
    -webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
    -moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
    -o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
    transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
    */
    }
    .drawer-opened #page {
        left: 240px;
        box-shadow: 1px 0 2px #000;
        -webkit-box-shadow: 1px 0 2px #000;
    }
    .drawer-opened .fixed-content {
        left: -240px;
    }
    .drawer-opened #drawernav {
        left: 0;
    }
    .drawer-opened #humberger :nth-child(1) {
        transform: translate(0, 8px) rotate(45deg);
        -webkit-transform: translate(0, 8px) rotate(45deg);
    }
    .drawer-opened #humberger :nth-child(2) {
        transform: translate(-20px, 0);
        -webkit-transform: translate(-20px, 0);
        opacity: 0;
    }
    .drawer-opened #humberger :nth-child(3) {
        transform: translate(0, -8px) rotate(-45deg);
        -webkit-transform: translate(0, -8px) rotate(-45deg);
    }
    .drawer-opened #overlay {
        z-index: 99;
        opacity: 0.3;
        right: -240px;
        position: fixed;
    }
    #humberger {
        position: absolute;
        padding: 14px 10px 10px 12px;
    }
    .drawer-opened #humberger {
        position: fixed;
    }
    .header_fixed {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 999;
    }
    .drawer-opened #drawernav {
        display: block;
    }
    #header header nav {
        margin: 58px 0 0 0;
    }
    #header header nav li {
        display: block;
        margin: 0;
        font-weight: 500;
        font-size: 14px;
    }
    #header header nav li span {
        display: none;
    }
}

@media screen and (max-width: 700px) {
    body {
        font-size: 13px;
    }
    #header h1 img {
        width: 160px;
    }
    #header header {
        padding: 12px 0 16px 0;
    }
    .box01 h2 {
        margin: 50px 0 30px 0;
    }
    .box01 {
        margin: 10px;
    }
    .box01 .qr,
    .box01 .bt {
        padding: 0px 10px 0 10px;
    }
    .main_view {
        padding: 150px 0 150px 0;
        background-position: right;
    }
    .main_view .catch {
        padding: 30px;
    }
    .main_view .catch .line {
        margin: 30px 0px;
        padding: 35px;
    }
    .main_view .catch h2 {
        font-size: 20px;
    }
    .main_view .catch strong {
        font-size: 20px;
    }
    .box01 {
        font-size: 14px;
    }
    .box01 h2 {
        font-size: 20px;
    }
    .box01 strong {
        font-size: 15px;
    }
    .box01 .bt img {
        width: 170px
    }
    .box01 .qr img {
        width: 240px;
    }
    .midashi01 {
        font-size: 20px;
    }
    .midashi01 span {
        font-size: 11px;
    }
    .box02 ol li .circle {
        font-size: 16px;
    }
    .box02 ol li .n01:before,
    .box02 ol li .n03:before {
        top: 30px;
    }
    .box02 ol li .n02:before {
        top: 17px;
    }
    .box03 {
        padding: 0 15px 15px 0;
    }
    .box03 .sp_bg {
        margin: 0 10px 10px 0;
    }
    .box03 h3 {
        font-size: 16px;
    }
    .box03 .txt .more {
        margin-right: -30px;
        margin-bottom: -30px;
    }
    .box02 ul {
        margin: 20px;
    }
}

@media screen and (max-width: 470px) {
    .box01 .bt img {
        width: 130px;
    }
    .box01 .qr img {
       width: 210px;
    }
}

.animated.delay-1s {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.animated.delay-2s {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}