/* -----------------------------------
 共通
----------------------------------- */
html {
 -webkit-text-size-adjust: 100%;
 font-size: 10px;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-family: 'Noto Sans JP', 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
  color: var(--general_color);
  font-size: 1.4rem;
  /* background: #f5f3ed; */
}
a {
	text-decoration: none;
	color: #333;
  display: block;
  transition: .3s;
}
a:hover {
	opacity: .7;
}
.anchor_init {
  text-decoration: underline;
  display: inline;
  color: #551a8b;
}
img {
	display: block;
  width: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover';
}
ul,ol {
	list-style: none;
}
iframe {
  width: 100%;
  height: 100%;
}
strong {
  text-decoration: underline;
}
.overflow_hidden {
  overflow: hidden;
  display: block;
}
.grecaptcha-badge {
  visibility: hidden;
}

/* -----------------------------------
 フォント
----------------------------------- */
.font_mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 600;
}
.font_avenir {
  font-family: "Avenir Next",Avenir,Lato,Arial,Ebrima,Modern,sans-serif;
}
.font_roboto {
  font-family: 'Roboto', sans-serif;
}
.font_roboto_flex {
  font-family: 'Roboto Flex', sans-serif;
}
.font_mplus1p {
  font-family: "M PLUS 1p";
}
.font_oswald {
  font-family: 'Oswald', sans-serif;
}
.font_libre {
  font-family: 'Libre Baskerville', serif;
}

/* -----------------------------------
 変数
----------------------------------- */
:root {
	--general_color: #333;
	--beige: #f5f3ed;
	--base_color: #553f87;
	--dark_gray: #44514b;
	--line_gray_color: #dfdfdf;
	--line_dark_gray_color: #666;
	--bg_light_gray: #f6f7f8;
	--svg_white: brightness(0) invert(1);
	--svg_base_color: invert(0%) sepia(89%) saturate(7447%) hue-rotate(168deg) brightness(108%) contrast(97%);
}
:root {
	--side_padding: 25px;
	--header_height: 60px;
}

/* -----------------------------------
 文字カラー
----------------------------------- */
.txt_bc {
  color: var(--base_color);
}
.txt_bc a {
  color: var(--base_color);
}
.txt_white {
  color: #ffffff;
}
.txt_white a {
  color: #ffffff;
}
.txt_gray {
	color: #777777;
}
.txt_gray a {
	color: #777777;
}
.txt_light_gray {
	color: #999;
}
.txt_light_red {
	color: #f294a6;
}

/* -----------------------------------
 背景カラー
----------------------------------- */
.bg_base {
	background: var(--base_color);
}
.bg_corp {
	background: var(--corp_color);
}
.bg_corp_g {
	background: linear-gradient(135deg, var(--corp_color) , #043172);
}
.bg_white {
	background: #fff;
}
.bg_gray {
	background: #777777;
}
.bg_light_gray {
	background: #f6f7f8;
}
.bg_dark_gray {
	background: #333;
}

/* -----------------------------------
 svgカラー
----------------------------------- */
.svg_base_color {
	filter: var(--svg_base_color);
}
.svg_white {
	filter: var(--svg_white);
}

/* -----------------------------------
 共通アイテム
----------------------------------- */
section {
  margin-bottom: 80px;
}
.both_margin {
  padding-right: var(--side_padding);
  padding-left: var(--side_padding);
  box-sizing: border-box;
}

/* -----------------------------------
 見出し
----------------------------------- */
.g_head_01 {
  margin-bottom: 20px;
  text-align: center;
}
.g_head_01 .en {
  display: block;
  font-size: 4.2rem;
  font-weight: 600;
  color: var(--line_gray_color);
  font-family: 'Libre Baskerville', serif;
}
.g_head_01 .jp {
  font-size: 1.8rem;
  margin-top: -30px;
}

.g_head_02 {
  margin-bottom: 20px;
}
.g_head_02 .en {
  display: block;
  font-size: 4.2rem;
  font-weight: 600;
  color: var(--line_gray_color);
  font-family: 'Libre Baskerville', serif;
}
.g_head_02 .jp {
  font-size: 2.2rem;
  margin-top: -5px;
}

.g_head_03 {
  margin-bottom: 20px;
}
.g_head_03 .jp {
  font-size: 2.2rem;
}

.g_head_04 {
  font-size: 3.2rem;
}

/* 下部お問い合わせ */
.title_tp {
  margin-bottom: 20px;
}
.title_tp .en,
.title_tp .jp {
  display: block;
}
.title_tp .en {
  font-size: 1.6rem;
  font-weight: 600;
}
.title_tp .jp {
  font-size: 2.4rem;
}

/* モバイル・PC表示非表示 */
.pc {
  display: none;
}

/* ----------------------------------------
viewmoreボタン
---------------------------------------- */
.view_more_btn {
  background: var(--base_color);
  font-weight: 600;
  line-height: 42px;
  margin: 50px auto 0;
  width: 220px;
  max-width: 400px;
  border-radius: 50px;
  position: relative;
  overflow: hidden;
  font-size: 1.4rem;
}
.view_more_btn a {
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* ----------------------------
スライダー
---------------------------- */
.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 200px;
  overflow: hidden;
  padding: 0rem 0;
}
.slider1 ul {
  display: flex;
  padding: 0;
  margin: 0;
}
.slider1 li {
  width: 300px;
  list-style: none;
  margin: 0 0px;
}
.slider1 li img {
  height: 100%;
}
.slider1 ul:first-child {
  animation: slide1 80s -40s linear infinite;
}
.slider1 ul:last-child {
  animation: slide2 80s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }

  to {
    transform: translateX(-100%);
  }
}
@keyframes slide2 {
  0% {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}

/* ----------------------------
footer
---------------------------- */
.f_contact {
	padding-top: 50px;
	padding-bottom: 58px;
	margin-bottom: 0px;
	background-image: url(../image/contact.jpg);
	background-size: cover;
	position: relative;
}
.f_contact:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	z-index: 0;
}
.f_contact .inner {
	z-index: 1;
	position: relative;
}

.f_contact_title {
  text-align: center;
  margin-bottom: 30px;
}

.f_contact_link {
  font-size: 1.6rem;
	font-weight: 700;
}
.f_contact_link h3 {
  font-size: 1.5rem;
}

/* 電話 */
.f_contact_link_tel {
  text-align: center;
  margin-bottom: 30px;
}
.f_contact_link_tel a {
  font-size: 3.2rem;
  /* font-weight: 700; */
  margin-bottom: 5px;
}
.f_contact_link_tel p {
  /* font-weight: 700; */
	font-size: 1.2rem;
}

/* フォーム */
.f_contact_link_form {
  text-align: center;
}
.f_contact_link_form a {
	font-size: 1.6rem;
	display: inline-block;
	position: relative;
}
.f_contact_link_form a:after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  border-top: 1px solid #fff;
}


/* -----------------------------------
 スクロールアニメーション
----------------------------------- */
/* フェードイン */
.sc_fadein {
	opacity : 0;
  transform: translateY(20px);
	transition : 0.5s;
}
.sc_fadein_disp {
	opacity : 1;
	transform: translateY(0px);
}

/* 横からフェードイン */
.fade_side {
	opacity : 0;
  transform: translateX(20px);
	transition : 0.5s;
}
.fade_side_disp {
	opacity : 1;
	transform: translateX(0px);
}

/* 下から出現 */
.sc_up {
  transform: translateY(100%);
	transition : 0.5s;
  display: block;
}
.sc_up_disp {
	transform: translateY(-1px);
}

/* ズーム */
.sc_zoom {
  overflow: hidden;
  position: relative;
  transition : 0.5s;
  width: 100%;
  transform: translateX(-100%);
}
.sc_zoom:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background: var(--corp_color_g);
  z-index: 1;
}
.sc_zoom img {
  transform: scale(1.3);
  transition : 1.2s;
}
.sc_zoom_active {
  transform: translateX(0%);
}
.sc_zoom_active:before {
  width: 0%;
  transition : 0.5s;
  transition-delay: 0.5s;
}
.sc_zoom_active img {
  transform: scale(1);
  transition-delay: 0.6s;
}

/****************************** 600px ******************************/
@media (min-width: 600px){

  /* -----------------------------------
   変数
  ----------------------------------- */
  :root {
  	--side_padding: 35px;
  }

  /* ----------------------------
  footer
  ---------------------------- */
  .f_contact {
		padding-top: 70px;
		padding-bottom: 78px;
	}


}

/****************************** 1025px ******************************/
@media (min-width: 1025px){

  body {
    font-size: 1.6rem;
  }

  section {
    margin-bottom: 150px;
	}

  /* -----------------------------------
   変数
  ----------------------------------- */
  :root {
    --header_height: 120px;
  	--side_padding: 100px;
  }

  /* -----------------------------------
   共通アイテム
  ----------------------------------- */
  .both_margin {
    padding-right: var(--side_padding);
    padding-left: var(--side_padding);
  }

  /* -----------------------------------
   見出し
  ----------------------------------- */
  .g_head_01 {
    margin-bottom: 40px;
  }
  .g_head_01 .en {
    font-size: 5rem;
  }
  .g_head_01 .jp {
    font-size: 2.4rem;
    margin-top: -40px;
  }
  .g_head_02 .jp {
    font-size: 2.8rem;
    margin-top: -5px;
  }
  .g_head_03 {
    margin-bottom: 40px;
  }
  .g_head_03 .jp {
    font-size: 2.4rem;
  }

  /* ----------------------------
  ニュース
  ---------------------------- */
  .f_contact {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .f_contact_link_tel {
    margin-bottom: 50px;
  }
  .f_contact_link h3 {
    font-size: 1.8rem;
  }
  .f_contact_link_tel a {
    font-size: 4rem;
    margin-bottom: 5px;
  }
  .f_contact_link_tel p {
    font-size: 1.4rem;
  }
  .f_contact_link_form a {
    font-size: 2rem;
  }

  /* モバイル・PC表示非表示 */
  .mb {
    display: none!important;
  }
  .pc {
    display: block;
  }

  /* -----------------------------------
   viewmoreボタン
  ----------------------------------- */
  .view_more_btn {
    margin-top: 60px;
    font-size: 1.5rem;
    line-height: 50px;
    width: 250px;
  }

  /* ----------------------------
  スライダー
  ---------------------------- */
  .slider1 {
    height: 250px;
  }
  .slider1 li {
    width: 400px;
  }


}

/****************************** 1400px ******************************/
@media (min-width: 1400px){

  /* -----------------------------------
   変数
  ----------------------------------- */
  :root {
  	--header_height: 120px;
    --side_padding: 12%;
  }

  section {
    margin-bottom: 150px;
	}

  /* -----------------------------------
   共通アイテム
  ----------------------------------- */
  /* article .both_margin {
    margin-right: 25%;
    margin-left: 25%;
  } */
  .view_more_btn {
    margin-top: 80px;
    font-size: 1.7rem;
  }

  /* -----------------------------------
   見出し
  ----------------------------------- */
  .g_head_01 {
    margin-bottom: 60px;
  }
  .g_head_01 .en {
    font-size: 6rem;
  }
  .g_head_01 .jp {
    font-size: 2.6rem;
    /* margin-top: -50px; */
  }
  .g_head_03 .jp {
    font-size: 2.8rem;
  }

}
