@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
  --dark:#333333;
  --blue-001:#E4EFF4;
  --blue-002:#A7D2E8;
  --blue-003:#5296B8;
  --blue-004:#005C8A;
  --link-blue:#2BB9FA;
  --light-dark:#5296B8;
  --gray:#EEEEEE;
  --gray-001:#DBDBDB;
  --gray-form-placeholder:#bfbfbf;
  --red:#c81841;
  --orange:#FF9900;
  --white:#FFFFFF;
}

html{
  font-size: 100%; /*16px*/
  letter-spacing : 0.05em;
}

body {
  background-color: var(--blue-001);
  font-family: "Arial","Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color:var(--dark);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  line-height: 1.5;
  font-style: normal;
}

.title_english{
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  color: var(--blue-004);
  margin-top: 8px;
}

.title_english_s{
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 0.8em;
  color: var(--blue-004);
}

.main_copy {
  font-size: clamp(36px, 11.1vw, 64px);
  font-weight: 700;
  margin-bottom: -8px;
}

.main_copy_english{
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: clamp(18px, 4.5vw, 26px);
  /* font-size: 26px; */
  color: var(--blue-004);
}

.main_copy_read{
  font-size: 18px;
  line-height: 1.8;
}

.info{
  background-color: var(--white);
  border-radius: 8px;
  padding:12px;
}

.info_date{
  font-weight: 700;
  color: var(--blue-004);
}

.new {
  background-color: var(--orange);
  padding: 8px 8px;
  border-radius: 8px;
  color: var(--white);
  text-align: center;
  letter-spacing : normal;
}

.new_off {
  background-color: var(--gray-001);
  padding: 8px 8px;
  border-radius: 8px;
  color: var(--white);
  text-align: center;
  letter-spacing : normal;
}

.required_icon {
  background-color: var(--orange);
  padding: 2px 4px;
  border-radius: 4px;
  color: var(--white);
  font-size: 14px;
  float: right;
  margin-bottom: 0x;
}

.top-line{
  border-top: 2px solid var(--gray);
}

.bottom-line{
  border-bottom: 2px solid var(--gray);
}

.menu_icon{
  font-size: 1.1em;
}

.contents_margin{
  padding-top: 100px;
}

/* ハンバーガーメニュー調整 */

.offcanvas, .offcanvas-lg, .offcanvas-md, .offcanvas-sm, .offcanvas-xl, .offcanvas-xxl {
  background-color: var(--blue-002) !important;
}

/* ボタン類 */

.btn_link a{
  background-color: var(--blue-004);
  border:2px solid var(--blue-004);
  border-radius: 100px;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
  padding:10px 50px !important;
  transition : .2s;
  text-decoration: none;
}

.btn_link a:hover{
  background-color: var(--white);
  border:2px solid var(--blue-004);
  color: var(--blue-004);
  transition : .2s;
}

.btn_submit{
  background-color: var(--blue-004);
  border:2px solid var(--blue-004);
  border-radius: 100px;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
  padding:10px 80px !important;
  transition : .2s;
}

.btn_submit:hover{
  background-color: var(--white);
  border:2px solid var(--blue-004);
  color: var(--blue-004);
  transition : .2s;
}

div.mfp_buttons {
	clear: both;
	padding: 10px 0px;
	text-align: center;
}

.mfp_buttons button{
  background-color: var(--blue-004);
  border:2px solid var(--blue-004);
  border-radius: 100px;
  font-weight: 700;
  color: var(--white);
  line-height: 1;
  text-align: center;
  padding:8px 10px !important; 
  transition : .2s;
}

.mfp_buttons button:hover{
  background-color: var(---white);
  border:2px solid var(--blue-004);
  color: var(--blue-004);
  transition : .2s;
}

.close{
  border-radius: 4px;
  border: 1px solid var(--gray-001);
  margin-bottom: 4px;
}

/* イメージサイズ調整 */

.images_width{
  width: 80%;
}

/* works */

.card_text_box {
  padding: 10px 0;
  width: 100%;
  background-color: var(--white);
  border-top: 2px solid var(--gray);
}

/*会社情報*/

.line_layout dl {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}

.line_layout dt {
  width:100%;
  border-top: 2px solid var(--gray-001);
  padding: 15px 15px 0px 15px;
  font-weight: 700;
  color: var(--blue-004);
  margin-bottom: 4px;
}

.line_layout dd {
  width: 100%;
  border-top: none;
  padding: 0px 15px 15px 15px;
  margin-bottom: 0px;
}

.line_last_t{
  border-bottom: none;
}

.line_last{
  border-bottom: 2px solid var(--gray-001);
}

/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.form_style{
  border: 2px solid var(--gray);
  background-color: var(--white);
}

.form_check_style input[type=checkbox] {
	-moz-transform:	scale(1.4);
	-webkit-transform:scale(1.4);
	transform:scale(1.4);
  border-radius: 0 !important;
  color: var(--dark) !important;
  margin-right: 5px;
  border: 2px solid var(--gray);
  /* vertical-align: baseline; */
}

.form-check-label{
  margin: 0px 10px 0px 0px !important;
}

.form-title{
  padding-top:20px !important;
}

.scrool_box{
  width: 100%;
  height:260px;
  overflow-x: auto;
  border: 2px solid var(--gray);
  background-color: var(--white);
  padding: 15px;
}

.form_select_start{
  color: var(--gray-form-placeholder) !important;
}

/* ▼IE10・IE11用 */
:-ms-input-placeholder {
  color: var(--gray-form-placeholder) !important;
}

/* ▼Chrome・Safari・Opera用(※1：Edgeでも有効) */
::-webkit-input-placeholder {
  color: var(--gray-form-placeholder) !important;
}

/* ▼Firefox18以前用(※2) */
:-moz-placeholder {
  color: var(--gray-form-placeholder) !important;
}
/* ▼Firefox19以上用(※3) */
::-moz-placeholder {
  color: var(--gray-form-placeholder) !important;
}

/* ▼CSS4標準(予定)の記述 */
::placeholder {
  color: var(--gray-form-placeholder) !important;
}

@media (min-width: 576px) {

}
@media (min-width: 768px) {
  .line_layout dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    text-align: left;
  }

  .line_layout dt {
    width: 35%;
    border-top: 2px solid var(--blue-002);
    padding: 20px;
    font-weight: 700;
    color: var(--blue-004);
    margin-bottom: 0px;
  }

  .line_layout dd {
    width: 65%;
    border-top: 2px solid var(--gray-001);
    padding: 20px;
    margin-bottom: 0px;
  }

  .line_last_t{
    border-bottom: 2px solid var(--blue-002);
  }
  
  .line_last{
    border-bottom: 2px solid var(--gray-001);
  }

  .form-title{
    padding-top:26px !important;
  }
}
@media (min-width: 992px) {
  .main_copy {
    font-size: 52px;
  }
  
}
@media (min-width: 1200px) {
  .main_copy {
    font-size: 62px;
  }

}
@media (min-width: 1400px) {
  .main_copy {
    font-size: 64px;
  }

}

.header_style{
  background: linear-gradient(180deg, rgba(255,255,255,0.9) 0%,rgba(255,255,255,0) 100%);
  color: var(--dark);
  padding-top: 10px;
}

footer{
  color:var(--white);
  background:linear-gradient(180deg, var(--blue-002) 0%, var(--blue-003) 100%);
  padding: 100px 20px 30px 20px;
}

.contents_height{
  min-height:768px;
}

/*メインイメージ用背景指定*/

.top_background{
  background:linear-gradient(180deg, var(--blue-002) 0%, var(--blue-001) 100%);
  background-size:cover;
  padding-top: 100px;
}

/*メインイメージ用背景指定 end*/