@charset "UTF-8";


ul, dl {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

ol {
	padding: 0 0 0 1.4em;
	margin: 0;
	list-style-type: decimal;
}

body {
	font: 16px/1.5 "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, sans-serif;
	margin: 0;
	padding: 0;
	color: #231815;
	-webkit-text-size-adjust: 100%;
	min-width:1240px;/* iPad右切れハック */
}

.smp { display: none; }

.content {
	clear: both;
	width: 100%;
	padding:7.0em 0 7.0em;
	overflow: hidden;
	margin: 0 auto;
 z-index: 110;
}

.container, 
.smp_scroll {
	clear: both;
	width: 1220px;
	margin: 0 auto;
	padding:0;
	overflow: hidden;
}
	
	



a 		 			{ text-decoration: none;  color:#000; }
.block_section a,
.p_overview a 		 	{ text-decoration: none;  color:#0068b7; font-weight:bold; }
.container table a 		 			{ text-decoration: underline; color:#2e658b; }

@media screen and (min-width: 641px) {
  a:hover			{ text-decoration: none; color:#0068b7; cursor: pointer; }
		a:hover img { opacity: 0.6; }
		.block_section a:hover	 { text-decoration: none;  color:#33a6ff; font-weight:bold; }
		.bottun_type02 a:hover	 { text-decoration: none;  color:#33a6ff; font-weight:bold; }
}

a img 			{ border: none; }

p {
	margin:0 0 2.3em 0;
	line-height:1.5em;
	text-align: justify; /* 両端揃え */
   text-justify: inter-ideograph; /* 両端揃えの種類 */
}





h2 {
	font-size:375%;
  margin-top: 0;
}

h2 span {
  display: block;
	font-size:25%;
  font-weight: normal;
}

h3 {
	font-size:143%;
	text-align:center;
	margin-bottom: 0.4em;
}


	

/*-----背景mov---------------------------*/

body {
  padding: 0;
  margin: 0;
	  background-image:url(../movie/movie_frame.jpg);
		background-size: cover;
}

#big-video-wrap {
	color: #666; /* 動画のメッセージを目立たなくする */
 color: transparent;/* 動画のメッセージを透明にする */
 z-index: 1;
/* 	background-color:#666;
	*/
}

/*-----背景mov end---------------------------*/



#wrapper_top {
	width:100%;
	position: relative;
	margin-top:0px;
	background-image:url(../img/dot.png);
	background-repeat: repeat;
	z-index:90;
}

#wrapper_sec {
	width:100%;
	position: relative;
	margin-top:0px;
	background-color:#fff;
	z-index:90;
}



/*-----header---------------------------*/


.header_block {
  position: relative;
	display:block;
	/* height:204px; */
	width:100%;
	overflow:hidden;
	background-color:#fff;
	border-bottom:solid 1px #ccc;
}



.header_logo {
	display:block;
	width:20%;
	margin: 1em auto 2em;
  padding:0;
}

.header_logo img {
	width:100%;
  max-width: 30em;
}





/* ----------------------top promotion エリア---------------------- */


#promotion {
	height: calc(100vh - 100px);
	height: 800px;
	margin: 0 0 3.9em 0;
	margin: 0;
  position:relative;
  z-index:101;
	opacity: 1.0;
	text-align:center;
	overflow:hidden;
  backdrop-filter: blur(10px);
}

.promotion_watermark {
}

.promotion_watermark img {
width:100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
object-fit: cover;
opacity: 0.6;
/* right: 0; */
/* filter: drop-shadow(3px 3px 6px #000); */
}




/*------　トップページswiper　------------------------------------*/

.swiper-container {
  z-index: 2000;
}

.swiper {
  z-index: 2010;
  max-height: 448px;
}

.swiper .swiper-wrapper {
  z-index: 2020;
  max-height: 448px;
}

.swiper-slide {
  z-index: 2030;
}

  
.swiper {
  	width: 1200px;
	  margin: 205px auto 190px;
}
.swiper .swiper-wrapper {
	width: 100%;
}
.swiper .swiper-wrapper .swiper-slide img {
	width: 100%;
}




.header_swiper {
  z-index: 2010;
  max-height: 448px;
}

.header_swiper .swiper-wrapper {
  z-index: 2020;
  max-height: 448px;
}

.header_swiper .swiper-slide {
	background-color: #fff;
  z-index: 2030;
  background-position: right;/*表示する位置*/
  background-size: contain;/*背景画像の大きさ*/
  background-repeat: no-repeat;/*画像が繰り返すのを防ぐ*/
	
  height: 448px;
  display: flex;
  flex-direction: column;
  justify-content: center;
	
		padding: 1em 2em;
		text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1);
}

  
.header_swiper {
  	width: 1200px;
	  margin: 185px auto 170px;
}
.header_swiper .swiper-wrapper {
	width: 100%;
}
.header_swiper .swiper-wrapper .swiper-slide img {
	width: 100%;
}

   
.header_swiper h2 {
	font-size: 320%;
	line-height: 1.3;
}

.header_swiper h2 span {
	padding-left: 0.6em;
}
  
.header_swiper p {
	width: 20em;
}

  
.header_swiper .text-left {
	text-align: left;
	vertical-align: middle;
}

.header_swiper .text-center {
	text-align: left;
	vertical-align: middle;
	margin: auto;
}

.header_swiper .text-right {
	text-align: left;
	vertical-align: middle;
 margin: 0 0 0 auto;
}

/* ----------------------scroll---------------------- */

a.arrow {
	position: relative;
 /* padding-top: 60px;
  padding-top: 0px;
  bottom: 100px;　*/
	margin-top:-60px;
	color:#fff;
  z-index:103;
}
a.arrow:hover {
	color:#e55058;
}
a.arrow span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}


#body_contents {
	margin-top:-50px;
	padding-top:50px;
}


/*-----背景---------------------------*/


.bg_white,
.bg_white_half {
	background-color: rgba(255,255,255,1.0);
	overflow:hidden;
}

.bg_white h2,
.bg_white_half h2 {
  color: #2a1f69;
}

.bg_white h2 span,
.bg_white_half h2 span {
  color: #393939;
}

.bg_black_half {
	background-color: rgba(0,0,0,0.55);
	overflow:hidden;
}

.bg_black_half h2,
.bg_black_half h3,
.bg_black_half p,
.bg_dark_blue h2,
.bg_dark_blue h3,
.bg_dark_blue p {
  color: #fff;
}

.bg_white_half {
	background-color: rgba(255,250,250,0.55);
	overflow:hidden;
}

.bg_dark_blue {
	/* background-color: rgba(25,33,75,1.0); */
	overflow:hidden;
  background-image: linear-gradient(transparent, #18214b80 3%, #18214b88 10%, #18214bcc 35%, #18214bdd 55%);
}


.area_shadow_bottom {
  box-shadow: 0px 16px 16px 0px rgba(0, 0, 0, 0.4);
  margin-bottom: 10em;
}

.area_shadow_top {
  box-shadow: 0px -13px 12px 0px rgba(0, 0, 0, 0.45);
  margin-top: 1em;
}





/*-----共通---------------------------*/


.container {
}

.dsp_block {
	display:block;
}

.dsp_flex_btwn {
	display: flex;
	justify-content:space-between;
	width:100%;
}

.dsp_flex_arnd {
	display: flex;
	justify-content:space-around;
	width:100%;
}

.mg_auto {
	margin:0 auto;
}

.block_section {
	display:block;
	width:1080px;
	margin:0 auto 5em;
	overflow:hidden;
}

.w100, .left_w100 {	width: 100%; }
.w90 {	width: 90%; }
.w80 {	width: 80%; }
.w70 {	width:  calc( 70% - 1em ); }
.w67 {	width: 67%; }
.w60 {	width: calc( 60% - 1em ); }
.w55 {	width: 56%; }
.w50 {	width: calc( 50% - 1em ); }
.w45 {	width: 46%; }
.w40 {	width: calc( 40% - 1em ); }
.w35 {	width: 36%; }
.w30 {	width: calc( 30% - 1em ); }
.w30_president {	width: 30%; }
.w25 {	width: 26%; }
.w20 {	width: 20%; }
.w15 {	width: 12%; }
.w10 {	width: 10%; }


.image_right {
	display:block;
	margin-left:1em;
	float:right;
	text-align:left;
}

.image_left {
	display:block;
	margin-right:1em;
	float:left;
	text-align:left;
}

.image_right,.image_left, .image_center {
	margin-bottom:1.8em;
	font-size:90%;
}

.image_right img,
.image_left img {
	width:calc( 100% - 1em );
	margin-bottom:0.8em;
}

.image_right ul,.image_left ul {
	width:cack( 100% - 1em );
}

.image_center {
	width:100%;
	margin:2em 0 3em;
	text-align:center;
}

.image_center img {
	display:block;
	margin:0 auto 0.6em;
}

.three_photo img {
	display:inline-block;
	width:calc( 100% / 3 );
}



ul.ul_normal {
	margin: 1em 0 2em 2em;
}


ul.li_texticon {
  padding: 0 0 0 1.0em;
	text-indent:-1.0em;
  position: relative;
	overflow:hidden;
}
ul.li_texticon p {
	text-indent:0em;
  padding:0;
}
ul.li_texticon strong {
	text-indent:0em;
  padding:0;
}
ul.li_texticon li {
	margin: 0 0 0.6em 0;
  padding: 0;
}



ol.li_texticon {
  padding: 0 0 0 2.0em;
	text-indent:0em;
  position: relative;
	overflow:hidden;
}
ol.li_texticon p {
	text-indent:0em;
  padding:0;
}
ol.li_texticon strong {
	text-indent:0em;
  padding:0;
}
ol.li_texticon li {
	margin: 0 0 0.6em 0;
  padding: 0;
}





.icon_square li:before {
  content: "■";
}

.icon_circle li:before {
  content: "○";
}
.icon_check li:before {
  content: "\02714";
	margin-right:0.2em;
  color: #bf3100; /*アイコン色*/
	font-size:120%;
}
.icon_normal li:before {
  content: "・";
	margin-right:0.2em;
}


ul.li_texticon ol {
	margin: 0 0 2em 0;
  padding: 0 0 0 1.4em;
	text-indent:-1.4em;
  position: relative;
	overflow:hidden;
	list-style-type:decimal;
}

.icon_square ol li p {
	margin-bottom:1em;
}

.icon_square ol li:before {
  content: "　";
  color: #008fbf; /*アイコン色*/
	font-size:140%;
}




ol ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
		margin-top:0.6em;
}
 
ol li ol li {
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
}
ol li ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #666;
  color: #fff;
  display: block;
  float: left;
  line-height: 22px;
  margin-left: -30px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
}

ol.circle_ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
		margin-top:0.6em;
		margin-left:1.0em;
}
 
ol.circle_ol li {
  margin-bottom: 10px;
  padding-left: 30px;
  position: relative;
}
ol.circle_ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #666;
  color: #fff;
  display: block;
  float: left;
  line-height: 22px;
  margin-left: -30px;
  text-align: center;
  height: 22px;
  width: 22px;
  border-radius: 50%;
}








/*-----メニュー---------------------------*/

ul.menu_list {
  display: flex;
  flex-wrap: wrap;
	justify-content:space-between;
	width:100%;
}
ul.menu_list li {
  display: block;
  width:363px;
		margin-bottom:2em;
}

ul.menu_list li .menu_image {
  display: block;
  width:100%;
  height:203px;
}

ul.menu_list li .menu_image img {
  width:100%;
  height:203px;
		object-fit: cover;
	object-position: top;
}

ul.menu_list li .menu_text {
	display:block;
	width:calc( 100% - 3.8em );
	margin:0 auto;
}

/*

ul.menu_list li .menu_text h3,
#wrapper_sec ul.menu_list li .menu_text h3 {
	margin-top:1.2em;
	color:#0068b7;
}

ul.menu_list li a:hover .menu_text h3,
#wrapper_sec ul.menu_list li a:hover .menu_text h3 {
	color:#33a6ff;
}
*/








/*-----フッター---------------------------*/

#footer {
	width:100%;
	background-color: #1c1d1e;
	color: #fff;
	overflow:hidden;
}

#footer .container {
	display:block;
}

#footer .foooter_bottom_container {
}
#footer a {
	color: #fff;
}
#footer a:hover {
	text-decoration:underline;text-underline-offset: 0.3em;
}


.footer_menu {
	display: flex;
	justify-content:space-around;
	width:100%;
	margin:0 auto 3em;
}
.footer_menu > li {
	display: block;
	overflow:hidden;
	margin-bottom:1.4em;
}
.footer_menu > li > a {
	display: block;
	margin-bottom:1.6em;
}
.footer_menu > li > a.smp {
	display: none;
}
.footer_menu > li > ul {
	margin-top:-1.0em;
	margin-left:2em;
}
.footer_menu > li > ul li {
	margin-bottom:0.4em;
}







	

.footer_logo {
		display:block;
		width:20%;
		margin: 1em auto 1em;
  padding:0;
}

.footer_logo img {
		width:100%;
  max-width: 30em;
}



/*-----フッター　問い合わせフォーム表---------------------------*/

.footer_contact p {
	display: block;
	text-align: center;
	font-size: 120%;
}

.footer_contact > .t12 {
	text-align: center;
}

.footer_contact table {
	width: auto;
	margin: 0 auto;
}

.footer_contact table.company_summary {
	width: auto;
	margin: 0 auto 4em;
}



#footer form {
	/* display: block;
	margin-bottom: 2em; */
	overflow: hidden;
}

form table th,
.company_summary th {
	text-align: right;
}

form table td {
	width: 27.0em;
}

form table th,
form table td,
.company_summary th,
.company_summary td {
	padding: 0.4em 0.8em 0.3em;
}

.company_summary th {
	width: 8.6em;
	vertical-align: top;
}

.company_summary td {
	text-align: left;
}

#footer strong {
	display: block;
	margin-bottom: 0.8em;
}

form table td input[type="text"],
form table td textarea {
	width: 100%;
}

input[type="submit"],
input[type="reset"]{
	padding: 0.4em 1.2em 0.3em;
	border-radius: 0.6em;
	width: 9.6em;
}


/*-----フッター　コピーライト---------------------------*/

#footer_copy {
	color:#fff;
	padding:0.6em;
	text-align:center;
	overflow:hidden;
	margin-top: 2em;
}

#footer_copy span {
	display:inline-block;
}

.copyright_logo {
}
.copyright_logo img {
	height:26px;
	margin-bottom:0;
}
.copyright_text {
	margin:0 2em;
	vertical-align:20%;
}





















 @media screen and (max-width : 640px), projection {

body {
	font: 24px/1.5 "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", Arial, sans-serif;
	
	min-width:640px;
}




#wrapper_top {
	width:640px;
}

#wrapper {
	width:640px;
}


#body_contents {
	padding:0;
	margin:0;
}




.container {
	clear: both;
	width: 600px;
	margin: 0 auto 1.5em;
	
	margin: 0 auto;
}

.pc {
	display: none;
}
.smp {
	display: inline-block;
}


h2 {
			font-size: 220%;
}



/*-----背景mov---------------------------*/

body {
    padding: 0;
  margin: 0;
	background-size: contain;
}
#big-video-wrap {
  color: #666;/* 動画のメッセージを目立たなくする */
  color: transparent;/* 動画のメッセージを透明にする */
  z-index: 1;
  /display: none;/* IE6 7では動画非表示 */
	background-color:#fff;
	background-image: url("../img2/smp_background_01.jpg");
	background-size: cover;
}

/*-----背景mov end---------------------------*/



/*-----header---------------------------*/

/*
.header_block {
	display:block;
	width:100%;
	overflow:hidden;
	background-color:#fff;
	border-bottom:solid 1px #ccc;
	
	
	height:auto;
}

.header_line {
	display:block;
	width:100%;
	height:3px;
	background-color:#0068b7;
}
*/		


.header_logo {
    display: block;
    width: 20%;
    margin: 1.4em auto 1em;
    padding: 0;
	
	
    width: 40%;
}

.header_logo img {
    width: 100%;
    max-width: 30em;
}

		



/* ----------------------top promotion エリア---------------------- */


#promotion {
	height: calc(100vh - 100px);
	height: 800px;
	margin: 0 0 3.9em 0;
	margin: 0;
  position:relative;
  z-index:101;
	opacity: 1.0;
	text-align:center;
	overflow:hidden;
  backdrop-filter: blur(10px);
	
	
	height: auto;
}

.promotion_watermark {
}

.promotion_watermark img {
width:100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
object-fit: cover;
opacity: 0.6;
/* right: 0; */
/* filter: drop-shadow(3px 3px 6px #000); */
}


		
		
/*------　トップページswiper　------------------------------------*/

.swiper-container {
  z-index: 2000;
}

.swiper {
  z-index: 2010;
  max-height: 448px;
	
  max-height: 100vw;
}

.swiper .swiper-wrapper {
  z-index: 2020;
  max-height: 448px;
	
  max-height: 100vw;
}

.swiper-slide {
  z-index: 2030;
}

  
.swiper {
  	width: 1200px;
	  margin: 205px auto 190px;
	
	
  	width: 94%;
		margin: 1em auto;
}
.swiper .swiper-wrapper {
	width: 100%;
}
.swiper .swiper-wrapper .swiper-slide img {
	width: 100%;
}




.header_swiper {
  z-index: 2010;
  max-height: 448px;
	
  max-height: 54.5vw;
}

.header_swiper .swiper-wrapper {
  z-index: 2020;
  max-height: 448px;
	
  max-height: 54.5vw;
}

.header_swiper .swiper-slide {
	background-color: #fff;
  z-index: 2030;
  background-position: right;/*表示する位置*/
  background-size: cover;/*背景画像の大きさ*/
  background-repeat: no-repeat;/*画像が繰り返すのを防ぐ*/
	
  height: 448px;
  display: flex;
  flex-direction: column;
  justify-content: center;
	
		padding: 1em 2em;
		text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1);
	
  max-height: 54.5vw;
}

  
.header_swiper {
  	width: 1200px;
	  margin: 185px auto 170px;
	
	
  	width: 94%;
	  margin: 4em auto 4em;
}
.header_swiper .swiper-wrapper {
	width: 100%;
}
.header_swiper .swiper-wrapper .swiper-slide img {
	width: 100%;
}

   
.header_swiper h2 {
	font-size: 320%;
	line-height: 1.3;
	
	
	font-size: 160%;
}

.header_swiper h2 span {
	padding-left: 0.6em;
	font-size: 50%;
}
  
.header_swiper p {
	width: 20em;
	line-height: 1.3;
	font-size: 80%;
}

  
.header_swiper .text-left {
	text-align: left;
	vertical-align: middle;
}

.header_swiper .text-center {
	text-align: left;
	vertical-align: middle;
	margin: 0 auto;
}

.header_swiper .text-right {
	text-align: left;
	vertical-align: middle;
 margin: 0 0 0 auto;
}
		


		
		
h2 span {
    font-size: 46%;
}
		


.w100, .left_w100 {	width: 100%;	}
.w90													 {	width: 100%;	}
.w80													 {	width: 100%;	}
.w70													 {	width: 100%;	}
.w67													 {	width: 100%;	}
.w60													 {	width: 100%;	}
.w55													 {	width: 100%;	}
.w50													 {	width: 100%;	}
.w45													 {	width: 100%;	}
.w40													 {	width: 100%;	}
.w35													 {	width: 100%;	}
.w30													 {	width: 100%;	}
.w30_president			 {	width: 100%;	text-align:center;	}
.w30_president img {	width: 70%;	}
.w25													 {	width: 100%;	}
.w20													 {	width: 100%;	}
.w15													 {	width: 40%;	}
.w10													 {	width: 40%;	}










/*-----フッター---------------------------*/

#footer {
	width:100%;
	background-color: #323333;
	color: #fff;
	overflow:hidden;
}

#footer .container {
	display:block;
}
		
		
		
		

form table th,
.company_summary th {
	text-align: right;
	white-space: nowrap;
}
		
		
		

#footer .foooter_bottom_container {
}
#footer a {
	color: #fff;
}
#footer a:hover {
	text-decoration:none;
}



/*-----フッター　コピーライト---------------------------*/

#footer_copy {
	color:#fff;
	padding:0.6em;
	text-align:center;
	overflow:hidden;
}

#footer_copy span {
	display:inline-block;
	
	display:block;
}

.copyright_logo {
}
.copyright_logo img {
	height:26px;
	margin-bottom:0;
}
.copyright_text {
	margin:2em;
	vertical-align:20%;
}










/*-----top---------------------------*/


#wrapper_top {
	position: relative;
	/* 
	margin-top:-60px;
	margin-top:70px;
	*/
	background-image:url(../img/dot.png);
	background-repeat: repeat;
	z-index:90;
}

#wrapper {
	position: relative;
	margin-top:0px;
	background-color:#fff;
	z-index:90;
}

.content {
margin: 0 auto;
padding:3.6em 0;
  z-index: 110;
}




/*-----scroll↓---------------------------*/

.arrow {display:none;}



/*-----背景---------------------------*/










ul.menu_list {
}

ul.menu_list li {
  width:100%;
		
		border: solid 1px #ccc; /* 以下、メニューをボタン形状に */
  box-sizing: border-box;
		border-radius:0.8em;
  /*  background: #f7f7f7;
    background: -moz-linear-gradient(top, #f7f7f7 22%, #f7f7f7 22%, #e3e8ed 100%);
    background: -webkit-linear-gradient(top, #f7f7f7 22%,#f7f7f7 22%,#e3e8ed 100%);
    background: linear-gradient(to bottom, #f7f7f7 22%,#f7f7f7 22%,#e3e8ed 100%);
	*/
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#e3e8ed',GradientType=0 );
    box-shadow: 0 8px 8px #00000012;
}

ul.menu_list li .menu_image {
  height:auto;
	
	height:333px;
	overflow: hidden;
}

ul.menu_list li .menu_image img {
  height:auto;
		
		border-top-left-radius:    0.8em; /* メニュー　ボタン形状に */
		border-top-right-radius:  0.8em; /* メニュー　ボタン形状に */
}

ul.menu_list li .menu_text {
	margin-bottom: 1.2em;
}

ul.menu_list li .menu_text h3,
#wrapper_sec ul.menu_list li .menu_text h3 {
}

ul.menu_list li a:hover .menu_text h3,
#wrapper_sec ul.menu_list li a:hover .menu_text h3 {
}



}
