@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/****reset
*****************************************/
html {
  font-size: 62.5%; }

html, body {
  width: 100%;
  height: auto; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  -webkit-text-decoration: normal;
  text-decoration: normal;
  cursor: pointer; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

input, select {
  vertical-align: middle; }



html {
font-size: 62.5%;
}

@media only screen and (max-width: 1000px) {
html {
font-size: 50%;
  }
}
@media only screen and (max-width: 768px) {
html {
  font-size: calc(100vw / 100);
  }
}

@media only screen and (max-width: 540px) {
html {
  font-size: calc(100vw / 75);
  }
}

body {
  color: #000000;
  font-family: "Noto Sans JP",Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  background: #FFFFFF;
  margin: 0;
  padding: 0;
  }

@media screen and (max-width: 768px) {
body {
}
}
body *{
	box-sizing:border-box;
	-webkit-text-size-adjust: 100%;
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto; }

a {
  text-decoration: none;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s; }

figure {
  line-height: 0; }

.center {
  text-align: center !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.left {
  text-align: left; }

.right {
  text-align: right; }

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
.f_en{
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body.fixed{
  position: fixed;
  width:100%;
}

#wrapper_all{
	position:relative;
    width: 100%;
    overflow: hidden;
}
#wrapper{
overflow: hidden;
}



#l-header_wrap a,
.footer a,
#wrapper a img {
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out; }

#l-header_wrap a:hover,
.footer a:hover,
#wrapper a:hover img {
  opacity: .85; }
a.mover_btn{
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;}
a.mover_btn:hover{
  opacity: .5 !important;
}

@media screen and (max-width: 768px) {
#wrapper{
}
}



/*****header****/
header {
  position: relative;
  height: 93px;
  font-size: 0;
  margin: 0 auto;
}
header .site-logo img {
  width: 370px;
  margin: 5px 0 0 20px;
}
header .link-tukyo {
  position: absolute;
  right: 20px;
  top: 60px;
  font-size: 14px;
  color: #000;
  text-decoration: none;
}
header .link-tukyo:before {
  content: "\f105";
  margin-right: 5px;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 12px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  display: inline-block;
  border-radius: 50%;
  padding-left: 1px;
  width: 14px;
  height: 14px;
  background: #04419c;
  vertical-align: middle;
  line-height: 14px;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
header .link-tukyo:hover {
  opacity: 0.8;
}
@media (max-width : 768px) {
header {
  min-width: 320px;
  position: relative;
  height: 65px;
}
header .site-logo img {
  max-width: 100%;
  margin: 4px 0 0px 15px;
  height: 57px;
  vertical-align: bottom;
  width: auto;
}
header .link-tukyo {
  position: absolute;
  right: 20px;
  top: 35px;
  font-size: 14px;
  color: #000;
  text-decoration: none;
}
header .link-tukyo:before {
  content: "\f105";
  margin-right: 5px;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: 12px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  display: inline-block;
  border-radius: 50%;
  padding-left: 1px;
  width: 14px;
  height: 14px;
  background: #04419c;
  vertical-align: middle;
  line-height: 14px;
  text-align: center;
  color: #fff;
  font-weight: bold;
}
header .link-tukyo:hover {
  opacity: 0.8;
}
}
@media screen and (max-width: 450px) {
  header .link-tukyo {
    display: block;
    position: relative;
    margin-left: 13px;
    top: auto;
    right: auto;
  }
}

/*****footer****/
footer {
width: 100%;
  box-sizing: border-box;
  text-align: center;
  background: #04419c;
  color: #fff;
  position: relative;
  z-index: 999;
  padding-bottom: 80px;
}
footer .logo {
  padding: 2.5em 0;
  background: #e8e1e0;
}
footer article {
  padding: 2em 0;
}
footer .nav li {
  position: relative;
  display: inline-block;
  margin: 0.8rem 0;
  line-height: 1.2;
}
footer .nav li a {
  display: inline-block;
  color: #fff;
}
footer .nav li {
  border-left: 1px solid #FFF;
  border-right: 1px solid #FFF;
}
footer .nav li+ li {
  border-left: 0;
  border-right: 1px solid #FFF;
}
footer .logo img {
  width: 220px;
}
footer article {
  display: table;
  width: 90%;
  max-width: 1100px;
  margin: auto;
}
footer article > * {
  display: table-cell;
}
footer .nav {
  font-size: 12px;
}
footer .nav li {
  padding: 0 1em;
}
footer .copyright {
  display: inline-block;
  font-size: 10px;
  white-space: nowrap;
  margin-left: 2.0rem;
}
@media (max-width : 768px) {
footer {
min-width: inherit;
}
footer .logo {
  padding: 2.5em 0;
}
footer article {
}
footer .nav {
  font-size: 2.2rem;
}
footer .nav li {
padding: 0 1.0em;
margin: 0.8rem 0;
}
footer .nav li a {
}
footer {
  padding-bottom: 8rem;
}
footer .logo img {
  width: 194px;
}
footer article {
width: 90%;
margin: 0 auto;
}
footer .nav li a {
}
footer article > * {
  display: block;
}
footer .copyright {
  padding-top: 3.0rem;
  text-align: center;
  display: block;
  font-size: 1.8rem;
  margin-bottom: 8.0rem;
  margin-left: 0;
}
}

/*****MV****/
.section {
  position: relative;
}
.section-top {
  position: relative;
  z-index: 200;
}
.section-top .kv_txt{
	position:absolute;
	width:100%;
	top:2%;
	text-align:center;
	margin:0 auto 0;
}
.section-top .kv_txt img{
	width:50%;
	max-width:900px;
	height:auto;
}

.section-top .kv_btm{
	position:absolute;
	width:100%;
	bottom:0%;
	text-align:center;
	margin:0 auto 0;
    background: rgba(255,255,255,0.80);
}
.section-top .kv_btm .kv_btm_txt{
padding: 15px 20px;
color: #112d6e;
font-size: 2.0rem;
font-weight: 500;
}
.section-top .kv_btm .kv_btm_txt span{
font-size: 1.6rem
}
.section-top .kv_btm .kv_btm_txt img{
	width:100%;
	max-width:750px;
	height:auto;
}
.video_wrap_sp{
display: none;
}
#bg-video{
min-width: 100%;
min-height: 100%;
width: 100%;
height: 100%;
z-index: -100;
background: url(../images/sanno_cm_2023_2.jpg) no-repeat;
background-size: cover;
}
video {
  filter: drop-shadow(0px 0px rgba(0,0,0,0));
  outline: none;
  border: none;
}
.top_mv{
	width:100%;
}
.top_mv img{
	width:100%;
	max-width:100%;
	height:auto;
}
@media (max-width : 768px) {
.section-top {
}
.section-top h1 img {
  width: 100%;
}
.section-top .kv_txt{
	position:absolute;
	width:96%;
	top:2%;
	left:2%;
	text-align:center;
	margin:0 auto 0;
}
.section-top .kv_txt img{
	width:90%;
	max-width:375px;
	height:auto;
}
.section-top .kv_btm{
	position:absolute;
	width:100%;
	bottom:0%;
	text-align:center;
	margin:0 auto 0;
    background: rgba(255,255,255,1.00);
}
.section-top .kv_btm .kv_btm_txt{
padding: 20px 10px;
font-size: 2.6rem;
}
.section-top .kv_btm .kv_btm_txt span{
font-size: 2.2rem
}
.video_wrap{
	width:100%;
	height: 530px;
	overflow:hidden;
	position:relative;
}
.video_wrap_pc{
display: none;
}
#bg-video{
width: auto;
max-width: 768px;
height: auto;
min-width: inherit;
min-height: inherit;
z-index: -100;
position:absolute;
left:50%;
top:0%;
transform: translateX(-50%) translateY(0%);
}
video {
}
.top_mv{
	width:200%;
	margin-left:-50%;
}
.top_mv img{
	width:100%;
	max-width:100%;
	height:auto;
}
}

/*****section-1****/
.section-1{
background: #3879bf;
color: #FFF;
padding: 8rem 0;
}
.section-1 .section_inn{
width: 90%;
max-width: 800px;
margin: 0 auto;
}
.section_ttl{
text-align: center;
font-size: 3.4rem;
font-weight: 700;
margin-bottom: 2.0rem;
}
.section_ttl_sub_read{
font-size: 1.6rem;
text-align: center;
}
.section-1_fig_01{
max-width: 680px;
margin: 6rem auto 8rem;
}
ul.sec_riyuu{
max-width: 600px;
margin: 0 auto;
line-height: 1.5;
}
ul.sec_riyuu li{
  padding: 0 0 0 40px;
  background-image: url("../img/sec1_check.png");
  background-repeat: no-repeat;
  background-size: 24px auto;
  background-position: 0 0;
  font-size: 2.2rem;
  font-weight: 500;
  margin: 0.8rem 0;
}
ul.sec_riyuu li span{
font-size: 1.4rem;
margin-left: 1.0rem;
}
@media screen and (max-width: 768px) {
.section-1{
padding: 6rem 0;
}
.section-1 .section_inn{
width: 90%;
margin: 0 auto;
}
.section_ttl{
font-size: 4.2rem;
margin-bottom: 3.0rem;
}
.section_ttl_sub_read{
font-size: 2.6rem;
}
.section-1_fig_01{
width: 94%;
margin: 5rem auto 6rem;
}
ul.sec_riyuu{
width: 94%;
max-width: inherit;
margin: 0 auto;
}
ul.sec_riyuu li{
  padding: 0 0 0 5.6rem;
  background-size: 3.6rem auto;
  background-position: 0 0;
  font-size: 3.0rem;
  font-weight: 500;
  margin: 1.2rem 0;
}
ul.sec_riyuu li span{
font-size: 2.2rem;
margin-left: 0rem;
display: inline-block;
}
}

/*****section-2****/
.section-2{
background: #FFFFFF;
color: #212121;
padding: 8rem 0;
}
.section-2 .section_inn{
width: 90%;
max-width: 800px;
margin: 0 auto;
}
.tokuchou{
margin-top: 3.0rem;
}
.tokuchou_box{
margin-top: 3.0rem;
}
.tokuchou_head{
font-size: 2.5rem;
font-weight: 600;
margin-bottom: 1.0rem;
text-indent: -1.1em;
  padding-left: 1.1em;
  line-height: 1.4;
}
.tokuchou_read{
font-size: 1.6rem;
}
.tokuchou_fig{
max-width: 610px;
text-align: center;
margin: 5.0rem auto 6.0rem;
}
@media screen and (max-width: 768px) {
.section-2{
padding: 6rem 0;
}
.section-2 .section_inn{
width: 90%;
margin: 0 auto;
}
.tokuchou{
margin-top: 5.0rem;
}
.tokuchou_box{
margin-top: 5.0rem;
}
.tokuchou_head{
font-size: 3.6rem;
margin-bottom: 1.5rem;

}
.tokuchou_read{
font-size: 2.8rem;
}
.tokuchou_fig{
}
.tokuchou_fig img{
max-width: 100%;
}
}


/*****section-3****/
.section-3{
background: #e3e3e3;
color: #212121;
padding: 8rem 0;
}
.section-3 .section_inn{
width: 90%;
max-width: 830px;
margin: 0 auto;
}
.section_movie_area{

}
.section_movie_block{
margin-top: 6.0rem;
}
.section_movie_head_sub{
  position: relative;
  text-align: center;
  padding: 0 4.0rem;
  font-size: 2.5rem;
  font-weight: 600;
  color: #005bac;
  margin-bottom: 0.5rem;
}
.section_movie_head_sub::before,
.section_movie_head_sub::after {
	content: '';
	width: 10px;
	height: 100%;
	position: absolute;
}
.section_movie_head_sub::before {
	border-left: solid 2px #005bac;
	border-top: solid 2px #005bac;
	border-bottom: solid 2px #005bac;
	top: 0;
	left: 0;
}
.section_movie_head_sub::after {
	border-right: solid 2px #005bac;
	border-top: solid 2px #005bac;
	border-bottom: solid 2px #005bac;
	top: 0;
	right: 0;
}
.yt-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
	 margin-top:2.0rem;
}
.yt-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.section_movie_name{
font-size: 1.6rem;
text-align: center;
margin: 1.0rem 0 0;
color: #005bac;
font-weight: 500;
}
.section_movie_name span{
margin-left: 1.5rem;
}
.section_movie_bnn{
margin-top: 8.0rem;
}
@media screen and (max-width: 768px) {
.section-3{
padding: 6rem 0;
}
.section-3 .section_inn{
width: 90%;
margin: 0 auto;
}
.section_movie_area{
}
.section_movie_block{
margin-top: 6.0rem;
}
.section_movie_head_sub{
  padding: 0 4.0rem;
  font-size: 2.8rem;
  margin-bottom: 0.5rem;
}
.section_movie_head_sub::before,
.section_movie_head_sub::after {
}
.section_movie_head_sub::before {
	border-left: solid 1px #005bac;
	border-top: solid 1px #005bac;
	border-bottom: solid 1px #005bac;
}
.section_movie_head_sub::after {
	border-right: solid 1px #005bac;
	border-top: solid 1px #005bac;
	border-bottom: solid 1px #005bac;
}
.section_movie_name{
font-size: 2.6rem;
margin: 1.5rem 0 0;
}
.section_movie_name span{
margin-left: 1.5rem;
}
.section_movie_bnn{
margin-top: 6.0rem;
}
}


/*****section-4****/
.section-4{
background: #e2e5ff;
color: #005bac;
padding: 8rem 0;
}
.section-4 .section_inn{
width: 90%;
max-width: 830px;
margin: 0 auto;
}
.section-4 .section_ttl_sub_read{
color: #212121;
}
.section_messe_wrap{
position: relative;
margin: 4.0rem auto 2.0rem;
}
.section_messe_txt{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 4.0rem;
font-weight: 700;
color: #112d6e;
text-align: center;
width: 90%;
}
@media screen and (max-width: 768px) {
.section-4{
padding: 6rem 0;
}
.section-4 .section_inn{
width: 90%;
margin: 0 auto;
}
.section_messe_wrap{
margin: 4.0rem auto 2.0rem;
}
.section_messe_txt{
font-size: 4.0rem;
}
}

.kousha_photo{
width: 100%;
height: 440px;
}
.kousha_photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media screen and (max-width: 768px) {
.kousha_photo{
height: 160px;
}
}

/*****section-5****/
.section-5{
background: #FFFFFF;
padding: 8rem 0;
}
.section-5 .section_inn{
width: 90%;
max-width: 830px;
margin: 0 auto;
}
.section_cp_qa {
}
.section_cp_qa dl {
	margin: 0;
    font-size: 1.6rem;
    font-weight: 500;
    color: #005bac;
}
.section_cp_qa dt {
	margin-bottom: 1.0rem;
	padding: 1.5rem 1.5rem 1.5rem 6rem;
    background: #f2f2f2 url("../img/qa_icon_q.png") 1.5rem 1.5rem no-repeat;
    background-size: 26px auto;
}
.section_cp_qa dd {
	margin-bottom: 1.5rem;
	margin-left: 0;
	padding: 1.5rem 1.5rem 1.5rem 6rem;
    background: url("../img/qa_icon_a.png")  1.5rem 1.5rem no-repeat;
    background-size: 26px auto;
}

@media screen and (max-width: 768px) {
.section-5{
padding: 6rem 0;
}
.section-5 .section_inn{
width: 90%;
margin: 0 auto;
}
.section_cp_qa dl {
    font-size: 2.6rem;
}
.section_cp_qa dt {
	margin-bottom: 1.0rem;
	padding: 2rem 2rem 2rem 8rem;
    background: #f2f2f2 url("../img/qa_icon_q.png") 2rem 2rem no-repeat;
    background-size: 4.2rem auto;
}
.section_cp_qa dd {
	margin-bottom: 1.5rem;
	margin-left: 0;
	padding: 2rem 2rem 2rem 8rem;
    background: url("../img/qa_icon_a.png")  2rem 2rem no-repeat;
    background-size: 4.2rem auto;
}
}





/*****float****/
.float_box{
position: fixed;
z-index: 1000;
bottom: 0;
left: 0;
width: 100%;
background: #e8ab34;
text-align: center;

}
.float_box_inn{
max-width: 750px;
display: flex;
justify-content: space-between;
margin: 0 auto;
}
.float_fig{

}
@media screen and (max-width: 768px) {
.float_box{
position: fixed;
z-index: 9999;
bottom: 0;
left: 0;
width: 100%;
font-size: 0;
}
.float_fig{
display: inline-block;
}
.float_fig img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.pc-only{ display:inline;}
.sp-only{ display:none;}
.pc-b-only{ display: block;}
.sp-b-only{ display:none;}
@media screen and (max-width: 768px) {
.pc-only{ display:none;}
.sp-only{ display:inline;}
.pc-b-only{ display: none;}
.sp-b-only{ display:block;}
}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

