@charset "utf-8";

/* common */

body {
font-family: 'Noto Sans JP', メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
font-weight: 400 !important;
font-size: 14px;
line-height: 1.8;
color: #000 !important;
-webkit-animation: fadeIn 1.5s ease 0s 1 normal;
animation: fadeIn 1.5s ease 0s 1 normal;
}
  @keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0
    }

    100% {
      opacity: 1
    }
  }

h1,h2,h3,h4 { margin: 0 !important; }
p { letter-spacing: 0.5px; }
.fn_en { font-family: "Lexend", sans-serif; font-weight: 400; }
.fn_enB { font-family: "Lexend", sans-serif; font-weight: 500; }
.color_B { color: #015d74 !important; }
.color_O { color: #edc213 !important; }
.color_W { color: #ffffff !important; }
img { max-width: 100%; height: auto; }

.ps_rlt { position: relative; }
.al_center { margin: 0 auto; }

.pcB, .pcB2, .pcB3 { display: inherit; }
.spB, .spB2, .spB3 { display: none; }
@media all and (max-width: 900px) {
.pcB { display: none; }
.spB { display: inherit; }
}
@media all and (max-width: 640px) {
.pcB2 { display: none; }
.spB2 { display: inherit; }
}
@media all and (max-width: 480px) {
.pcB3 { display: none; }
.spB3 { display: inherit; }
}

a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
a img:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

a { -webkit-transition: 0.2s ease-in; transition: 0.2s ease-in; }


.container { width: 100%; max-width: 1680px !important; padding: 80px 30px !important; margin: 0 auto; }
.block_01 .container { padding: 20px 30px !important; }
.container2 { width: 100%; max-width: 1080px !important; padding: 80px 30px !important; margin: 0 auto; }
.container3 { width: 100%; max-width: 1280px !important; padding: 80px 30px !important; margin: 0 auto; }
.container.pd_TT { padding-top: 20px !important; }
@media all and (max-width: 640px) {
.container,.container2,.container3 { padding: 60px 20px !important; }
.block_01 .container { padding: 0 20px !important; }
}


/* block */

.block_02 { background-image: url("../images/bg1_pc.jpg"); background-size: 2560px auto; background-position: center top; background-repeat: repeat; }
.block_03 { background-image: url("../images/bg2_pc.jpg"); background-size: 2560px auto; background-position: center top; background-repeat: repeat; }
.block_04 { background-image: url("../images/end_bg.png"); background-size: cover; background-position: center center; background-repeat: no-repeat; width: 100%; min-height: 200px; }
.block_05 { background-color: #fff; padding: 24px 24px 30px; width: 100%; margin: 0; }
.block_05 img { width: 100%; max-width: 360px; margin: 0 auto; display: block; }
@media all and (max-width: 768px) {
.block_02 { background-image: url("../images/bg1_sp.jpg"); background-size: 100% auto; background-position: center top; background-repeat: repeat; }
.block_03 { background-image: url("../images/bg2_sp.jpg"); background-size: 100% auto; background-position: center top; background-repeat: repeat; }
.block_04 { background-size: auto 100%; background-position: center center; }}
.sub_box { font-size: 105%; padding: 0; color: #015d74; margin-top: 14px; font-weight: 400; }
.sub_box p { line-height: 1.4; }
.txt_mds01 { position: relative; margin-bottom: 26px; font-weight: 500; }
.txt_mds01::after { content: ""; width: 70px; height: 6px; position: absolute; bottom: -15px; left: 0; background-color: #edc213;
-webkit-transform: scaleY(0.5); transform: scaleY(0.5); }
.w_ttl01 { background-color: #fff; display: flex; justify-content: space-between; align-content: center; align-items: flex-start; flex-wrap: wrap; }
.w_ttl02 { background-color: #fff; display: flex; justify-content: flex-start; align-content: center; }
.w_ttl01 p, .w_ttl01 h3 { margin: 0 !important; }
.w_ttl02 p, .w_ttl02 h3, .w_ttl02 h4 { margin: 0 !important; }
.w_box { padding: 40px; background: #fff; }
.block_03 .w_box { padding: 20px 34px 30px; }
.w_box p { margin-bottom: 20px; }
.w_box p:last-of-type { margin-bottom: 0; }
.o_back { background-color: #f8e471; color: #303032; padding: 16px 32px; line-height: 1.5; font-size: 120%; }
.w_back { padding: 16px 24px; text-align: right; font-weight: 500; }
.o_back2 { background-color: #edc213; color: #fff; padding: 16px 24px; text-align: center; width: 120px; display: block; }
.w_back2 { padding: 16px 24px; font-weight: 500; width: calc(100% - 120px); }
.p_block { float: right; padding-left: 16px; width: 44%; }
@media all and (max-width: 800px) {
.sp_w100 { width: 100%; }
.sp_w100.w_back { padding-bottom: 0; }
}
@media all and (max-width: 640px) {
.o_back,.w_back { padding: 16px 20px; }
.w_box { padding: 20px; }
.block_03 .w_box { padding: 0 20px 20px; }
.o_back2 { width: 90px; padding: 10px 0; }
.w_back2 { width: 100%; padding: 16px; }
.w_ttl02 { flex-wrap: wrap; }
.p_block { float: none; padding: 20px 0; width: 100%; }
.p_block.pcB2 { display: none; }
.p_block img { width: 100%; }
.w_ttl01 { padding-bottom: 24px; }
.block_05 { padding: 20px 20px 25px; }
}
@media all and (max-width: 480px) {.p_block img { width: 100%; }}

/* footer */
.footer { 
padding: 16px 20px;
background-color: #118aa5;
}
.footer p.cr_txt { font-size: 10px !important; margin-top: 5px; color: #fff; text-align: center; }

/* ページトップ */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
	width: 60px;
	height: 60px;
	display: block;
}
#page-top img {
	width: 100%;
	height: auto;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;}
#page-top:hover img {
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;}

img { max-width:100%; height: auto; }


@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.box_HH { width: 48%; margin-bottom: 40px; }
.box_3SP { width: 31%; }
.box_4SP { width: 23%; }
@media screen and (max-width: 1024px){
.box_4SP, .box_3SP { width: 47%; margin-bottom: 40px; }
.box_4SP:nth-child(3), .box_4SP:nth-child(4) { margin-bottom: 0; }
.box_3SP:last-child { margin-bottom: 0; }
}

@media screen and (max-width: 640px){
.box_4SP, .box_3SP { width: 100%; margin-bottom: 48px; }
.box_4SP:nth-child(3) { margin-bottom: 48px; } }

.flex_wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
.flex_wrap2 { display: flex; flex-wrap: wrap; justify-content: space-between; align-content: flex-start; }

@media screen and (max-width: 640px){
.box_HH { width:100%; margin-bottom: 60px; }
.box_HH:last-child { margin-bottom: 60px; }
}


a {
    color: #2648a1;
    text-decoration: none;
}
.ybox_wrap { width: 100%; max-width: 960px; margin: 0 auto; }
.ybox {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
	box-shadow: 0 10px 16px rgba(0, 0, 0, 0.3);
}
.ybox iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.mv_area { 
display: block;
width: 100%;
background-image: url("../images/mv_pc.jpg");
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
position: relative;
z-index: 1;
height: 47.65625vw;
}
.mv_cc { width: 85.9375%; position: absolute; left: 7.03125%; }
.ttl1 { top: 42.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 47.5%; }
.ttl2 { top: 13.1147541%; }
.ttl3 { top: 65.5737705%; }

@media screen and (max-width:640px){
.mv_area { background-image: url("../images/mv_sp.jpg"); height: 122vw; padding: 20px; }
.mvb_sp { position: relative; background-image: url("../images/mvb_sp.png"); background-size: cover; display: block; width: 100%; height: 100%; border: 1px solid rgba(255,255,255,0.7); }
.mv_cc { position: absolute; left: 0; }
.ttl2 { top: 2.5%; left: 5.4%; width: 72%; }
.ttl3 { top: 75.5%; left: 3%; width: 92%; }
.ttl1 { 
    top: 41%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 96%;}
}





/* flex */
.fb_img { width: 30%; }
.fb_txt { width: 66%; }
.fb_img2 { width: 30%; box-sizing: border-box; color: #015d74; display: flex; justify-content: space-between; }
.fb_txt2 { width: 66%; box-sizing: border-box; color: #015d74; }
.fb_img2_in01 { width: 60%; }
.fb_img2_in02 { width: 40%; }
@media screen and (min-width:769px){.flex_r { flex-flow: row-reverse; } }
@media screen and (max-width:768px){.flex_r2 { flex-flow: row-reverse; } }

@media screen and (max-width:1024px){
.fb_img { width: 36%; }
.fb_txt { width: 60%; }
.fb_img2 { width: 36%; }
.fb_txt2 { width: 60%; }
}

@media screen and (max-width:768px){
.fb_img, .fb_img2, .fb_txt, .fb_txt2 { width: 100%; }
.fb_img { padding: 30px 0 15px; text-align: center; }
.fb_img2 { padding: 0 0 30px; flex-flow: row-reverse; }
.fb_txt2 {  }
.fb_img img { display: inline-block; max-width: 320px; width: 80%; }
.fb_img2_in01 { width: calc(100% - 140px); }
.fb_img2_in02 { width: 120px; }
}



/* margin */
.mgBM8 { margin-bottom: -8px !important; }
.mgB0 { margin-bottom: 0 !important; }
.mgB5 { margin-bottom: 5px !important; }
.mgB8 { margin-bottom: 8px !important; }
.mgB10 { margin-bottom: 10px !important; }
.mgB16 { margin-bottom: 16px !important; }
.mgB20 { margin-bottom: 20px !important; }
.mgB24 { margin-bottom: 24px !important; }
.mgB30 { margin-bottom: 30px !important; }
.mgB40 { margin-bottom: 40px !important; }
.mgB20r { margin-bottom: 20px !important; }
.mgB60r { margin-bottom: 60px !important; }
.mgB80r { margin-bottom: 80px !important; }
.mgB100r { margin-bottom: 100px !important; }

.mgT10 { margin-top: 10px !important; }
.mgT20 { margin-top: 20px !important; }
.mgT30 { margin-top: 30px !important; }
.mgT40 { margin-top: 40px !important; }
.mgT50 { margin-top: 50px !important; }
.mgT60 { margin-top: 60px !important; }
.mgT60r { margin-top: 60px !important; }
.mgTM8 { margin-top: -8px !important; }
.mgTM12 { margin-top: -12px !important; }
.mgTM20 { margin-top: -20px !important; }
.pdT0 { padding-top: 0 !important; }

@media screen and (max-width:768px){
.mgB20r { margin-bottom: 14px !important; }
.mgB60r { margin-bottom: 40px !important; }
.mgT60r { margin-top: 40px !important; }
.mgB80r { margin-bottom: 60px !important; }
.mgB100r { margin-bottom: 60px !important; }
}

/* txt */
.fw_5 { font-weight: 500; }
.txt_c, .txt_cl { text-align: center !important; }
.txt_rc, .txt_rl2, .txt_rlc { text-align: right !important; }
.txt_200 { font-size: 200% !important; }
.txt_180 { font-size: 180% !important; }
.txt_160 { font-size: 160% !important; }
.txt_140 { font-size: 140% !important; }
.txt_120 { font-size: 120% !important; }
.txt_110 { font-size: 110% !important; }
.txt_90 { font-size: 90% !important; }
.txt_80 { font-size: 80% !important; }
.txt_70 { font-size: 70% !important; }
.txt_60 { font-size: 60% !important; }
.lh_16 { line-height: 1.6 !important; }
.lh_14 { line-height: 1.4 !important; }
.ls_01 { letter-spacing: 1px; }
h2 { font-size: 220%; letter-spacing: 1px; }
h3 { font-size: 140%; letter-spacing: 0.5px; }
h4 { font-size: 125%; letter-spacing: 1px; font-weight: 600; color: #015d74; margin-bottom: 32px !important; line-height: 1.4; }
h4 span { color: #edc213; font-family: "Lexend", sans-serif; font-weight: 500 !important; padding-top: 6px; display: block; font-size: 100%; }
h3.o_back2 { line-height: 1.2; font-size: 125% !important; display: flex; justify-content: center; align-content: center; align-items: center; flex-flow: column; }
@media screen and (max-width: 900px){.block_02 h4,.block_03 h4{margin-bottom: 30px !important;}}
@media screen and (max-width: 640px){.block_02 h4,.block_03 h4{margin-bottom: 10px !important;}}

.ttl_p_wrap { text-align: center; margin-bottom: 32px; }
.ttl_p {
    position: relative;
    padding: 0.75rem 4rem;
    text-align: center;
	display: inline-block;
}

.ttl_p::before,
.ttl_p::after {
    position: absolute;
    top: -3px;
    width: 10px;
    height: 100%;
    content: '';
    border-top: solid 1px #015d74;
    border-bottom: solid 1px #015d74;
}

.ttl_p::before {
    border-left: solid 1px #015d74;
    left: 0;
}

.ttl_p::after {
    border-right: solid 1px #015d74;
    right: 0;
}
.ttl_p h2 { color: #015d74; font-size: 220%; line-height: 1.5; padding-bottom: 1rem; }

.w_back2 h4 span { font-size: 90%; }
@media screen and (max-width: 991px){
.txt_rl2, .txt_rlc { text-align: left !important; } }
@media screen and (max-width: 768px){
.txt_rc, .txt_rlc { text-align: center !important; }
.txt_cl { text-align: left !important; }
}
@media screen and (max-width: 1024px){
.ttl_p h2 { font-size: 180%; padding-bottom: 0.75rem; }
.ttl_p {padding: 0.5rem 3rem;}}
@media screen and (max-width: 640px){
.ttl_p h2 { font-size: 150%; padding-bottom: 0.6rem; }
.ttl_p {padding: 0.5rem 1.75rem;}
h3{line-height: 1.3;}
.sp_banner { width: 85% !important; margin: 0 auto; }
.spb_block { padding-top: 10px !important; padding-bottom: 16px !important;}}
