:root {
  color-scheme: light;
}
body {
    font-family: "source-han-sans-japanese", sans-serif;
    font-weight: 400;
    font-style: normal;
}
a:hover {
    opacity: .7;
}
.loading {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: #eff8ff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: all 0.3s linear;
    z-index: 999;
}

.loading.loaded {
  opacity: 0;
  visibility: hidden;
}

.loading-text img {
    width: 100%;
}

.spinner {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 3px solid #000;
  border-left-color:#eff8ff;
  /* アニメーションを1秒かけて実行 */
  animation: spinner-rotation 1s linear infinite;
}

/* アニメーションの設定 */
@keyframes spinner-rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}


@media screen and (min-width:481px) {.pc_none {display: none}}
@media screen and (max-width:480px) {.sp_none {display: none}}
.fixed_header {
    position: fixed;
    top: 0;
    left: 0;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 100%;
    background: #fff;
    box-shadow: 0 0 6px gray;
    z-index: 99;
}
.fixed_header_left {
    width: 25%;
    margin: 1.3% 0 0 1%;
}
.fixed_header_left img {
    width: 100%;
}
.fixed_header_right {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 40%;
    margin-top: .5%;
    margin-right: 1%;
}
.fixed_header_right_left {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 45%;
}
.fixed_header_right_left img {
    width: 20%;
    height: auto;
}
.fixed_header_right_left a {
    display: block;
    width: 79%;
    font-family: "fot-udkakugoc80-pro", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.93vw;
    line-height: 1;
}
.fixed_header_right_left a span {
    display: block;
    margin-top: .3vw;
    font-family: "source-han-sans-japanese", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 0.84vw;
}
.fixed_header_right_right {
    width: 53%;
}
.fixed_header_right_right a {
    display: block;
    padding: .3vw 0;
    font-size: 1.57vw;
    font-weight: 700;
    text-align: center;
    color: #fff;
    background: #ffa143;
    border-radius: .5vw;
}
.fixed_header_right_right a img {
    display: inline-block;
    width: 11%;
    margin-right: .5vw;
    vertical-align: middle;
}
@media screen and (max-width:480px) {
    
.fixed_header_left {
    width: 100%;
    margin: 4vw auto;
}
.fixed_header_left img {
    display: block;
    width: 70%;
    margin: 0 0 0 5vw;
}
.fixed_header_right {
    display: none;
}
    .sp_cta {
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 99;
        display:-webkit-box;
        display:-webkit-flex;
        display:-ms-flexbox;
        display:flex;
        -webkit-flex-wrap:wrap;
        -ms-flex-wrap:wrap;
        flex-wrap:wrap;
        justify-content:space-between;
        width: 100%;
    }
    .sp_cta_left {
        width: 50%;
        background: #11a562;
    }
    .sp_cta_left a {
        display: block;
        width: 100%;
        padding: 4vw 0;
        font-family: "fot-udkakugoc80-pro", sans-serif;
        font-weight: 700;
        font-style: normal;
        text-align: center;
        color: #fff;
        font-size: 5.5vw;
        line-height: 1;
}
    .sp_cta_left a span {
        display: block;
        margin-top: .3vw;
        font-family: "source-han-sans-japanese", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 3vw;
}
    .sp_cta_right {
        width: 50%;
        background: #ffa143;
    }
    .sp_cta_right a {
        display: block;
        width: 100%;
        height: 100%;
    padding: 4vw 0;
    font-size: 5.2vw;
    font-weight: 700;
    text-align: center;
    color: #fff;
}
    .sp_cta_right a img {
    display: inline-block;
    width: 11%;
    margin-right: .5vw;
    vertical-align: middle;
}
}
header {
    padding: 8vw 0 3vw;
    background-image: url("../images/header_bg.jpg");
    background-size: 100%;
    background-repeat: no-repeat;
}
.header_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 80%;
    margin: 0 auto;
}
.header_box_left {
    width: 60%;
	text-align: center;
}
.header_box_left h2 {
	display: inline-block;
    margin-top: 2vw;
    margin-bottom: 1vw;
    font-size: 2.35vw;
    text-align: left;
    color: #fff;
	line-height: 140%;
}
.header_box_left h3 {
	display: inline-block;
    margin-top: 1vw;
    margin-bottom: 1vw;
    font-size: 2.35vw;
    text-align: left;
    color: #fff;
	line-height: 140%;
}
.header_box_left p {
    font-size: 1.46vw;
}
.header_box_left_img01 {
    width: 100%;
}
.header_box_right {
    width: 38%;
}
.header_box_right_img01 {
    width: 100%;
}
.header_box_right_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 100%;
    margin-top: 1vw;
}
.header_box_right_box_block {
    width: 33.3333%;
    margin: 0;
    padding: 0;
}
.header_box_right_box_block img {
    width: 100%;
}
.fixed_header_nav {
	display: block;
	width: 100%;
}
.fixed_header_nav ul {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
}
.fixed_header_nav ul li {
	width: 20%;
}
.fixed_header_nav ul li a {
	position: relative;
	display: block;
	padding: 1vw 0;
	font-size: 1.4vw;
	font-weight: 600;
	color: #fff;
	text-align: center;
	background: #065EAA;
}
.fixed_header_nav ul li a::after {
	content: '|';
	position: absolute;
	right: 0;
	top:1vw;
}
.fixed_header_nav ul li:nth-child(5) a::after {
	display: none;
}
#menu-btn-check {
    display: none;
}
.hamburger-menu {
	width: 100%;
}
@media screen and (max-width:480px) {
    header {
        padding-top: 10vw;
        padding-bottom: 10vw;
        background-size: auto 100%;
}
    .header_sp01 {
        display: block;
        width: 100%;
    }
    .header_sp01_p01 {
        display:block;
        width: 100px;
        margin: 0 auto;
        padding: 24px 0;
        font-size: 16px;
        font-weight: 700;
        text-align: center;
        color: #fff;
        background: #b40019;
        border-radius: 100px;
    }
    .header_sp01_p02 {
        margin: 10px 0;
        font-size: 27px;
        font-weight: 700;
        line-height: 120%;
        text-align: center;
    color: #fff;
    }
.header_box {
    width: 100%;
}
.header_box_left {
    width: 100%;
}
.header_box_left h2 {
    margin-bottom: 3px;
    font-size: 17px;
    font-weight: 600;
}
.header_box_left h3 {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 20px;
    text-align: center;
}
.header_box_left p {
    display: block;
    width: 90%;
    margin: 0 auto;
    font-size: 16px;
}
.header_box_left_img02 {
    width: 100%;
}
    
.header_box_right {
    width: 90%;
    margin: 0 auto;
}
.header_box_right_img01 {
    width: 100%;
}
.header_box_right_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 100%;
    margin-top: 1vw;
}
.header_box_right_box_block {
    width: 33.3333%;
    margin: 0;
    padding: 0;
}
.header_box_right_box_block img {
    width: 100%;
}
.menu-btn {
    position: fixed;
    top: 0;
    right: 0;
    display: flex;
    height: 13vw;
    width: 13vw;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #065EAA;
}
.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 {
    display: none;
}
#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-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color:#065EAA;
    transition: all 0.5s;/*アニメーション設定*/
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
	width: 100%!important;
    border-bottom: solid 1px #ffffff;
    list-style: none;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 17px!important;
    box-sizing: border-box;
    color:#ffffff;
	background: none!important;
    text-decoration: none;
    padding: 14px 15px 15px 0;
    position: relative;
}
	.menu-content ul li a::after {
		display: none;
	}
.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: 0;/*メニューを画面内へ*/
}
}
.top_gake {
    position: relative;
    padding: 7vw 0;
}
.top_gake_img01 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 30%;
}
.top_gake_content01 {
    margin-left: 37%;
}
.top_gake_content01 h2 {
    display: inline-block;
    font-size: 2.35vw;
    font-weight: 700;
    border-bottom: 5px solid #f70000;
    line-height: 140%;
}
.top_gake_content01_h2_01 {
    display: block;
    font-size: 1.83vw;
}
.top_gake_content01_h2_02 {
    font-size: 3.13vw;
}
.top_gake_content01 ul {
    margin: 3vw auto 0;
    padding-left: 2em;
    list-style: circle;
    font-size: 1.31vw;
}
.top_gake_content01 ul li {
    margin-bottom: 1vw;
}
.top_gake_content01 a {
    margin-left: 29vw;
    font-size: 1vw;
    text-align: right;
    color:royalblue;
}
@media screen and (max-width:480px) {
   
.top_gake {
    padding: 7vw 0 0;
    background: #fff;   
}
.top_gake_img01 {
    position: inherit;
    width: 40%;
    margin: 10vw 0 0 0;
}
.top_gake_content01 {
    display: block;
    width: 80%;
    margin: 0 auto;
}
.top_gake_content01 h2 {
    font-size: 7vw;
    border-bottom: none;
    line-height: 180%;
    font-feature-settings: "palt";
}
.top_gake_content01_h2_01 {
    font-size: 5.2vw;
    font-weight: 400;
}
.top_gake_content01_h2_02 {
    font-size: 10vw;
}
    .top_gake_content01_h2_03 {
    text-decoration: underline;
    text-decoration-color: #f70000;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
    }
.top_gake_content01 ul {
    margin: 10vw auto 0;
    padding: 0 .5em 0 1.5em;
    list-style: circle;
    font-size: 5.2vw;
}
.top_gake_content01 ul li {
    margin-bottom: 5vw;
}
.top_gake_content01 a {
    margin-left: 29vw;
    font-size: 3vw;
    text-align: right;
    color:royalblue;
} 
}
.top_bansodx {
    position: relative;
    background: #f0f0f0;
    padding: 5vw 0;
}
.top_bansodx_bg {
    position: absolute;
    top: 0;
    width: auto;
    height: 100%;
    z-index: 0;
}
.top_bansodx_title {
    position: relative;
    z-index: 1;
    width: 90%;
    margin: 0 auto;
    text-align: center;
}
.top_bansodx_title h2::before {
    position: absolute;
    top: -2.5vw;
    left: -2.5vw;
    content: '';
    padding: 1.8vw;
    background-image: url("../images/top_bansodx03.png");
    background-size: 100%;
    background-repeat: no-repeat;
}
.top_bansodx_title h2 {
    position: relative;
    display: inline-block;
    margin-bottom: 2vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: left;
    line-height: 140%;
}
.top_bansodx_title p {
    display: inline-block;
    font-size: 1vw;
    text-align: left;
    line-height: 170%;
}
.top_bansodx_content {
    position: relative;
    z-index: 1;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    flex-direction: row-reverse;
    width: 90%;
    margin: 5vw auto 0;
}
.top_bansodx_content_left {
    width: 47%;
    margin-top: 3vw;
}
.top_bansodx_content_left img {
    width: 100%;
}
.top_bansodx_content_left a {
    display: block;
    width: 70%;
    margin: 3vw auto 0;
    padding: 1vw 3vw;
    font-size: 1vw;
    font-weight: 700;
    color: #f70000;
    text-align: center;
    border: 3px solid #f70000;
    border-radius: 100px;
    background: #fff;
}
.top_bansodx_content_left a:hover {
    background: #f70000;
    color: #fff;
}
.top_bansodx_content_right {
    width: 47%;
}
.top_bansodx_content_right img {
    width: 100%;
}
.top_bansodx_content02 {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 80%;
    margin: 5vw auto 0;
}
.top_bansodx_content02_block {
    position: relative;
    z-index: 1;
	display: block;
	width: 48%;
	margin: 0;
	padding: 2vw;
	border-radius: 30px;
	background: #fff;
}
.top_bansodx_content02_block h3 span {
	display: block;
	text-align: center;
}
.top_bansodx_content02_block p {
	margin-top: .3vw;
	font-size: 1.2vw;
	text-align: center;
}
.top_bansodx_content02_block ul {
	width: fit-content;
    margin: 2vw auto;
	list-style: none;
}
.top_bansodx_content02_block ul li {
	margin-bottom: 1.5vw;
	font-size: 1.5vw;
	font-weight: 700;
}
.top_bansodx_content02_block ul li img {
	display: inline;
	vertical-align: middle;
	width: 2.5vw;
	padding-right: .3vw;
}
.top_bansodx_content02_block01 {
	border: 3px solid #011550;
}
.top_bansodx_content02_block02 {
	border: 3px solid #cb021a;
}
.top_bansodx_content02_block01 h3 img {
	width: 100%;
	max-width: 350px;
	margin: 0 auto;
}
.top_bansodx_content02_block a {
	display: block;
	width: 70%;
	margin: 2vw auto 0;
	padding: .3vw 0;
	font-size: 1.2vw;
	font-weight: 700;
	text-align: center;
	background: #808080;
	color: #fff;
	border-radius: 40px;
}
.top_bansodx_content02_block02_div {
	position: absolute;
    top: -3vw;
    right: -3vw;
    padding: 1vw;
    font-size: 1vw;
	font-weight: 700;
	aspect-ratio: 1 / 1;
	color: #fff;
	background: #ffb612;
	border-radius: 50%;
	line-height: 160%;
}
@media screen and (max-width:480px) {
    
.top_bansodx {
    padding: 10vw 0;
}
.top_bansodx_bg {
    display: none;
}
.top_bansodx_title {
    width: 80%;
}
.top_bansodx_title h2::before {
    position: absolute;
    top: -5vw;
    left: -5vw;
    padding: 4vw;
}
.top_bansodx_title h2 {
    display: block;
    font-size: 7vw;
}
.top_bansodx_title p {
    font-size: 5.2vw;
}
.top_bansodx_content {
    width: 80%;
    margin: 5vw auto 0;
}
.top_bansodx_content_left {
    width: 100%;
    margin-top: 3vw;
}
.top_bansodx_content_left img {
    width: 100%;
}
.top_bansodx_content_left a {
    display: block;
    width: 100%;
    margin: 5vw auto 0;
    padding: 3vw 0;
    font-size: 3.7vw;
    font-weight: 700;
    border: 2px solid #f70000;
}
.top_bansodx_content_left a:hover {
    background: #f70000;
    color: #fff;
}
.top_bansodx_content_right {
    display: block;
    width: 70%;
    margin: 0 auto;
}
.top_bansodx_content_right img {
    width: 100%;
}
.top_bansodx_content02 {
    width: 80%;
    margin: 5vw auto 0;
}
.top_bansodx_content02_block {
	width: 100%;
	margin: 0 0 10vw;
	padding: 5vw;
}
.top_bansodx_content02_block h3 span {
	font-size: 4vw;
}
.top_bansodx_content02_block p {
	margin-top: 2vw;
	font-size: 4vw;
	text-align: center;
}
.top_bansodx_content02_block ul {
	width: fit-content;
    margin: 5vw auto;
	list-style: none;
}
.top_bansodx_content02_block ul li {
	margin-bottom: 3vw;
	font-size: 4.5vw;
}
.top_bansodx_content02_block ul li img {
	width: 8vw;
	padding-right: 1vw;
}
.top_bansodx_content02_block01 {
	border: 3px solid #011550;
}
.top_bansodx_content02_block02 {
	border: 3px solid #cb021a;
}
.top_bansodx_content02_block01 h3 img {
	width: 100%;
	max-width: 185px;
	margin: 0 auto;
}
.top_bansodx_content02_block a {
	display: block;
	width: 70%;
	margin: 2vw auto 0;
	padding: 1vw 0;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
	background: #808080;
	color: #fff;
	border-radius: 40px;
}
.top_bansodx_content02_block02_div {
	position: absolute;
    top: -8vw;
    right: -8vw;
    padding: 3vw;
    font-size: 3vw;
	font-weight: 700;
	aspect-ratio: 1 / 1;
	color: #fff;
	background: #ffb612;
	border-radius: 50%;
	line-height: 160%;
}
}
.top_kinou {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 5vw 0;
}
.top_kinou h2::before {
	content: ' ';
	position: absolute;
	top: -1.2vw;
	left: 63vw;
	padding: 1%;
	background-image: url("../images/top_bansodx03.png");
	background-repeat: no-repeat;
	background-size: 100%;
}
.top_kinou h2 {
	position: relative;
    margin-bottom: 5vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.top_kinou h2 span {
    font-size: 3.7vw;
}
.top_kinou_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 60%;
	margin: 0 auto;
}
.top_kinou_box_block {
	width: 45%;
	border: 1px solid #707070;
}
.top_kinou_box_block h3 {
    position: relative;
	padding: .5vw 1vw;
    font-size: 1.31vw;
	color: #fff;
}
.top_kinou_box_block h3::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #87d5e6;
    background: -moz-linear-gradient(90deg, #1f2a66, #0068b7);
    background: -webkit-linear-gradient(90deg, #1f2a66, #0068b7);
    background: linear-gradient(90deg, #1f2a66, #0068b7);
	z-index: -1;
}
.top_kinou_box_block p {
	padding: 1vw;
    font-size: 1.7vw;
	font-weight: 600;
}
.top_kinou_box_block a {
	display: block;
	width: 60%;
	margin: 2vw auto;
	padding: .5vw 0;
    font-size: 1.31vw;
	font-weight: 600;
	text-align: center;
	color: #fff;
	background: #707070;
}

@media screen and (max-width:480px) {
	
.top_kinou h2 {
	display: block;
	width: 90%;
	margin: 0 auto 5vw;
    font-size: 6vw;
}
.top_kinou h2 span {
    font-size: 9vw;
}
.top_kinou_box {
    width: 70%;
	margin: 0 auto;
}
.top_kinou_box_block {
	width: 100%;
	margin-bottom: 5vw;
}
.top_kinou_box_block h3 {
	padding: 1.5vw 3vw;
    font-size: 5vw;
}
.top_kinou_box_block p {
	padding: 3vw;
    font-size: 4vw;
	font-weight: 600;
}
.top_kinou_box_block a {
    font-size: 4vw;
}
}
.top_nayami_bg {
    position: relative;
}
.top_nayami_bg::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #87d5e6;
    background: -moz-linear-gradient(90deg, #1f2a66, #0068b7);
    background: -webkit-linear-gradient(90deg, #1f2a66, #0068b7);
    background: linear-gradient(90deg, #1f2a66, #0068b7);
	z-index: -1;
}
.top_nayami_bg p {
	padding: .5vw 0;
    font-size: 2vw;
	font-weight: 600;
	text-align: center;
	color: #fff;
}
.top_nayami {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 5vw 0;
    background: #eff8ff;
}
.top_nayami h2 {
    margin-bottom: 5vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.top_nayami_red {
	color: #f80000;
}
.top_nayami_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 80%;
    margin: 0 auto;
}
.top_nayami_box_block {
    width: 31%;
}
.top_nayami_box_block img {
    display: block;
    width: 60%;
    margin: 0 auto 1vw;
}
.top_nayami_box_block h3 {
    font-size: 1.31vw;
    font-weight: 700;
    text-align: center;
}
.triangle01 {
    width:0;
    height:0;
    border-style:solid;
    border-width: 5vw 50vw 0 50vw;
    border-color:  #eff8ff transparent transparent transparent;
}

@media screen and (max-width:480px) {
.top_nayami_bg p {
	padding: .5vw 0;
    font-size: 7vw;
}
.top_nayami {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 10vw 0;
    background:  #eff8ff;
}
.top_nayami h2 {
    display: block;
    width: 80%;
    margin: 0 auto 5vw;
    font-size: 7vw;
    font-weight: 700;
}
.top_nayami_box {
    width: 80%;
    margin: 0 auto;
}
.top_nayami_box_block {
    width: 100%;
    margin-bottom: 10vw;
}
.top_nayami_box_block h3 {
    font-size: 5.2vw;
}
}
.top_kaiketsu {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 5vw 0;
    text-align: center;
}
.top_kaiketsu h2 {
    display: inline-block;
    margin-bottom: 5vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
    border-bottom: 5px solid #f70000;
}
.top_kaiketsu h2 span {
    margin: 0 1vw;
    font-size: 3.13vw;
}
.top_kaiketsu_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 80%;
    margin: 0 auto;
}
.top_kaiketsu_box_block {
    width: 31%;
}
.top_kaiketsu_box_block img {
    display: block;
    width: 60%;
    margin: 0 auto 1vw;
}
.top_kaiketsu_box_block h3 {
    font-size: 1.31vw;
    font-weight: 700;
    text-align: center;
}
.top_kaiketsu_dekirukoto {
    position: relative;
    display: block;
    width: 50%;
    margin: 10vw auto 0;
    border: 3px solid #f70000;
}
.top_kaiketsu_dekirukoto h3::before {
    position: absolute;
    top: -3vw;
    left: 0;
    right: 0;
    width: 20%;
    margin: auto;
    content: '';
    padding: 1vw;
    background-image: url("../images/top_kaiketsu04.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
.top_kaiketsu_dekirukoto h3 {
    position: absolute;
    top: -1.7vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 70%;
    font-size: 2.35vw;
    text-align: center;
    background: #fff;
}
.top_kaiketsu_dekirukoto ul {
    display: inline-block;
    margin: 3vw auto 1.5vw;
    list-style:decimal;
    font-size: 1.31vw;
    text-align: left;
}
.top_kaiketsu_dekirukoto ul li {
    padding-bottom: 1vw;
}
.top_kaiketsu_kinou01 {
	display: block;
	width: 70%;
	margin: 5vw auto;
	padding: 0 0 5vw;
	background: #eff8ff;
	border-radius: 10px;
}
.top_kaiketsu_kinou01 h3 {
	padding: .8vw 0;
    font-size: 1.31vw;
	color: #fff;
    background: #87d5e6;
    background: -moz-linear-gradient(90deg, #1f2a66, #0068b7);
    background: -webkit-linear-gradient(90deg, #1f2a66, #0068b7);
    background: linear-gradient(90deg, #1f2a66, #0068b7);
	border-radius: 10px 10px 0 0;
}
.top_kaiketsu_kinou01 h4 {
	display: block;
	width: 80%;
	margin: 5vw auto 3vw;
    font-size: 1.6vw;
	text-align: left;
	border-bottom: 2px solid #0068b7;
}
.top_kaiketsu_kinou01 h5 {
	display: block;
	width: 80%;
	margin: 2vw auto 0;
    font-size: 1.31vw;
	text-align: left;
}
.top_kaiketsu_kinou01 p {
	display: block;
	width: 80%;
	margin: 3vw auto 3vw;
    font-size: 1.31vw;
	text-align: left;
}
.top_kaiketsu_kinou01_box01 p {
	margin: 0vw auto 1vw!important;
}
.top_kaiketsu_kinou01 img {
	display: block;
	width: 90%;
	margin: 0 auto;
}
.top_kaiketsu_kinou02 {
	display: block;
	width: 70%;
	margin: 5vw auto;
	padding: 0 0 5vw;
	background: #eff8ff;
	border-radius: 10px;
}
.top_kaiketsu_kinou02 h3 {
	padding: .8vw 0;
    font-size: 1.31vw;
	color: #fff;
    background: #87d5e6;
    background: -moz-linear-gradient(90deg, #1f2a66, #0068b7);
    background: -webkit-linear-gradient(90deg, #1f2a66, #0068b7);
    background: linear-gradient(90deg, #1f2a66, #0068b7);
	border-radius: 10px 10px 0 0;
}
.top_kaiketsu_kinou02 h4 {
	display: block;
	width: 90%;
	margin: 0 auto 2vw;
    font-size: 1.6vw;
	text-align: left;
	border-bottom: 2px solid #0068b7;
}
.top_kaiketsu_kinou02 h5 {
	display: block;
	width: 90%;
	margin: 2vw auto 0;
    font-size: 1.31vw;
	text-align: left;
}
.top_kaiketsu_kinou02 p {
	display: block;
	width: 90%;
	margin: 0vw auto;
    font-size: 1.31vw;
	text-align: left;
}
.top_kaiketsu_kinou02 span {
	display: block;
	width: 90%;
	margin: 0vw auto 3vw;
    font-size: 1.8vw;
	font-weight: 700;
	color: #004982;
}
.top_kaiketsu_kinou02_box {
	display: block;
	width: 90%;
	margin: 3vw auto;
	padding: 1.5vw 0 2vw;
	background: #fff;
	border-radius: 10px;
}
.top_kaiketsu_kinou02_box02_block {
	margin: 0 auto 5vw;
}
.top_kaiketsu_kinou02_box_block {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	margin: 1vw auto 0;
}
.top_kaiketsu_kinou02_box_block_img {
	width: 31%;
}
.top_kaiketsu_kinou02_box_block_img a {
	display: block;
	width: 100%;
	margin: 0;
}
.top_kaiketsu_kinou02_box_block_img a img {
	display: block;
	width: 100%;
}
.top_kaiketsu_kinou02_box_block_img span {
	font-size: 1vw;
}
@media screen and (max-width:480px) {
    
.top_kaiketsu {
    width: 90%;
    padding: 10vw 0;
}
.top_kaiketsu h2 {
    margin-bottom: 5vw;
    font-size: 7vw;
    border-bottom: none;
    text-decoration: underline;
    text-decoration-color: #f70000;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
    line-height: 180%;
}
.top_kaiketsu h2 span {
    margin: 0;
    font-size: 10vw;
}
.top_kaiketsu_box {
    width: 80%;
    margin: 0 auto;
}
.top_kaiketsu_box_block {
    width: 100%;
    margin-bottom: 10vw;
}
.top_kaiketsu_box_block img {
    display: block;
    width: 60%;
    margin: 0 auto 1vw;
}
.top_kaiketsu_box_block h3 {
    font-size: 5.2vw;
}
.top_kaiketsu_dekirukoto {
    position: relative;
    display: block;
    width: 100%;
    margin: 10vw auto 0;
    border: 2px solid #f70000;
}
.top_kaiketsu_dekirukoto h3::before {
    position: absolute;
    top: -3vw;
    left: 0;
    right: 0;
    width: 20%;
    margin: auto;
    content: '';
    padding: 1vw;
    background-image: url("../../bansodx - Copy/images/top_kaiketsu04.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
.top_kaiketsu_dekirukoto h3 {
    position: absolute;
    top: -4vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 80%;
    font-size: 5.5vw;
    text-align: center;
    background: #fff;
}
.top_kaiketsu_dekirukoto ul {
    display: block;
    margin: 8vw auto 3vw;
    padding: 0 4vw 0 9vw;
    list-style:decimal;
    font-size: 5.2vw;
    text-align: left;
}
    .top_kaiketsu_dekirukoto ul li {
        margin-bottom: 5vw;
    }
	
.top_kaiketsu_kinou01 {
	width: 100%;
	margin: 5vw auto;
	padding: 0 0 5vw;
}
.top_kaiketsu_kinou01 h3 {
	padding: 1.5vw 3vw;
    font-size: 6vw;
}
.top_kaiketsu_kinou01 h4 {
	display: block;
	width: 90%;
	margin: 5vw auto 3vw;
    font-size: 5vw;
	text-align: left;
	border-bottom: 2px solid #0068b7;
}
.top_kaiketsu_kinou01 h5 {
	display: block;
	width: 90%;
	margin: 2vw auto 0;
    font-size: 5vw;
	text-align: left;
}
.top_kaiketsu_kinou01 p {
	display: block;
	width: 90%;
	margin: 3vw auto 5vw;
    font-size: 4vw;
	text-align: left;
}
.top_kaiketsu_kinou01_box01 p {
	margin: 0vw auto 5vw!important;
}
.top_kaiketsu_kinou01 img {
	display: block;
	width: 90%;
	margin: 0 auto;
}
.top_kaiketsu_kinou02 {
	display: block;
	width: 100%;
	margin: 5vw auto;
	padding: 0 0 5vw;
	background: #eff8ff;
	border-radius: 10px;
}
.top_kaiketsu_kinou02 h3 {
	padding: .8vw 0;
    font-size: 6vw;
}
.top_kaiketsu_kinou02 h4 {
	display: block;
	width: 90%;
	margin: 0 auto 2vw;
    font-size: 5vw;
	text-align: left;
	border-bottom: 2px solid #0068b7;
}
.top_kaiketsu_kinou02 h5 {
	display: block;
	width: 90%;
	margin: 2vw auto 0;
    font-size: 5vw;
	text-align: left;
}
.top_kaiketsu_kinou02 p {
	display: block;
	width: 90%;
	margin: 0vw auto;
    font-size: 4vw;
	text-align: left;
}
.top_kaiketsu_kinou02 span {
	display: block;
	width: 90%;
	margin: 0vw auto 3vw;
    font-size: 5vw;
	font-weight: 700;
	color: #004982;
}
.top_kaiketsu_kinou02_box {
	display: block;
	width: 90%;
	margin: 3vw auto;
	padding: 1.5vw 0 2vw;
	background: #fff;
	border-radius: 10px;
}
.top_kaiketsu_kinou02_box02_block {
	margin: 0 auto 5vw;
}
.top_kaiketsu_kinou02_box_block {
	display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	justify-content:space-between;
	width: 90%;
	margin: 3vw auto 0;
}
.top_kaiketsu_kinou02_box_block_img {
	width: 48%;
}
.top_kaiketsu_kinou02_box_block_img a {
	display: block;
	width: 100%;
	margin: 0;
}
.top_kaiketsu_kinou02_box_block_img a img {
	display: block;
	width: 100%;
}
.top_kaiketsu_kinou02_box_block_img span {
	font-size: 3vw;
}
}
.top_flow {
    position: relative;
    background: #ebebeb;
    padding: 5vw 0;
}
.top_flow h2 {
    margin-bottom: 2vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.top_flow img {
    display: block;
    width: 90%;
    margin: 0 auto;
}
.top_flow_box01 {
    display: block;
    width: 90%;
    max-width: 780px;
    margin: 0 auto;
    padding: 2vw;
    background: #fff;
    border-radius: 15px;
}
.top_flow_box01 h3 {
    margin-bottom: .5vw;
    padding-bottom: .2vw;
    font-size: 1.6vw;
    border-bottom: 2px solid #C30E23;
}
.top_flow_box01 p {
    font-size: 1.31vw;
}
@media screen and (max-width:480px) {
    
.top_flow {
    padding: 5vw 0;
}
.top_flow h2 {
    display: block;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 5vw;
    font-size: 7vw;
}
.top_flow img {
    display: block;
    width: 90%;
    margin: 0 auto;
}
.top_flow_box01 {
    display: block;
    width: 80%;
    max-width: 780px;
    margin: 0 auto;
    padding: 3vw;
    background: #fff;
    border-radius: 15px;
}
.top_flow_box01 h3 {
    margin-bottom: 1vw;
    padding-bottom: .5vw;
    font-size: 5vw;
    border-bottom: 2px solid #C30E23;
}
.top_flow_box01 p {
    font-size: 4vw;
}
}
.top_video {
    padding: 5vw 0;
}
.top_video h2::before {
    content: '';
    position: absolute;
    bottom: -1.2vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 5%;
    height: 5px;
    background: #f70000;
}
.top_video h2 {
    position: relative;
    margin-bottom: 7vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.youtube {
  width: 60%;
    margin: 0 auto;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width:480px) {
.top_video {
    padding: 10vw 0;
}
.top_video h2::before {
    bottom: -3vw;
    width: 10%;
    height: 3px;
}
.top_video h2 {
    margin-bottom: 7vw;
    font-size: 7vw;
}
.youtube {
  width: 80%;
}
   
}
.top_software {
    padding: 5vw 0;
}
.top_software h2::before {
    content: '';
    position: absolute;
    bottom: -1.2vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 5%;
    height: 5px;
    background: #f70000;
}
.top_software h2 {
    position: relative;
    margin-bottom: 5vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.top_software_content {
    display: block;
    width: 40%;
    margin: 0 auto;
}
.top_software_content h3 {
    font-size: 1.31vw;
    text-align: left;
}
.top_software_content ul {
    margin: 0 auto 1.5vw;
    padding-left: 2vw;
    list-style:inherit;
    font-size: 1.31vw;
    text-align: left;
}
.top_software_content p {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1vw;
}
@media screen and (max-width:480px) {
    
.top_software {
    padding: 10vw 0;
}
.top_software h2::before {
    bottom: -3vw;
    width: 10%;
    height: 3px;
}
.top_software h2 {
    margin-bottom: 10vw;
    font-size: 7vw;
}
.top_software_content {
    display: block;
    width: 80%;
    margin: 0 auto;
}
.top_software_content h3 {
    font-size: 5.2vw;
    text-align: left;
}
.top_software_content ul {
    margin: 0 auto 1.5vw;
    padding-left: 2vw;
    list-style:inherit;
    font-size: 5.2vw;
    text-align: left;
}
.top_software_content p {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 4vw;
}
}
.top_koe {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 5vw 0;
    background: #eff8ff;
}
.top_koe h2::before {
    content: '';
    position: absolute;
    bottom: -1.2vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 5%;
    height: 5px;
    background: #f70000;
}
.top_koe h2 {
    position: relative;
    margin-bottom: 5vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.top_koe_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 90%;
    margin: 0 auto;
    padding: 5vw;
    background: #fff;
    border-radius: 1vw;
}
.top_koe_box_left {
    width: 25%;
    margin-top: 2vw;
}
.top_koe_box_left img {
    width: 100%;
}
.top_koe_box_right {
    width: 73%;
}
.top_koe_box_right h3 {
    font-size: 1.83vw;
    margin-bottom: 1vw;
    line-height: 140%;
}
.top_koe_box_right p {
    font-size: 1.31vw;
    line-height: 170%;
}
@media screen and (max-width:480px) {
    
.top_koe {
    padding: 10vw 0;
}
.top_koe h2::before {
    bottom: -3vw;
    width: 10%;
    height: 3px;
}
.top_koe h2 {
    margin-bottom: 10vw;
    font-size: 7vw;
}
.top_koe_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 80%;
    margin: 0 auto;
    padding: 7vw;
    background: #fff;
    border-radius: 1vw;
}
.top_koe_box_left {
    width: 100%;
    margin:0 auto 5vw;
}
.top_koe_box_left img {
    display: block;
    width: 60%;
    margin: 0 auto;
}
.top_koe_box_right {
    width: 100%;
}
.top_koe_box_right h3 {
    font-size: 6vw;
    margin-bottom: 3vw;
    line-height: 140%;
}
.top_koe_box_right p {
    font-size: 5.2vw;
    line-height: 170%;
}
}
.top_message {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 5vw 0;
}
.top_message h2::before {
    content: '';
    position: absolute;
    bottom: -1.2vw;
    left: 0;
    right: 0;
    margin: auto;
    width: 5%;
    height: 5px;
    background: #f70000;
}
.top_message h2 {
    position: relative;
    margin-bottom: 5vw;
    font-size: 2.35vw;
    font-weight: 700;
    text-align: center;
}
.top_message_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 90%;
    margin: 0 auto;
}
.top_message_box_left {
    width: 63%;
}
.top_message_box_left p {
    font-size: 1.31vw;
    line-height: 170%;
}
.top_message_box_right {
    width: 33%;
    padding: 3vw;
    background: #eff8ff;
    border-radius: 1vw;
}
.top_message_box_right img {
    display: block;
    width: 60%;
    margin: 0 auto;
}
.top_message_box_right h3 {
    margin: 1vw 0;
    font-size: 1vw;
    text-align: center;
}
.top_message_box_right p {
    font-size: 1vw;
}
@media screen and (max-width:480px) {
    
.top_message {
    padding: 10vw 0;
}
.top_message h2::before {
    bottom: -3vw;
    width: 10%;
    height: 3px;
}
.top_message h2 {
    display: block;
    width: 80%;
    margin: 0 auto 10vw;
    font-size: 7vw;
}
.top_message_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 80%;
    margin: 0 auto;
}
.top_message_box_left {
    width: 100%;
}
.top_message_box_left p {
    font-size: 5.2vw;
    line-height: 170%;
}
.top_message_box_right {
    width: 100%;
    margin-top: 10vw;
    padding: 7vw;
    background: #ffefef;
    border-radius: 1vw;
}
.top_message_box_right img {
    display: block;
    width: 60%;
    margin: 0 auto;
}
.top_message_box_right h3 {
    margin: 1vw 0;
    font-size: 5.2vw;
    text-align: center;
}
.top_message_box_right p {
    font-size: 4vw;
}
}

footer {
    background: #192544;
}
.footer_box {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    width: 90%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 5vw 0;
}
.footer_box_left {
    width: 48%;
    margin: 0;
}
.footer_box_left ul {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    justify-content:space-between;
    margin: 0;
    padding: 0;
}
.footer_box_left ul li {
    width: 48%;
    margin: 0 0 3vw;
    padding: 0;
}
.footer_box_left ul li a {
    margin: 0 auto;
    font-family: "noto-sans-cjk-jp", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.6vw;
    color: #fff;
}
.footer_box_left ul li a:hover {
    opacity: .5;
}
.footer_box_left ul li a::before {
    content: '■';
    font-size: 1vw;
    margin-right: .3rem;
    vertical-align: middle;
}
.footer_box_right {
    width: 48%;
    margin: 0;
}
.footer_box_right iframe {
    width: 100%;
    height: 20vw;
}
    .footer_box_right p {
        margin-top: .5vw;
        font-size: 1.3vw;
        color: #fff;
    }
copy {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: .1vw 0;
    font-size: .8vw;
    text-align: center;
    color: #fff;
    background: #0A101D;
}

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

.footer_box {
    width: 80%;
    margin: 0 auto;
    padding: 5vw 0;
}
.footer_box_left {
    width: 100%;
    margin: 0;
    padding: 5vw 0;
}
.footer_box_left ul {
    margin: 0;
    padding: 0;
}
.footer_box_left ul li {
    width: 100%;
    margin: 0 0 2vw;
    padding: 0;
}
.footer_box_left ul li a {
    margin: 0 auto;
    font-family: "noto-sans-cjk-jp", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 4vw;
    color: #fff;
}
.footer_box_left ul li a:hover {
    opacity: .5;
}
.footer_box_left ul li a::before {
    content: '■';
    font-size: 3vw;
    margin-right: .3rem;
    vertical-align: middle;
}
.footer_box_right {
    width: 100%;
    margin: 0;
}
.footer_box_right iframe {
    width: 100%;
    height: 60vw;
}
    .footer_box_right p {
        margin-top: 1vw;
        font-size: 4vw;
        color: #fff;
    }
copy {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: .5vw 0;
    font-size: 3vw;
    text-align: center;
    color: #fff;
    background: #1F0F0B;
}
}
#top001,#top002,#top003,#top004,#top005 {
	margin-top: -10vw;
	padding-top: 10vw;
}