@charset "utf-8";
body {
  margin: 0px;
  padding: 0px;
  color: #000; /*全体の文字色*/
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; /*フォント種類*/
  font-size: 15px; /*文字サイズ*/
  line-height: 2; /*行間*/
  -webkit-text-size-adjust: none;
}
ul {
  list-style-type: none;
}
.sp-header {
  width: 100%;
  background-color: #fff;
  height: 70px;
}
img.spimg {
  margin-top: -5px;
  margin-left: -20px;
}
.contents {
  clear: both;
  overflow: hidden;
  padding: 50px 0px; /*上下、左右へのボックス内の余白*/
}
/*inner共通
---------------------------------------------------------------------------*/
.inner {
  max-width: 1200px; /*サイトの最大幅　※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
  margin: 0 auto;
}
/*メイン画像
---------------------------------------------------------------------------*/
.main-box img {
  position: relative;
  width: 100%;
  height: 590px;
  object-fit: cover;
}

.main-text1 {
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 55px;
    font-weight: bold;
    letter-spacing: 5px;
    text-shadow: 1px 0 10px black;
}
.main-text_sub1 {
  position: absolute;
  top: 65%;
  left: 25.5%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 22px;
    letter-spacing: 0px;
    text-shadow: 2px 0 5px black;
}

.main-text2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 55px;
    font-weight: bold;
    letter-spacing: 5px;
    text-shadow: 1px 0 10px black;
}
.main-text_sub2 {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 22px;
    letter-spacing: 0px;
    text-shadow: 2px 0 5px black;
}
.main-text3 {
  position: absolute;
  top: 50%;
  right: -10%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 55px;
    font-weight: bold;
    letter-spacing: 5px;
    text-shadow: 1px 0 10px black;
}
.main-text_sub3 {
  position: absolute;
  top: 65%;
  right: -7%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 22px;
    letter-spacing: 0px;
    text-shadow: 2px 0 5px black;
    text-align: right;
}

html {
  width: 100%;
  height: 100%;
}
h1 {
  font-size: 38px;
}
h2 {
  font-size: 30px;
  text-align: center;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
h3 {
  font-size: 15px;
  color: #AAABAB;
  text-align: center;
  margin-top: -20px;
}
h3.coupon3 {
  font-size: 15px;
  color: #000;
  text-align: center;
  margin-top: -20px;
}
h4 {
  font-size: 22px;
  text-align: center;
}
h5 {
  font-size: 24px;
}
h6 {
  font-size: 18px;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
}
p {
  margin: 0 0 5px;
}
p.lead {
  font-weight: 100;
}
a {
  color: #000;
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: none;
  color: #483f3a;
}
a.anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

.ifrm_news {
width:100%;
height:300px;
border:none;
overflow:auto;
-webkit-overflow-scrolling:touch;
margin-bottom: 0px;
	padding: 0px;
}


.title1 {
  font-size: 50px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
  text-align: center;
}
.title2 {
  font-size: 50px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
}

.title2-1 {
  font-size: 50px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
}


.title3 {
  font-size: 25px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
    border-bottom: 2px solid #172244;
    margin-bottom: 15px;
}

.title-sub1 {
  font-size: 20px;
  color: #172244;
  font-weight: normal;
  text-align: center;
  margin-top: -20px;
}
.title-sub2 {
  font-size: 20px;
  color: #172244;
  font-weight: normal;
}

.title-sub4 {
  font-size: 20px;
  color: #172244;
  font-weight: normal;
    margin-top: -20px;
    margin-bottom: 20px;
}

.box-w {
  width: 100%;
  background-color: #ffffff;
  text-align: center;
  padding-bottom: 20px;
}




.css-fade4 {
  width: 100%;
  height: 100%;
  opacity: 0;
}
.css-fade4--in {
  animation-name: fade-in4;
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-delay: 0;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in4 {
  0% {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.css-fade5 {
  width: 100%;
  height: 100%;
  opacity: 0;
}
.css-fade5--in {
  animation-name: fade-in5;
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-delay: 0;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in5 {
  0% {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.css-fade6 {
  width: 100%;
  height: 100%;
  opacity: 0;
}
.css-fade6--in {
  animation-name: fade-in6;
  animation-duration: 2s;
  animation-timing-function: ease-out;
  animation-delay: 0;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in6 {
  0% {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
  clear: both;
  overflow: hidden;
  font-size: 16px;
  padding-top: 20px;
  margin-top: 0px;
  margin-bottom: 15px;
  z-index: 9999;
  font-weight: 600;
}
.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  background-color: #ffffff;
  z-index: 9999;
}
/*メニュー１個あたりの設定*/
#menubar li {
  float: left; /*左に回り込み*/
  width: 145px;
  margin-top: 20px;
}
#menubar li.menu-logo {
  margin-top: 0px;
  margin-right: 150px;
}
#menubar li a {
  display: block;
  text-decoration: none;
  text-align: center; /*内容をセンタリング*/
  padding: 5px 0; /*上下、左右へのボックス内の余白*/
}
/*１つ目のメニューへの追加設定*/
/*マウスオン時と、現在表示中(current)メニューの設定*/
#menubar li a:hover, #menubar li.current a { /*背景色*/
  color: #172244; /*文字色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {
  display: none;
}
/*３本バーアイコンを表示させない*/
#menubar_hdr {
  display: none;
}
/*画面幅1200px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1200px) {
  /*inner共通
---------------------------------------------------------------------------*/
  .inner {
    width: 1200px; /*サイト幅*/
  }
  #menubar li:first-child {
    margin-left: -50px;
  }
}
/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px) {
  /*inner共通
---------------------------------------------------------------------------*/
  .inner {
    width: 90%;
  }
  /*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
---------------------------------------------------------------------------*/
  /*ボタンブロック全体*/
  #fsize {
    display: none;
  }
  /*メインメニュー
---------------------------------------------------------------------------*/
  /*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明度(opacity)0%から透明度100%にする指定。*/
  @keyframes menu1 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  /*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	top: 50px;
	display: block;
	overflow: hidden;
	position: absolute;               /* 右からの位置指定 */
    top: 56px; 
	width: 100%;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
    z-index: 9999999;
	padding:  0px; 
	margin: 0px;
	margin-left: 0px;
	padding-left: 0px;
}
/*メニュー１個あたりの設定*/
	
#menubar-s ul {
	width: 100%;
	margin-left: 0px;
	padding-left: 0px;
}
	
#menubar-s li a {
	display: block;
	text-decoration: none;
	padding: 15px ;
	border-bottom: 1px solid #fff;
	background: rgba(0,64,152,0.9);
	color: #fff;
	font-size: 100%;
}
  /*PC用メニューを非表示にする*/
  #menubar {
    display: none;
  }
  /*３本バーアイコン設定
---------------------------------------------------------------------------*/
  /*３本バーブロック*/
  #menubar_hdr {
    display: block;
    position: absolute;
    top: 10px; /*上から3%の場所に配置*/
    right: 2%; /*右から3%の場所に配置*/
  }
    .h-text {
        position: absolute;
    font-size: 10px;
        top: 50px;
        right: 4.5%; /*右から3%の場所に配置*/
  }
  /*アイコン共通設定*/
  #menubar_hdr.close, #menubar_hdr.open {
    width: 50px; /*幅*/
    height: 50px; /*高さ*/
  }
  /*三本バーアイコン*/
  #menubar_hdr.close {
    background:  url(../images2/icon_menu.png) no-repeat center top/50px;
  }
  /*閉じるアイコン*/
  #menubar_hdr.open {
    background:  url(../images2/icon_menu.png) no-repeat center bottom/50px;
  }
}
img.shop-img {
  margin-left: 20px;
}
.menu-text {
  text-align: left;
  font-size: 18px;
  float: left;
}
.menu-fee {
  text-align: right;
  font-size: 18px;
}
/* misc */
hr {
  margin-top: 5px;
}
hr.bold {
  border-top: 2px solid #000;
}
.bg-about {
  background: #edf1f6;
  margin: 30px 0px;
    padding: 35px 0px;
}

.bg-works1 {
  margin-top: 50px;
}

.bg-works2 {
  background-image: url("../images2/bgworks.jpg");
  margin-top: 170px;
}

.bg-recruit {
  background-image: url("../images2/bgrecruit.jpg");
    background-size:cover;
  background-position:50%;

}

.bg-news {
  margin: 50px 0px 30px;
}
.bg-white {
  margin: 50px 0px;
}

.bg-footer {
  background: #111d3d;
}
.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #7b963f;
  border: solid 2px #172244;
  background: #fff;
  border-radius: 5px;
  transition: .4s;
  margin: 20px 0;
  font-size: 18px;
}
.btn-flat-border:hover {
  background: #7b963f;
  color: white;
}

.button003 a {
  background: #fff;
  border: 1px solid #172244;
  border-radius: 50px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 20px 0px;
  max-width: 260px;
  padding: 5px 25px;
  color: #172244;
  transition: 0.3s ease-in-out;
  font-weight: 500;
}
.button003 a:hover {
  background: #172244;
  color: #FFF;
}

/* ===========================
--- 下層ページ
============================ */
.title_obi {
  width: 100%;
}

table.company_t1 {
  width: 100%;
    border-spacing: 0px;
    margin-bottom: 50px;
}

table.company_t1 td {
    padding: 15px;
}

table.company_t1 td.ct_td1 {
    background-color: #c6d4e0;
    text-align: center;
}

table.company_t2 {
  width: 100%;
    border-spacing: 0px;
    margin-bottom: 20px;
}
table.company_t2 td {
    padding: 15px;
    border-bottom: 1px solid;
}

table.company_t2 td.ct_td1 {
    background-color: #d9d9da;
    text-align: center;
}

.p_text {
    font-size: 30px;
    margin: 20px 0;
}

/* ===========================
--- お問い合わせ
============================ */

.telno {
    font-size: 30px;
    font-weight: bold;
    margin: 20px 0;
}

table.formTable {
    width: 80%;
	font-size: 15px;
	background-color: #FFFFFF;
    border-collapse: collapse;
    border: 1px solid #000;
}
table.formTable th,td {
	padding: 15px;
}
    
table.formTable th {
	color: #000000;
	text-align: left;
    background-color: #e6edf6;
	width: 30%;
}	  
.textbox {
  border: 1px solid #606060;
  color: #000;
  opacity: .7;
  border-radius: 5px;
  padding: 10px;
  text-align: left;
  width: 100%;
  transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  font-size: 16px;
  outline: none;
  background-color: #FFF;
}
.textbox3 {
  border: 1px solid #606060;
  color: #000;
  opacity: .7;
  border-radius: 5px;
  padding: 10px;
  text-align: left;
  width: 30%;
  transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  font-size: 16px;
  outline: none;
  background-color: #fff;
margin-bottom: 10px;
}

textarea {
  resize: none;
  width:100%;
	background-color: #F1F1F1;
	padding: 10px;
}
.privacy_box {
	overflow:auto;
	height:200px;
    padding: 0.5em 1em;
    margin: 0.5em 0;
    border: solid 1px #000000;
	background: #fff;
}
.privacy_box p {
	text-align: left;
    margin: 0; 
    padding: 0;
}
	
@media screen and (max-width: 768px) {
table.formTable {
    width: 100%;
}
    
table.formTable th {
	display: block;
	width: 100%;
	padding: 5px;
}
		
table.formTable td {
	display: block;
	width: 100%;
	padding: 5px;
}
.main-title {
	margin-bottom: 20px;
}
.main-title img {
	width: 100%;
}
.title-m2 {
	width: 300px;
	font-size: 130%;
	margin-top: 20px;
}
.title-s {
	font-size: 100%;
}
.sg-title{
	font-size: 16px;
	margin 20px 0px;
}
	
}
.select-box01 {
	font-size: 17px;
}
.select-box02 {
	font-size: 22px;
}
.sub{
	font-size: 22px;
}


input#submit_button {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #fff;
	background: #a6a6a7;
  border-radius: 5px;
  transition: .4s;
font-size: 20px;
}

input#submit_button:hover {
  background: #f39939;
  color: white;
}

/* ===========================
--- Footer
============================ */
table.t-footer {
  width: 100%;
}
table.t-footer td {
  padding: 30px 20px;
  color: #ffffff;
}
table.t-footer a {
  color: #ffffff;
}
table.t-footer a:hover {
  color: #574c64;
}
.f-text {
  font-size: 12px;
  background-color: #313333;
  text-align: center;
  color: #ffffff;
  padding: 10px;
}
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
@media only screen and (max-width: 1024px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  body {
    font-size: 13px;
  }
   .main-box {
    overflow: hidden;  
  }   
  .main-box img {
    position: relative;
    width: 100%;
    height: 350px;
    object-fit: cover;
    margin-top: 0px;
      overflow: hidden;
  }
.main-text0 {
  position: absolute;
  top: 70%;
  left: 30%;
  transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 1px 0 10px black;
    text-align: center;
}
 .main-text_sub0 {
  display: none;
}
.main-text1 {
  position: absolute;
  top: 70%;
  left: 10%;
  transform: translate(0);
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 1px 0 10px black;
    text-align: center;
}
 .main-text_sub1 {
  display: none;
}
    
.main-text2 {
  position: absolute;
  top: 70%;
  left: 18%;
  transform: translate(0);
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 1px 0 10px black;
    text-align: center;
}
 .main-text_sub2 {
  display: none;
}  
  
.main-text3 {
  position: absolute;
  top: 70%;
  left: 15%;
  transform: translate(0);
    color: #ffffff;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 2px;
    text-shadow: 1px 0 10px black;
    text-align: center;
}
 .main-text_sub3 {
  display: none;
}  
    
  .contents {
    padding: 0px 0px; /*上下、左右へのボックス内の余白*/
  }
  a.anchor {
    display: block;
    padding-top: 0px;
    margin-top: 0px;
  }
  h1 {
    font-size: 22px;
  }
  h2 {
    font-size: 22px;
    text-align: center;
  }
  h3 {
    font-size: 15px;
  }
  h4 {
    font-size: 15px;
  }
    
.bg-about {
  overflow: hidden;
}
    
    
.bg-works1 {
  margin-top: 20px;
}
    
.bg-works2 {
  margin-top: 10px;
    padding: 20px 0px;
}
  
.bg-news {
  margin: 20px 0px 20px;
}
.bg-recruit {
  color: #fff;
    padding: 15px;
    }
 
.bg-white {
  margin: 15px 0px;
}
    
.ifrm_news {
width:100%;
height:100%;
border:none;
overflow:auto;
-webkit-overflow-scrolling:touch;
margin-bottom: 0px;
	padding: 0px;
}
    
.title1 {
  font-size: 30px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
  text-align: center;
}
.title2 {
  font-size: 28px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
}
  
.title2-1 {
  font-size: 28px;
  font-weight: bold;
  color: #fff;
  font-family: Arial, Helvetica, "sans-serif";
}
    
.title3 {
  font-size: 20px;
  font-weight: bold;
  color: #172244;
  font-family: Arial, Helvetica, "sans-serif";
}
    
.title-sub1 {
  font-size: 15px;
  color: #172244;
  font-weight: normal;
  text-align: center;
  margin-top: -10px;
}
.title-sub2 {
  font-size: 15px;
  color: #172244;
  font-weight: normal;
     margin-top: -0px;
}
    
.title-sub3 {
  font-size: 15px;
  color: #172244;
  font-weight: normal;
     margin-top: -15px;
    margin-bottom: 20px;
}
 .title-sub4 {
  font-size: 15px;
  color: #fff;
  font-weight: normal;
  margin-top: -10px;
} 

    
  .menu-text {
    text-align: left;
    font-size: 13px;
    float: left;
  }
  .menu-fee {
    text-align: right;
    font-size: 13px;
  }
  .btn-flat-border {
    display: inline-block;
    padding: 0.1em 1em;
    margin: 20px 0;
    font-size: 13px;
  }
    .s1{
      margin-left: -20px;
  }
    
    .s2{
      margin-left: 20px;
  }
    .p_text {
    font-size: 25px;
    margin: 10px 0;
}
    
    iframe.youtube {
    width: 100%;
  }
    
  table.t-footer {
    width: 100%;
      padding: 30px 0px;
  }
  table.t-footer td {
      width: 100%;
    display: block;
    padding: 5px;
      text-align: center;
      font-size: 11px
  }
    .f-text {
  font-size: 10px;
  padding: 5px;
}
.telno {
    font-size: 20px;
    font-weight: bold;
    margin: 5px 0;
}
  .access-t td {
    display: block;
    width: 100%;
  }
  iframe.access-g {
    width: 100%;
    height: 400px;
  }
.button003 a {
  margin: 20px auto;
}
}