@charset "UTF-8";

/* ===================
▼▼▼ SMARTPHONE CSS
=================== */
@media screen and (max-width: 320px){
img{ max-width: 100%; height: auto; width /***/:auto; }

#container{
	text-align: justify; line-height: 1.2em; letter-spacing: 0.06em;
	color: #333333; width: 100%; padding: 80px 0; }


/* ▼▼▼ display ================== */
.PC-B      { display: none  !important; }
.PC-S      { display: none  !important; }
.PC-all    { display: none  !important; }
.PCTB      { display: none  !important; }
.PCSP      { display: block !important; }
.PC-S_TB   { display: none  !important; }
.PC-S_TBSP { display: block !important; }
.TB        { display: none  !important; }
.SP        { display: block !important; }
.TBSP      { display: block !important; }


/* ▼▼▼ BOX CENTER ================== */
/*index box_center*/
.box_center{
	position: relative; align-items: center;
	display: flex; justify-content: center; }

/*ページ最上部へセンタリング*/
.box_center01{
	position: absolute; top: 50%; left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%); }

/* 1行分をセンタリング*/
.box_center02{
	display: flex; justify-content: center; align-items: center; }
	
/* ▼▼▼ index BackGround  ================== */
.main-visual { 
	background-size: cover; text-align: center;
	height: 100vh; position: relative; overflow: hidden;
	background-image:url(../img/index_bg_sp.png);
	background-position: center bottom; } 
.main-visual video { display: none; }
.main-visual .box_visual {
	font-family: 'Lora', serif; color: #ffffff; font-size: 3.2rem;
	line-height: 1.4em; font-weight: 700; z-index: 2;
	position: absolute; top: 50px; left: 0; right: 0; bottom: 0;
	text-shadow: 1px 2px 5px #000; }
.main-visual .box_visual span{
	 font-size: 2rem; font-weight: 700;}

/* ▼▼▼ 2nd BackGround  ================== */
.main-visual_2nd { 
	text-align: center; overflow: hidden; margin-top: 59px;
	background-image: url("../img/2nd_title_tb.png");
	height: 230px; background-position: center top; }
.main-visual_2nd .title_box{
	display: flex; justify-content: center;	align-items: center; height: 230px;
	 	text-shadow: 1px 2px 5px #000; font-size: 1.6rem; color: #fff; }


/* ▼▼▼ header ================== */
/* 見出し */
.site-description{ display: none; }
	
	
/* ▼▼▼ footer ================== */
footer{ background-color: #0c3991; color: #ffffff; font-size: 0.8rem; }
footer a      { color: #ffffff !important; }


/* ▼▼▼ font size ================== */
.font_LL{ font-size: 2rem; }
.font_L{ font-size: 1.4rem; }
.font_M{ font-size: 1rem; line-height: 1.8rem; }
.font_S{ font-size: 0.9rem; line-height: 1.8rem; }


/* ▼▼▼ layout ================== */
.wrap{
	display: -webkit-box; display: -moz-box;
	display: -ms-flexbox; display: -webkit-flex; flex-wrap: wrap; }

.layout_center{ text-align: left; }

.layout_box{ width: 90%; margin-right: auto; margin-left: auto; }

.layout_cont{ width: 84%; margin-right: auto; margin-left: auto; }

.txt_box{
	width: 90%; margin-right: auto; margin-left: auto;
	line-height: 1.8rem; }


/* ▼▼▼ Space ================== */
.sp_L50{ padding-left: 0px; }
.sp_R50{ padding-right: 0px; }

.sp_LRTB80{ padding: 30px ; }
.sp_LR100TB80{ padding: 80px 50px; }

.spM_T30{ margin-top: 20px; }
.spM_T50{ margin-top: 30px; }
.spM_T80{ margin-top: 50px; }
.spM_T100{ margin-top: 50px; }

.spP_T10{ padding-top:10px; }
.spP_T20{ padding-top:10px; }
.spP_T30{ padding-top:20px; }
.spP_T50{ padding-top:20px; }
.spP_T80{ padding-top:30px; }
.spP_T120{ padding-top:80px; }

.spP_B30{ padding-bottom: 20px; }

.spP_TB80{ padding:80px 0; }
.spP_TB120{ padding:40px 0; }

.spP_T30B80{ padding:20px 0 40px 0; }
.spP_T80B30{ padding: 40px 0 20px 0; }
.spP_T120B20{ padding: 80px 0 10px 0; }


/* ▼▼▼ index ================== */
.index_box2_bg {
	background-image: url("../img/index_01_bg_tb.png");
	background-position: 50% 50%;
	background-size: cover; }

.index_box2{ width: 100%; }
.index_box2 .spc{ margin-top: 70px; margin-bottom: 70px; padding: 30px 15px; }

.index_box3{ width: 80%; margin-left:auto; margin-right:auto;}
.index_box3:nth-child(1){ padding: 30px 0 15px 0 ; }
.index_box3:nth-child(2){ padding: 15px 0 15px 0 ; }
.index_box3:nth-child(3){ padding: 15px 0 30px 0 ; }

.index_box4{ width: 100%; }

.index_box6{ width: calc(100% / 2); }
.index_box6:nth-child(1){ padding: 0 5px 5px 5px ; }
.index_box6:nth-child(2){ padding: 0 5px 5px 5px ; }
.index_box6:nth-child(3){ padding: 5px ; }
.index_box6:nth-child(4){ padding: 5px ; }
.index_box6:nth-child(5){ padding: 5px ; }
.index_box6:nth-child(6){ padding: 5px ; }


/* ▼▼▼ 2nd ================== */
.layout_box2{ width: 100%; margin-left:auto; margin-right:auto; }
.layout_box2 .sp_img{ margin-bottom: 15px; }

.companybox_L{
	width: 100%; padding: 30px 0; }
.companybox_R{
	width: 100%; padding: 0 0 0 0; }

.contact_bg_2nd{
	background-image: url("../img/2nd_contact_tb.png");
	background-position: center; padding: 30px 20px; color: #fff; }
.contact_bg_2nd span{
	font-size: 1.1rem; border-bottom: solid 3px #fff;
	padding: 0 0.5em 0.2em 0.5em; }
.contact_bg_2nd .box02_btn { font-size: 0.9rem; padding: 20px 5px; }
.contact_bg_2nd .button {
  background-color: #fff; color: #333; border-radius: 10px;	width: 200px;
  padding: 20px; margin-top: 30px; font-size: 1rem;
  box-shadow: 2px 2px 4px #0a2263;}
.contact_bg_2nd .button:hover {
  background-color: #1e50a2; color: #fff; }


/* --- */
.layout_box6a{ width: calc((100% - 5px) / 2); padding-top: 5px; }
.layout_box6a:nth-child(1){ margin: 0 0 0 0; }
.layout_box6a:nth-child(2){ margin: 0 0 0 5px; }
.layout_box6a:nth-child(3){ margin: 0 0 0 0; }
.layout_box6a:nth-child(4){ margin: 0 0 0 5px; }
.layout_box6a:nth-child(5){ margin: 0 0 0 0; }
.layout_box6a:nth-child(6){ margin: 0 0 0 5px; }


/* ▲▲▲ sp.css ================== */
}