@charset "UTF-8";

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 {
  padding: 0;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

article,
aside,
footer,
header,
nav,
section,
figcaption,
figure,
main,
details,
hgroup,
menu {
  display: block;
}

blockquote,
q {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
  content: none;
}

ul,
ol,
li,
menu,
dir,
figure {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  margin-block: 0 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace;
  font-size: 1em;
}

a {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-text-decoration-skip: objects;
          text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

b,
strong {
  font-weight: inherit;
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace;
  font-size: 1em;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

svg:not(:root) {
  overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
          appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
          appearance: button;
}

[hidden],
template {
  display: none;
}

input[type=button],
input[type=text],
input[type=search],
input[type=submit],
input[type=image],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

table,
tbody {
  padding: 0;
  border-spacing: 0;
  border-collapse: collapse;
  border: 0;
}

ul li {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0;
  border-style: none;
}

html {
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth;
}

body {
  position: relative;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html, body {
  overflow-x: hidden;
  width: 100%;
}
*, *::before, *::after {
  box-sizing: border-box;
}

span {
  display: inline-block;
}

a {
  text-decoration: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

a:hover {
  opacity: 0.7;
}

picture {
  display: block;
  line-height: 0;
}

body{
  font-family: "Noto Sans JP", sans-serif;
	line-height: 2.2;
	letter-spacing: 0.03em;
	font-size: 14px;
	text-align: justify;
	font-weight: 400
}

footer p{
	font-size: 12px;
	text-align: center;
	color: #00345f;
	padding: 40px 0
}

header {
	position: relative
}
header .top_logo{
	position: absolute;
	top:30px;
	left: 30px;
	z-index: 1;
	width: 250px
}
header .top_logo img{
	width: 100%
}

.pc {
  display: block
}
.sp {
  display: none
}

@media screen and (width <= 900px) {
body{
	line-height: 2;
	letter-spacing: 0.02em;
	font-size: 13px;
}
footer{
	width: 90%;
	margin: 0 auto
}
footer p{
	font-size: 9px;
	padding: 40px 0
}
header .top_logo{
	top:15px;
	left: 15px;
	width: 100px
}
.pc {
    display: none
  }
.sp {
    display: block
}
}

.top_mv{
	height: 580px;
	background-image: url("../images/top_mv.png");
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative
}
.top_mv_copy{
	position: absolute;
	left: 50vw;
	top: 200px;
	color: #fff;;
	font-weight: 600;
	line-height: 1.6
}
.top_mv_txt{
	font-size: clamp(16px, 3vw, 38px);
}
.top_mv_txt span{
	font-size: clamp(13px, 3.3vw, 43px);
}
.top_mv_txt2{
	font-size: clamp(13px, 2vw, 26px);
}
.top_mv_txt-img{
	margin-top: 50px;
	max-width: 430px;
	width: 38vw
}
.top_mv_txt-img img{
	width: 100%;
}
.top_mv_entry{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 235px
}
.top_mv_entry img{
	width: 100%
}
@media screen and (width <= 900px) {
.top_mv{
	height: 520px;
	background-size: cover ;	
}
.top_mv_copy{
	top: 180px;
	line-height: 1.4
}
.top_mv_txt{
	font-size: 29px;
}
.top_mv_txt span{
	font-size: 35px;
}
.top_mv_txt2{
	font-size: 12px;
	margin-top: 5px
}
.top_mv_txt-img{
	margin-top: 28px;
	max-width: auto;
	width: 246px
}
.top_mv_entry{
	width: 165px
}
}

@media screen and (width <= 530px) {
.top_mv_copy{
	left: 29vw;
}
}

.top_lead{
	height: 295px;
	background-image: url("../images/top_lead.png"),linear-gradient(to right, #6b8ec3, #b4d0e5);
	background-position: right , bottom;
	background-size: cover, 100% 15%;
	background-repeat: no-repeat;
	position: relative;
	margin-top: 30px;
	color: #fff;
}
.top_lead_img{
	position: absolute;
	width: 145px;
	left: calc((100% - 1000px) / 2);
	top:20px
}
.top_lead_flex{
	position: absolute;
	width: 900px;
	left: calc((100% - 900px) / 2);
	top:40px;
	display: flex;
	align-items: center;
}
.top_lead_copy{
	font-size: 24px;
	margin-right: 20px;
	font-weight: 500
}
.top_lead_txt{
	font-weight: 500
}
@media screen and (width <= 900px) {
.top_lead{
	height: 380px;
	margin-top: 50px;
	background-position: center , bottom;
	background-size: cover, 100% 15%;
}
.top_lead_img{
	width: 130px;
	top:-7px;
	left: 20px;
}
.top_lead_flex{
	width: 90%;
	left: 5vw;
	top:50px;
	display: block;
}
.top_lead_copy{
	font-size: 19px;
	margin-right: 0;
	line-height: 1.6;
	margin-bottom: 30px
}
.top_lead_txt{
	font-size: 14px
}
}


.menu{
	background: linear-gradient(to right, #6b8ec3, #b4d0e5);
	padding: 30px 0 50px;
}
.menu_flex{
	width: 880px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap
}
.menu_buttom{
	text-align: center;
	width: 190px;
}
.menu_buttom_no{
	width: 110px;
	margin: 0 auto
}
.menu_buttom_no img{
	width: 100%;
}
.menu_buttom_ttl{
	color: #00345f;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.4;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	height: 75px;
	display: flex;
	justify-content: center;
	align-items: center;  
	margin-top: 10px;
	padding: 3px 0
}
.menu_buttom_arrow img{
	width: 18px;
	margin: 7px auto
}

@media screen and (width <= 900px) {
.menu{
	padding: 30px 0 30px;
}
.menu_flex{
	width: 80%;
	margin: 0 auto
}
.menu_buttom{
	width: 135px;
	margin-bottom: 20px
}
.menu_buttom_no{
	width: 75px;
}
.menu_buttom_ttl{
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	height: 55px;
}
.menu_buttom_arrow img{
	width: 12px;
	margin: 7px auto
}
}

.section_ttl{
	height: 250px;
	background-repeat: no-repeat;
	background-size: auto 6.6vw;
	background-position: right 3vw center;
	position: relative;
	margin-top: 60px
}
.section_ttl::before{
    content: "";
	position: absolute;
    top: 120px;
    left: 0;
    z-index: 1;
    width: calc((100vw - 1030px) / 2);
    min-width: 100px;
    height: 35px;
	background-image: url("../images/section_ttl_arrow.svg");
	background-size: auto 30px;
	background-repeat: no-repeat;
	background-position: right
}
.section_ttl_circle{
	position: relative;
    max-width: 1200px;
	width: 94vw;
	height: 250px;
    margin: 0 auto;
	display: flex;
	align-items: center;
	background-image: url("../images/section_ttl_bg.svg");
	background-repeat: no-repeat;
	background-position: left center;
}
.section_ttl_circle_inner{
	position: absolute;
	left: 100px;
}
.section_ttl_no{
	height: 55px;
	margin-left: 0;
	margin-right: auto;
}
.section_ttl_no img{
	height: 100%;
	width: auto
}
.section_ttl_txt{
	font-size: 36px;
	color: #00345f;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.8
}

@media screen and (width <= 900px) {
.section_ttl{
	height: 80px;
	background-size: auto 25px;
	background-position: right 3vw center;
	margin-top: 30px
}
.section_ttl::before{
    top: 20px;
    width: 5vw;
    min-width: 20px;
    height: 35px;
	background-size: auto 10px;
}
.section_ttl_circle{
    max-width: auto;
	width: 96vw;
	height: 80px;
}
.section_ttl_circle_inner{
	left: 6vw;
}
.section_ttl_no{
	height: 20px;
	margin-left: 0;
}
.section_ttl_txt{
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.5
}
}

.section_ttl_r{
	height: 250px;
	background-repeat: no-repeat;
	background-size: auto 6.6vw;
	background-position: left 3vw center;
	position: relative;
	margin-top: 50px;
}
.section_ttl_r::after{
    content: "";
	position: absolute;
    top: 120px;
    right: 0;
    z-index: 1;
    width: calc((100vw - 1030px) / 2);
    min-width: 100px;
    height: 35px;
	background-image: url("../images/section_ttl_arrow_r.svg");
	background-size: auto 30px;
	background-repeat: no-repeat;
	background-position: left
}
.section_ttl_circle_r{
	position: relative;
    max-width: 1200px;
	width: 94vw;
	height: 250px;
    margin: 0 auto;
	display: flex;
	align-items: center;
	background-image: url("../images/section_ttl_bg.svg");
	background-repeat: no-repeat;
	background-position: right center;
}
.section_ttl_circle_inner_r{
	position: absolute;
	right: 100px;
}
.section_ttl_no_r{
	height: 55px;
	margin-left: auto;
	margin-right: 0;
	display:flex;
	justify-content: flex-end
}
.section_ttl_no_r img{
	height: 100%;
	width: auto
}
@media screen and (width <= 900px) {
.section_ttl_r{
	height: 80px;
	background-size: auto 25px;
	background-position: left 3vw center;
	margin-top: 50px;
}
.section_ttl_r::after{
    top: 20px;
    width: 5vw;
    min-width: 20px;
    height: 35px;
	background-size: auto 10px;
}
.section_ttl_circle_r{
    max-width: auto;
	width: 96vw;
	height:80px;
    margin: 0 auto;
	background-position: right center;
}
.section_ttl_circle_inner_r{
	right: 6vw;
}
.section_ttl_no_r{
	height: 20px;
}
}

.ttl_about{
	background-image: url("../images/section_ttl_about.png");
}
.ttl_environment{
	background-image: url("../images/section_ttl_environment.png");
}
.ttl_program{
	background-image: url("../images/section_ttl_program.png");
}
.ttl_appeal{
	background-image: url("../images/section_ttl_appeal.png");
}
.section_about-bg{
	background-image: url("../images/section_bg.svg");
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 50px
}
.section_content_ttl{
	display: inline-block;
	padding: 10px 100px 10px calc((100vw - 1000px) / 2);
	background: linear-gradient(to right, #003c7b, #0074bd);
	color: #fff;
	clip-path: polygon(0% 0%, 100% 0%, 93.5% 100%, 0% 100%);
	margin-top: 50px;
	font-size: 23px;
	font-weight: 600;
	letter-spacing: 0.08em
}
.section_content_ttl_r{
	display: block;
	width: fit-content;
	padding: 10px calc((100vw - 1000px) / 2) 10px 120px;
	background: linear-gradient(to right, #003c7b, #0074bd);
	color: #fff;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 6.6% 100%, 6% 100%);
	margin-left: auto;
	margin-top: 50px;
	font-size: 23px;
	font-weight: 600;
	letter-spacing: 0.08em
}
.content-w{
	width: 900px;
	margin: 0 auto
}

@media screen and (width <= 900px) {
.section_about-bg{
	background-size: cover ;
	padding-bottom: 30px;
	background-position-x: left -180px 
}
.section_content_ttl{
	display: inline-block;
	padding: 10px 35px 10px 5vw;
	clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 0% 100%);
	margin-top: 20px;
	font-size: 14px;
	letter-spacing: 0.05em
}
.section_content_ttl_r{
	display: block;
	padding: 7px 5vw 7px 80px;
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 10.6% 100%, 10% 100%);
	margin-top: 20px;
	font-size: 14px;
	letter-spacing: 0.05em;
	text-align: right;
	line-height: 1.6
}
.content-w{
	width: 90%;
}	
}


/*#about*/
.about_content_flex{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 40px
}
.about_content_txt{
	width: 460px;
}
.about_content_img{
	width: 360px
}
.about_content_img img{
	width: 100%
}
.about_content_figure {
	width: 100%;
	margin: 30px auto 40px;
}
.about_content_figure img{
	width: 100%
}

@media screen and (width <= 900px) {
.about_content_flex{
	display: block;
	margin-top: 30px
}
.about_content_txt{
	width: 100%;
}
.about_content_img{
	width: 80%;
	margin: 20px auto 0;
	max-width: 320px
}
.about_content_figure {
	width: 94%;
	margin: 40px auto;
	max-width: 460px
}
}


.section_about-ttlbg{
	background: linear-gradient(to bottom, transparent 70%, #5d7e99 30%);
}
.section_about_bg2{
	background-image: url("../images/section_about_bg.jpg");
	padding-bottom: 70px;
	background-repeat: no-repeat;
	background-size: cover
}
.about_c2_lead{
	color: #fff;
	padding: 30px 0;
	margin-bottom: 60px
}
.about_c2_bg{
	background: #ebeff2;
	width: 900px;
	margin: 0 auto;
	position: relative;
	padding: 20px 20px 80px
}
.about_c2_ttl{
	width: 220px;
	border: solid 2px #ebeff2; 
	margin: 0 auto;
	font-size: 18px;
	color: #fff;
	text-align: center;
	background: #00345f;
	border-radius: 35px;
	padding: 3px 0 5px;
	position: absolute;
	top: -23px;
	right: 0;
	left: 0;
	letter-spacing: 0.05em
}
.about_c2_figure{
	width: 100%;
	margin-top: 60px
}
.about_c2_figure img{
	width: 100%
}
.about_c2_img{
	width: 700px;
	margin: 30px auto 0
}
.about_c2_img img{
	width: 100%;
}
@media screen and (width <= 900px) {
.about_c2_lead{
	color: #fff;
	margin-bottom: 30px
}
.about_c2_bg{
	width: 100%;
	padding: 5px 20px 20px
}
.about_c2_ttl{
	width: 120px;
	font-size: 12px;
	border-radius: 20px;
	padding: 1px 0 3px;
	top: -14px;
}
.about_c2_figure{
	margin-top: 30px
}
.about_c2_img{
	width: 90%;
	margin: 30px auto 0
}
}

/*#environment*/
.environment_img{
	margin-right: calc((100vw - 900px) / 2);
	margin-top: -20px;
	margin-bottom: 30px
}
.environment_img img{
	width: 100%
}
@media screen and (width <= 900px) {
.environment_img{
	margin:-10px auto 30px;
}
}

.strengths_bg{
	background: linear-gradient(to right, #c8d5e8, #e8edf5);
	padding: 40px 0 0 0;
}
.strengths_ttl{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: 0 12vw;
}
.strengths_eng{
	width: 410px
}
.strengths_eng img{
	width: 100%
}
.strengths_jp{
	width: 168px
}
.strengths_jp img{
	width: 100%
}
.strengths_flex{
	margin: 30px auto 0;
	width: 900px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-bottom: 35px;
	letter-spacing: 0.03em
}
.strengths_flex_bg{
	background-image: url("../images/strengths_bg.svg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 40px;
}
.strengths_box{
	position: relative;
	background-color: #fff;
	padding: 35px;
	width: 49%;
	margin-bottom: 15px;
	background-repeat: no-repeat;
	background-position: top 12px right 10px;
	background-size: 28px
}
.strengths_box p{
	font-size: 15px;
	font-weight: 600
}
.strengths_box2{
	position: relative;
	background-color: #fff;
	padding: 40px 22px;
	width: 32.5%;
	margin-bottom: 20px;
	background-repeat: no-repeat;
	background-position: top 12px right 10px;
	background-size: 28px
}
.strengths_box2 p{
	font-size: 15px;
	font-weight: 600
}

@media screen and (width <= 900px) {
.strengths_ttl{
	padding: 0 20px
}
.strengths_eng{
	width: 150px
}
.strengths_jp{
	width: 100px
}
.strengths_flex{
	margin: 30px auto 0;
	width: 90%;
	padding-bottom: 35px
}
.strengths_box{
	padding: 25px;
	width: 80%;
	background-size: 20px;
	margin: 0 auto 15px;
	letter-spacing: 0.03em;
	background-position: top 10px right 10px;
}
.strengths_box2{
	padding: 25px;
	width: 80%;
	background-size: 25px;
	margin: 0 auto 15px;
	background-position: top 10px right 10px;
}
.strengths_box p{
	font-size: 13px;
	font-weight: 500
}
.strengths_box2 p{
	font-size: 13px;
	font-weight: 500
}
}

.strengths_decoration{
	position: absolute;
	top:0;
	left: 0;
	width: 30px;
}
.strengths_decoration img{
	width: 100%;
}
.strengths_flex .no1{
	background-image: url("../images/strengths_no1.svg");
}
.strengths_flex .no2{
	background-image: url("../images/strengths_no2.svg");
}
.strengths_flex .no3{
	background-image: url("../images/strengths_no3.svg");
}
.strengths_flex .no4{
	background-image: url("../images/strengths_no4.svg");
}

.link_new-g{
	height: 400px;
	background-image: url("../images/link_new-g.png");
	background-repeat: no-repeat;
	background-size: cover;
}
.link_new-g_txt{
	width: 350px;
	margin-right: 20px
}
.link_new-g_txt img{
	width: 100%;
}
.link_new-g_flex{
	height: 400px;
	display: flex;
	justify-content: space-between;
	align-items: center
}
.link_new-g_p_flex{
	display: flex;
	justify-content: space-between;
	width: 520px
}
.link_new-g_p{
	width: 250px;
}
.link_new-g_p img{
	width: 100%;
}
@media screen and (width <= 900px) {
.strengths_decoration{
	width: 20px;
}
.link_new-g{
	height: auto;
	background-position: center
}
.link_new-g_txt{
	width: 220px;
	margin: 0 auto 20px
}
.link_new-g_flex{
	height: auto;
	display: block;
	padding: 30px 0;
	text-align: center
}
.link_new-g_p_flex{
	width: 85%;
	margin: 0 auto;
	max-width: 400px
}
.link_new-g_p{
	width: 46%;
	margin: 0 3%;
	max-width: 150px
}	
}

/*#program*/
.program_lead{
	display: flex;
	margin-left: calc((100vw - 900px) / 2);
	margin-right: 0;
	margin-top: 30px
}
.program_lead_txt{
	width: 40vw;
	margin-right: 50px
}
.program_lead_img{
	width: 50vw;
}
.program_lead_img img{
	width: 100%
}
@media screen and (width <= 900px) {
.program_lead{
	display: block;
	margin: 30px auto 0;
}
.program_lead_txt{
	width: 90%;
	margin: 0 auto
}
.program_lead_img{
	width: 90%;
	max-width: 500px;
	margin: 20px auto 30px
}
.program_lead_img img{
	width: 100%
}	
}

.section_program-ttlbg{
	background: linear-gradient(to bottom, transparent 70%, #b2c2cf 30%);
}
.section_program_bg{
	background: #b2c2cf;
	padding: 30px 0
}
.program_flex{
	display: flex;
	margin: 20px auto 40px
}
.program_step_txt{
	width: 55%
}
.program_line{
	height: 1px;
	background: #000;
}
.program_step_img{
	margin-top: 10px;
	width: 45%
}
.program_step_img img{
	width: 100%
}
.program_step{
	height: 43px;
	margin-bottom: 10px
}
.program_step img{
	height: 100%;
	width: auto
}
.program_step_p{
	padding-right: 80px;
	margin-top: 20px
}
@media screen and (width <= 900px) {
.section_program_bg{
	padding: 5px 0 30px
}
.program_flex{
	display: block;
	margin: 40px auto
}
.program_step_txt{
	width: 100%;
}
.program_step_img{
	width: 100%;
	margin: 20px auto 0;
	max-width: 400px
}
.program_step{
	height: 28px;
}
.program_step_p{
	padding-right: 0
}
}

.program_step_r{
	height: 50px;
	margin-bottom: 10px;
}
.program_step_r img{
	height: 100%;
	width: auto;
	margin-left: auto
}
.program_step_p_r{
	padding-left: 80px;
	margin-top: 20px
}
@media screen and (width <= 900px) {
.program_step_r{
	height: 30px;
}
.program_step_r img{
	margin-left: 0;
	margin-right: auto
}
.program_step_p_r{
	padding-left: 0
}
}

.program_table{
	position: relative;
	background: #fff;
	padding: 40px 50px;
	border-radius: 20px;
	margin: 50px 0 100px
}
.program_table_ttl{
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	width: 300px;
	border-radius: 20px;
	background: #00345f;
	color: #fff;
	font-size: 13px;
	text-align: center;
	letter-spacing: 0em;
	font-weight: 500;
	margin: 0 auto;
}
.program_table_ttl2{
	position: absolute;
	top: -15px;
	left: 0;
	right: 0;
	width: 360px;
	border-radius: 20px;
	background: #00345f;
	color: #fff;
	font-size: 13px;
	text-align: center;
	letter-spacing: 0em;
	font-weight: 500;
	margin: 0 auto;
}
.program_table_flex{
	display: flex;
	align-items: center;
	padding: 10px;
	margin: 12px 0
}

@media screen and (width <= 900px) {
.program_table{
	padding: 50px 15px 30px;
	border-radius: 15px;
	margin: 70px 0 50px
}
.program_table_ttl{
	top: -11px;
	width: 280px;
	border-radius: 20px;
	font-size: 12px;
}
.program_table_ttl2{
	top: -20px;
	width: 200px;
	border-radius: 30px;
	font-size: 12px;
	line-height: 1.3;
	padding: 8px 0
}
.program_table_flex{
	display: block;
	padding: 10px 15px;
	margin: 10px 0
}
}

.c_table1{
	background: #bfe2f4
}
.c_table2{
	background: #bccce8
}
.c_table1_bg{
	background: #008cd3
}
.c_table2_bg{
	background: #2155b3
}
.program_table_l{
	width: 150px;
	text-align: center;
	letter-spacing: 0.08em;
	font-weight: 600;
}
.program_table_l .ttl{
	font-size: 20px;
	color: #00345f
}
.program_table_l .time{
	font-size: 13px;
	color: #fff;
	background: #00345f;
	width: fit-content;
	padding: 0 20px 2px;
	border-radius: 20px;
	margin: 0 auto;
}
.program_table_r{
	width: 670px
}
.program_table_r li{
	display: flex;
	margin: 5px 0
}
.program_table_r li .ttl{
	width: 90px;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500
}
.program_table_r li .txt{
	font-size: 13px;
	line-height: 1.6;
	background: #fff;
	padding: 10px 20px;
	width: 100%;
	font-weight: 500
}
.program_step_p3{
	margin-top: 20px
}
.program_figure{
	width: 100%;
	margin: 20px auto
}
.annotation{
	font-size: 12px
}

@media screen and (width <= 900px) {
.program_table_l{
	width: 100%;
	padding-bottom: 15px
}
.program_table_l .ttl{
	font-size: 16px;
}
.program_table_l .time{
	font-size: 12px;
	padding: 0 15px 1px;
	border-radius: 15px
}
.program_table_r{
	width: 100%
}
.program_table_r li{
	display: block;
	margin: 5px 0
}
.program_table_r li .ttl{
	width: 100%;
	display: block;
	text-align: center
}
.program_table_r li .txt{
	font-size: 12px;
	padding: 10px 15px;
	width: 100%;
}
.program_figure{
	width: 80%;
	margin: 0 auto 20px;
	max-width: 280px
}
}


.program_voice_bg{
	background: linear-gradient(to right, 
        transparent 0%, 
        transparent 6%, 
        #0074bd 6%, 
        #003c7b 100%);
	padding: 10px 0 35px;
	margin: 70px 0 50px;
	width: auto;
}
.program_voice_inner{
	width: 830px;
	margin: 0 auto;
}
.program_voice_ttl_flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 50px
}
.program_voice_line{
	height: 0.5px;
	background: #fff;
	width: 300px
}
.program_voice_ttl{
	font-size: 25px;
	font-weight: 500;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 230px;
	margin: 0 auto;
	letter-spacing: 0.08em
}
.program_voice_ttl img{
	width: 13px;
}
.program_voice_ttl p{
	margin: 0 20px 0 25px
}
.mt50{
	margin-top: 50px
}
.program_voice_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 25px auto
}
.program_voice_pr{
	display: flex;
	align-items: center;
	line-height: 1.6;
	color: #fff
}
.program_voice_pimg{
	width: 135px;
}
.program_voice_pimg img{
	width: 100%
}
.program_voice_ptxt{
	font-size: 13px;
	margin-left: 13px
}
.program_voice_ptxt span{
	font-size: 25px
}
.program_voice_ptxt_r{
	font-size: 14px;
	text-align: right;
	margin-right: 10px
}
.program_voice_ptxt_r span{
	font-size: 26px
}
.program_voice_txt{
	font-size: 13px;
	margin-bottom: 20px;
	line-height: 1.8
}

@media screen and (width <= 900px) {
.program_voice_bg{
	background: linear-gradient(to right, 
        transparent 0%, 
        transparent 0%, 
        #0074bd 0%, 
        #003c7b 100%);
	padding: 5px 0 25px;
	margin: 40px 0;
}
.program_voice_inner{
	width: 90%;
	margin: 0 auto;
}
.program_voice_ttl_flex{
	margin-top: 50px
}
.program_voice_line{
	width: 25%
}
.program_voice_ttl{
	font-size: 14px;
	width: 150px;
}
.program_voice_ttl img{
	width: 10px;
}
.program_voice_ttl p{
	margin: 0 20px 0 25px
}
.mt50{
	margin-top: 50px
}
.program_voice_flex{
	display: block;
	margin: 10px auto 35px
}
.program_voice_pr{
	line-height: 1.3;
	margin-bottom: 10px
}
.program_voice_pimg{
	width: 75px;
}
.program_voice_ptxt{
	font-size: 12px;
	margin-left: 15px
}
.program_voice_ptxt span{
	font-size: 16px
}
.program_voice_ptxt_r{
	font-size: 12px;
	text-align: right;
	margin-right: 10px
}
.program_voice_ptxt_r span{
	font-size: 16px
}
.program_voice_txt{
	font-size: 12px;
	margin-bottom: 20px;
	line-height: 1.8
}	
}


/*====================================================================
 voice ac
====================================================================*/
.s_05 .accordion_one {
	padding: 20px;
	border-radius: 20px;
}
.s_05 .ac_c1{
  width: 570px;
  position: relative;
  background: #fffcdc;
}
.s_05 .ac_c1:before {
  content: "";
  position: absolute;
  top: 60px;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #fffcdc;
}
.s_05 .ac_c2 {
  width: 580px;
  position: relative;
  background: #fff;
}
.s_05 .ac_c2:before {
  content: "";
  position: absolute;
  top: 60px;
  right: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid #fff;
}
.s_05 .ac_c3 {
  width: 660px;
  position: relative;
  background: #d5effa;
}
.s_05 .ac_c3:before {
  content: "";
  position: absolute;
  top: 60px;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #d5effa;
}
@media screen and (max-width : 900px) {
.s_05 .accordion_one {
	padding: 20px;
	border-radius: 20px;
}
.s_05 .ac_c1{
  width: 100%;
}
.s_05 .ac_c1:before {
  display: none
}
.s_05 .ac_c2 {
  width: 100%;
}
.s_05 .ac_c2:before {
  display: none
}
.s_05 .ac_c3 {
  width: 100%;
}
.s_05 .ac_c3:before {
  display: none
}
}

.s_05 .accordion_header {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #003e82;
  text-align: left;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.2s;
  padding: 0 0 40px;
}
@media screen and (max-width : 900px) {
.s_05 .accordion_header {
  font-size: 15px;
  line-height: 1.6;
  padding: 0 0 20px;
}
}
.s_05 .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  right: -5px;
  width: 100px;
  height: 40px;
  margin-top: -20px;
}
@media screen and (max-width : 900px) {
.s_05 .accordion_header .i_box {
  height: 30px;
  bottom: -10px;
}
}
.s_05 .accordion_header .i_box .one_i {
  display: block;
  width: auto;
  height: 20px;
  position: relative;
}
.s_05 .accordion_header .i_box .one_i img{
  width: auto;
  height: 100%;
}
.s_05 .accordion_header.open .i_box {
  display: none
}
.s_05 .accordion_inner {
  display: none;
}
.s_05 .accordion_inner .box_one {
  height: auto;
}
.s_05 .accordion_inner p.txt_a_ac {
  margin: 0;
}
.s_05 .accordion_inner .closeArea .close_box a.close_btn .one_i {
  margin-top: 40px;
}
.s_05 .accordion_inner .closeArea .close_box a.close_btn .one_i img{
  width: auto;
  height: 20px;
  margin-left: auto;
  margin-right: 0
}
@media screen and (max-width : 900px) {
.s_05 .accordion_header .i_box .one_i {
  height: 16px;
}
.s_05 .accordion_inner .closeArea .close_box a.close_btn .one_i img{
  height: 16px;
}	
}


/*#appeal*/
.appeal_lead{
	display: flex;
	margin-right: calc((100vw - 900px) / 2);
	margin-left: 0;
	margin-top: 30px
}
.appeal_lead_txt{
	width: 40vw;
	margin-left: 50px
}

.appeal_lead_img{
	width: 50vw;
}
.appeal_lead_img img{
	width: 100%
}
@media screen and (max-width: 900px) {
.appeal_lead{
	display: block;
	width: 90%;
	margin: 30px auto 0
}
.appeal_lead_txt{
	width: 100%;
	margin: 0 auto
}
.appeal_lead_img{
	width: 100%;
	margin: 0 auto 20px;
	max-width: 500px
}
}



/*message*/
.message_bg{
	background-image: url("../images/message_bg.png");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
	padding: 100px 0
}
.message_ttl{
	width: 100px;
	margin: 0 auto 50px
}
.message_txt{
	font-size: 20px;
	color: #fff;
	font-weight: 500;
	text-align: center;
	margin: 40px auto 60px;
	letter-spacing: 0.08em
}
.message_link{
	width: 730px;
	margin: 0 auto;
	font-size: 18px;
	font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center;
	letter-spacing: 0.08em
}
.message_link img{
	width: 35px
}
.message_buttom{
	width: 350px;
	height: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px 0 25px;
	background: #fff;
	border: solid 2px #0c1b54;
	color: #0c1b54;
	border-radius: 40px
}
.message_buttom2{
	width: 350px;
	height: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px 0 25px;
	background: #0c1b54;
	border: solid 2px #fff;
	color: #fff;
	border-radius: 40px
}
@media screen and (max-width: 900px) {
.message_bg{
	background-size: cover;
	background-position: bottom center;
	padding: 70px 0
}
.message_ttl{
	width: 80px;
}
.message_txt{
	font-size: 14px;
	margin: 40px auto 60px;
	letter-spacing: 0.08em
}
.message_link{
	width: 90%;
	font-size: 14px;
	letter-spacing: 0.08em;
	display: block
}
.message_link img{
	width: 25px
}
.message_buttom{
	width: 280px;
	height: 60px;
	padding: 0 20px 0 25px;
	border-radius: 30px;
	margin: 0 auto 20px
}
.message_buttom2{
	width: 280px;
	height: 60px;
	padding: 0 20px 0 25px;
	border-radius: 30px;
	margin: 0 auto 20px
}
}

.to-top{
	position: fixed;
	bottom: 20px;
	right: 25px;
	width: 60px;
	z-index: 2;
	transition: all 0.3s ease;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
}
.active{
  opacity: 1;
  visibility: visible;
}
.to-top img{
	width: 100%
}

@media screen and (width <= 900px) {
.to-top{
	bottom: 15px;
	right: 15px;
	width: 35px;
}
}



