@charset "utf-8";
/* CSS Document */

/*
Theme Name: MA_services2023最新
Description:MA_services2023デーマ
Author: Mediaid Corporation
Version: 1.0
*/

/********************
Font指定
********************/

/* html, body {
	font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic',Hiragino Sans, 'ヒラギノ角ゴシック', Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', 'メイリオ','Meiryo','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', Verdana, sans-serif;
	font-weight: 300;
	font-style: normal;
	line-height: 2;
	letter-spacing: 0.05em;
	font-size: 18px;
}
header li a {
	font-family: futura, montserrat, source-han-sans-cjk-ja, sans-serif !important;
	font-weight: 500 !important;
	font-style: normal;
	line-height: 1.9;
	letter-spacing: 0.13em !important;
} */
/* .header-logo, */
.h2,
.mainvisual-inner p,
.about h2 span,
.column_info h2,
#contact h2,
#contact .contact-tel a,
#contact .contact-form a,
.services h2 {
  font-family: "Avenir Next", sans-serif !important;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1.9;
  letter-spacing: 0.1em !important;
}

#bread p {
  font-family: "Avenir Next", sans-serif !important;
}

/********************
共通部分
********************/
html,
body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #222;
}

#bread,
.home-main-content {
  margin: 67px auto 0;
  overflow: hidden;
}

.main-content {
  margin: 127px auto 0;
}

.eye-catch img {
  width: 100%;
  height: auto;
}




.services {
  width: 1010px;
  margin: 0 auto 0;
  padding: 0;
}

.services ul {
  display:
    flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.services ul li {
  width: 30%;
  line-height: 1.25em;
  margin: 0 0 30px;
}

.services ul li span {
  font-size: 0.85em;
  display: block;
  margin: 10px 0 0;
}

.services ul li span.former-name {
  margin: 0;
}

.services li img {
  width: 320px;
  display:
    block;
  margin: 0 0 10px;
}

.services li a:hover {
  text-decoration: underline;
}

dl,
dt,
dd {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

body {
  margin: auto;
}

p {
  margin: 0;
  padding: 0;
}

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

h2 {
  font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', "Avenir Next", sans-serif;
  font-style: normal;
}

a {
  color: #222;
  text-decoration: none;
}



/* 

footer {
	background: #2f4da1;
	position: relative;
}
.footer-top {
	overflow:hidden;
	max-width: 1300px;
	margin: 0 auto;
	padding: 50px 0;
}
.footer-top .corporate-logo {
	letter-spacing:0.1em;
	font-weight:400;
	color: #fff;
	float: left;
}
.footer-top .corporate-logo span {
	display: block;
	float: left;
	padding: 4px 0;
	font-size: 120%;
}
.footer-top .corporate-logo img {
	display: block;
	width: 180px;
	float: left;
	margin: 5px 15px 0 0;
}
.footer-top ul {
	float: right;
	display:flex;
}
.footer-top ul li {
	margin: 0 0 0 20px;
}
.footer-top ul li a {
	display:block;
	border: 1px solid #a0a0a0;
	padding: 10px 30px;
	border-radius: 100px;
	letter-spacing: 0.15em;
	color: #fff;
	font-family:montserrat, sans-serif;
	font-size: 80%;
}
.footer-middle {
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	border-top: 1px solid #a0a0a0;
	padding: 50px 0 30px;
}
.footer-middle div {
	width: 100%;
	font-family:montserrat, sans-serif;
}
.footer-middle div p {
	font-weight: 600;
	font-size: 75%;
	letter-spacing: 0.15em;
	margin: 0 0 8px;
}
.footer-middle div p a {
	color: #fff;
}
.footer-middle div a {
	color: #bbb;
}
.footer-middle div ul {
	margin: 0 0 20px;
}
.footer-middle div li {margin: 0 0 5px;}
.footer-middle div li a {
	font-size: 80%;
	letter-spacing: 0.15em;
}
.footer-bottom {
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	border-top: 1px solid #a0a0a0;
	padding: 50px 0;
}
.footer-bottom div {
	font-family:montserrat, sans-serif;
	margin: 0 90px 0 0;
}
.footer-bottom div:last-child {
  margin: 0 0 0 auto;
}
.footer-bottom div p {
	font-weight: 600;
	font-size: 75%;
	letter-spacing: 0.15em;
	margin: 0 0 8px;
	color: #fff;
}
.footer-bottom div p a {
	color: #fff;
}
.footer-bottom div a {
}
.footer-bottom div li {
	margin: 0 0 3px
}
.footer-bottom div li a {
	font-size: 80%;
	letter-spacing: 0.15em;
	color: #bbb;
}
.footer-bottom .sns-icons {
	display: flex;
	margin: 17px 0 0;
}
.footer-bottom .sns-icons li {
	width: 56px;
	margin: 0 25px 0 0;
}
.footer-bottom .sns-icons li img {
	width: 100%;
}
.copyright p {
	color: #fff;
	text-align: right;
}




 */


/** アイコン設定 **/
i {
  margin: 0 0.4em;
}

.content {}

.content_sliger {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

main .content {}

#page .content>section:not(:last-of-type) {
  margin: 0 0 80px;
}

#page .content>section>section {
  margin: 40px 0 0;
}

#page .content dl {
  margin: 0 auto;
}

#page .content dd {
  padding: 0 0 40px;
  border-bottom: 1px solid #000;
}

#page .content dd:not(:last-of-type) {
  margin: 0 auto 40px;
}

/** テキストリンク設定 **/
.link a:link {}

.link a:visited {}

.link a:hover {}

.link a:active {
  color: #66bbee;
}

/** マージン設定 **/
.ml_8 {
  /* 左に0.8 */
}

.mr_8 {
  /* 右に0.8 */

}

.md_10 {
  /* 下に1 */

}

.md_20 {
  /* 下に2 */
}

/** 横幅可変 **/
.width_full {
  max-width: 100%;
  height: auto;
}

/** 画像位置 **/

img.alignright {
  display: block;
  max-width: 100%;
  height: auto;
  float: right;
  margin: 0 0 1rem 1rem;
}

img.alignleft {
  display: block;
  max-width: 100%;
  height: auto;
  float: left;
  margin: 0 1rem 1rem 0;
}

img.aligncenter {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 1rem;
}

.img_center {
  /* 左右中央 */
  display: block;
  margin: 0 auto;
}

.img_middle {
  /* 上下中央 */
  display: block;
  margin: auto 0;
}

.size-large {
  display: block;
  max-width: 1010px;
  margin: 0 auto;
}

/** 背景色 **/
.bg_white {
  /* 白 */
}

.bg_gray {
  /* グレー */
}

.bg_dgray {
  /* ダークグレー */
  background: #005ba9;
}

/** ライン装飾 **/
.line_1 {
  height: 2px;
  border: none;
  margin: 0 0.8rem;
  background-image: -webkit-linear-gradient(0deg, rgba(102, 187, 238, 0.00) 0%, rgba(102, 187, 238, 1.00) 50%, rgba(102, 187, 238, 0.00) 100%);
  background-image: -moz-linear-gradient(0deg, rgba(102, 187, 238, 0.00) 0%, rgba(102, 187, 238, 1.00) 50%, rgba(102, 187, 238, 0.00) 100%);
  background-image: -o-linear-gradient(0deg, rgba(102, 187, 238, 0.00) 0%, rgba(102, 187, 238, 1.00) 50%, rgba(102, 187, 238, 0.00) 100%);
  background-image: linear-gradient(90deg, rgba(102, 187, 238, 0.00) 0%, rgba(102, 187, 238, 1.00) 50%, rgba(102, 187, 238, 0.00) 100%);
}

.line_2 {
  height: 2px;
  border: none;
  margin: 0 0.8rem;
  background-image: -webkit-linear-gradient(0deg, rgba(102, 187, 238, 1.00) 0%, rgba(102, 187, 238, 0.00) 100%);
  background-image: -moz-linear-gradient(0deg, rgba(102, 187, 238, 1.00) 0%, rgba(102, 187, 238, 0.00) 100%);
  background-image: -o-linear-gradient(0deg, rgba(102, 187, 238, 1.00) 0%, rgba(102, 187, 238, 0.00) 100%);
  background-image: linear-gradient(90deg, rgba(102, 187, 238, 1.00) 0%, rgba(102, 187, 238, 0.00) 100%);
}

/** リンクボタン **/
.btn1_blue {
  /* カラム用 */
  display: block;
  background: #1677b2;
  text-align: center;
  text-decoration: none;
  color: #fff;
  min-height: 3.5rem;
  font-size: 1.2rem;
  line-height: 3.5rem;
}

.btn1_blue:hover,
.btn2_blue:hover {}

.btn2_blue {
  /* お問い合わせ*用 */

}

.btn2_blue div {}

.btn1_white {
  /* カラム用 */
  display: block;
  background: #fff;
  border: 1px solid #1677b2;
  text-align: center;
  text-decoration: none;
  color: #1677b2;
  min-height: 2rem;
  font-size: 1.1rem;
  line-height: 2rem;
}

.btn1_gray {
  /* 通常 */
  display: inline-block;
  background: #4e5865;
  border: 1px solid #fff;
  text-align: center;
  text-decoration: none;
  color: #fff;
  min-height: 2.5rem;
  font-size: 1rem;
  line-height: 2.5rem;
  min-width: 13rem;
  padding: 0 1rem;
}

.btn1_gray:hover {
  background: #fff;
  border: 1px solid #4e5865;
  color: #222;
}

.btn3_blue {
  /* フッター用 */
}

.btn3_blue:hover {}

/**汎用カラム**/
div.column_0,
div.column_0_re {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0;
}

div.column_0 div,
div.column_0_re div {
  width: 50%;
  margin: 0 0.5rem;
}

div.column_0 div:first-child,
div.column_0_re div:first-child {
  margin-left: 0;
}

div.column_0 div:last-child,
div.column_0_re div:last-child {
  margin-right: 0;
}

/********************
メニューウィジェット
********************/
.widget_palette {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  z-index: 10000;
}

.widget_palette a {
  margin: 0;
  padding: 1rem;
  width: 30%;
  text-decoration: none;
  color: #4e5865;
}

.widget_palette a img {
  display: block;
  width: 45%;
  height: auto;
  float: left;
  margin: 0 0.5rem 0 0;
}

.widget_palette .app_img {
  display: block;
  width: 30%;
  height: auto;
  float: left;
  margin: 0 1rem 0 0;
}

.widget_palette a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.widget_palette a span {
  display: block;
  font-size: 1rem;
  margin: 0;
  padding: 0;
}

.widget_palette a strong {
  display: block;
  font-size: 1.2rem;
  padding: 0;
  margin: 0.2rem 0;
  color: #1677b2;
}

/********************
パンくずリスト
********************/
#bread {
  padding: 6px 15px;
  margin: 68px 0 0;
  background: #f4fafc;
  font-size: 16px;
}

#bread p {
  margin: 0;
  line-height: 1;
  color: #b2bcc9;
}

#bread p a,
#bread p strong {
  text-decoration: none;
  font-size: 70%;
  letter-spacing: 0.1em;
  color: #6c7683;
}

#bread p a:hover {
  text-decoration: underline;
}

.bottom_img,
#bread .bottom_img {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  bottom: -1px;
}

/********************
ヘッダー
********************/


.header_bg {
  background: url(images/logo_header.svg) no-repeat left top;
}


/********************
メインコンテンツ
********************/
/** 見出し **/
.h1 {}

.h1_big {
  text-align: center;
  font-size: 2.2rem;
  line-height: 160%;
  font-weight: 600;
  color: #1677b2;
  margin: 0.5rem 0;
}

.h1 span {
  /*見出しのキャッチフレーズ*/
}

.h1 strong {
  display: inline-block;
  font-size: 2rem;
}

.h1_p {
  /*大見出しの説明*/
}




.h2 {
  letter-spacing: 0.15em;
}

/* h1 {
	font-size: 1.75em;
	text-align: center;
	font-family: futura, montserrat, sans-serif !important;
}
h2 {
} */
h2.main-copy {
  font-style: italic;
  font-size: 1.5em;
}

/* h3 {
	font-size: 30px;
	font-family: futura, montserrat, sans-serif !important;
}
h4 {
	font-family: futura, montserrat, sans-serif !important;
	font-weight: 600;
} */

/** カラムレイアウト **/
.column_3,
.column_4 {}

.column_3 div {
  /* 3カラム */

}

.column_3 article {
  margin: 0;
  padding: 0;
}

.column_3 article strong {
  display: block;
  font-size: 1.2rem;
  font-weight: 600;
  padding: 0;
  margin: 0 0 0.5rem;
}

.column_3 article h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: #1677b2;
  padding: 0;
  margin: 0.5rem 0;
}

.column_3 article a {
  position: absolute;
  width: 90%;
  top: auto;
  right: 0;
  left: 0;
  bottom: 1rem;
  margin: auto;
}

.column_4 div {
  /* 4カラム */
  display: -webkit-flex;
  display: flex;
  margin: 0;
  padding: 0;
  width: 50%;
}

.column_4 article {
  display: -webkit-flex;
  display: flex;
  margin: 0 0.8rem 1rem;
  padding: 0.8rem 1.2rem;
  border: 1px solid #afbac9;
}

.column_4 article div {
  display: block;
  width: 40%;
  margin-right: 1rem;
}

.column_4 article div:last-child {
  -webkit-flex-grow: 2;
  flex-grow: 2;
  margin-right: 0;
}

.column_4 article strong {
  display: block;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 0;
  margin: 0 0 0.5rem;
}

.column_4 article h1 {
  font-size: 1.3rem;
  font-weight: 600;
  color: #1677b2;
  padding: 0;
  margin: 0.3rem 0;
}

.column_3 article img,
.column_4 article img {
  max-width: 100%;
  height: auto;
}

/** お問い合わせ **/
#contact {
  text-align: center;
  color: #4e5865;
  background: #e6e6e6;
  padding: 80px 0;
}

.contact h1 {
  display: none;
}

#contact ul {
  text-align: center;
  margin: 30px 0 0;
}

#contact li {
  display: inline-block;
  text-align: left;
  overflow: hidden;
  width: 400px;
  margin: 0 25px;
}

#contact .contact-tel {}

#contact .contact-tel img {
  width: 56px;
  height: 56px;
  display: block;
  float: left;
  padding: 3px 18px 3px 8px;
}

#contact .contact-tel a {
  color: #fff;
  background: #005ba8;
  display: block;
  padding: 15px;
  border-radius: 5px;
}

#contact .contact-tel a span {
  display: block;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 120%;
  line-height: 1.1em;
  padding: 3px 0 0;
}

#contact .contact-form {}

#contact .contact-form img {
  width: 46px;
  height: 46px;
  display:
    block;
  float:
    left;
  padding: 3px 18px 3px 8px;
}

#contact .contact-form a {
  color: #fff;
  display: block;
  background: orange;
  padding: 15px;
  border-radius: 5px;
}

#contact .contact-form a span {
  display:
    block;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-size: 142%;
  line-height: 1.2em;
  padding: 13px 0;
}

#contact strong {
  display: inline-block;
  font-weight: normal;
}

#contact em {
  display: inline-block;
  font-style: inherit;
}

#contact .tel {}

/** Appページコンテンツ **/
.single_app_logo {
  display: inline-block;
  width: 500px;
  height: auto;
  margin: 0 0 -1.5rem;
  ;
  padding: 0;
}

#single_app {}

#single_app div {
  width: 100%;
}


#store {
  padding: 1rem 0;
}

#store img {
  max-width: 200px;
  height: auto;
}


/** 汎用投稿ページコンテンツ **/
#single {
  padding: 1rem 0.8rem 2.5rem;
}

#single em {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  margin: 0 1rem;
}

#single img {
  max-width: 100%;
  height: auto;
}

#single .post_link {
  display: -webkit-flex;
  display: flex;
  justify-content: -webkit-space-between;
  justify-content: space-between;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px dotted #66bbee;
}

/********************
Flexレイアウト
********************/
.flex_div {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}


/********************
タブメニュー
********************/


#tab-menu {
  list-style: none;
  margin: 0 0.8rem;
  padding: 0;
}

#tab-menu li {
  display: inline-block;
  padding: 0 1rem;
  line-height: 2.5rem;
  height: 2.5rem;
  margin: 0;
  min-width: 6rem;
  text-align: center;
  background: #eee;
  color: #1677b2;
  font-weight: 400;
  border: 1px solid #afbac9;
  position: relative;
  top: 2px;
}

#tab-menu li:hover {
  background: #d6f0ff;
  cursor: pointer;
}

#tab-menu li.active,
#tab-menu li.active:hover {
  background: #fff;
  border-bottom: 1px solid #fff;
  cursor: auto;
  z-index: 1000;
}

/* タブの中身 */
#tab-box {
  padding: 1rem;
  margin: 0 0.8rem 2.5rem;
  background: #fff;
  border: 1px solid #afbac9;
  position: relative;
  z-index: 900;
  font-size: 1.1rem;
}

#tab-box article {
  display: none;
}

#tab-box article.active {
  display: block;
}

#tab-box article h1 {
  font-size: 1.2rem;
  line-height: 160%;
  font-weight: 400;
  margin: 0.3rem 0;
  padding: 0;
}

#tab-box article h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #1677b2;
  border-bottom: 1px dotted #66bbee;
  padding: 0 0 0.4rem;
  margin: 1.5rem 0 0.5rem;
}

#tab-box article h3 {
  font-size: 1.1rem;
  border-left: 4px solid #1677b2;
  padding: 0 0 0 0.5rem;
  margin: 1.2rem 0 0.5rem;
}

#tab-box article hr {
  margin: 0 0 1.5rem;
}

#tab-box article img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 1rem;
}

/*#tab-box article p::after{
	content: " ";
	display: block;
	clear: both;
}*/

/********************
アコーディオンメニュー
********************/
#acco {
  max-width: 100%;
  margin: 0 0.8rem 1.5rem;
  ;
}

#acco img {
  max-width: 100%;
  height: auto;
}

#acco>dt {
  background: #eee;
  color: #1677b2;
  font-weight: 400;
  padding: 1rem;
  font-size: 1.5rem;
  border: 1px solid #afbac9;
  cursor: pointer;

}

#acco>dd {
  border: 1px solid #afbac9;
  margin: 0;
  padding: 1rem;
  font-size: 1.2rem;
}

#acco h1 {
  font-size: 2rem;
  line-height: 160%;
  font-weight: 400;
  margin: 0.3rem 0;
  padding: 0;
}

#acco h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: #1677b2;
  border-bottom: 1px dotted #66bbee;
  padding: 0 0 0.4rem;
  margin: 1.5rem 0 0.5rem;
}

#acco h3 {
  font-size: 1.3rem;
  border-left: 4px solid #1677b2;
  padding: 0 0 0 0.5rem;
  margin: 1.2rem 0 0.5rem;
}













/********************
汎用コンテンツ
********************/
.details {
  margin: 0 0.8rem;
}

.details h2 {
  font-size: 1.5rem;
  line-height: 160%;
  font-weight: 400;
  margin: 1rem 0;
  padding: 0 0 0.3rem;
  border-bottom: 1px dotted #66bbee;
}

.details img {
  display: block;
  margin: 1rem auto;
  max-width: 100%;
  height: auto;
}

.details p {
  margin-bottom: 3rem;
}






/********************
アプリ説明
********************/
#app {
  display: flex;
  margin: 0 0.8rem 2rem;
  border: 1px solid #dae1eb;
  padding: 0;
}

#app div {
  margin: 0;
  padding: 1rem;
}

#app h1 {
  font-size: 1.5rem;
  color: #1677b2;
  margin: 0.8rem 0;
  padding: 0;
}

#app h2 {
  font-size: 1.3rem;
  margin: 0;
  padding: 0;
}

#app p {
  margin: 0 0 1rem;
  padding: 0;
}

.app_img {
  display: block;
  width: 200px;
  height: auto;
  margin: 0 0 1rem;
}

.app_badge {
  display: inline-block;
  width: 200px;
  height: auto;
}

.app_logo {
  display: block;
  height: 70px;
  width: auto;
  margin: 0.5rem 0;
  padding: 0;
}


/********************
概要
********************/
#overview h4 {}

#overview p {}

#overview a {
  display: inline-block;
  text-decoration: none;
  margin: 0.5rem 0 0.5rem 0.8rem;
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  background: #fff;
  color: #1677b2;
  border: 1px solid #1677b2;
}


#overview a:hover {
  background-image: -webkit-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: -moz-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: -o-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
}

#option {
  margin: 0;
  padding: 0 0.8rem;
}

#option p {
  margin: 0 0 0.5rem;
}

#option h1,
#option h2,
#option h3 {
  font-size: 1.2rem;
  font-weight: 400;
  border-bottom: 1px dotted #66bbee;
  padding: 0 0 0.2rem;
  margin: 0.5rem 0;
}

/********************
アーカイブ
********************/
#archive {}

/** リスト **/
#archive section {}

#archive section article {
  width: 1010px;
  margin: 0 auto;
}

#archive section article span {}

#archive section article em {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
}

#archive section article h1 {
  margin-top: 0;
  padding: 0;
}

#archive section article h1 a {}

#archive section article h1 a:hover {}

#archive section article .column {}

#archive section article div .excerpt {}

#archive section article div .excerpt p {
  margin: 0;
  padding: 0;
}

#archive section article div .excerpt a {
  margin-top: 1.5rem;
}

#archive section article div .post_img {
  min-width: 35%;
  max-width: 35%;
}

/** サイドメニュー**/
#archive aside {
  width: 25%;
  padding: 0;
}

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

#info_category hr {
  margin: 0.1rem 0 0.8rem;
}

#info_category h1 {
  padding: 0;
  margin: 0;
  font-size: 1.2rem;
}

#info_category ul,
#info_category ui li {
  margin: 0;
  padding: 0;
  list-style: none;
}

#info_category a {}

/** レスポンシブ **/

#archive section,
#archive aside {
  width: 100%;
}

#info_category h1 {
  font-size: 1.5rem;
  margin: 1rem 0 0.3rem;
}

#info_category hr {
  margin-top: 0.8rem;
  margin-bottom: 1rem;
}

#info_category a {}

/** カテゴリー **/
.info_category1,
.info_category2,
.info_category3,
.info_category4,
.info_category5 {
  display: inline-block;
  text-align: center;
  font-size: 12px;
  width: 75px;
  padding: 0px 8px;
  margin: 6px 15px 0 0;
  float: left;
  border-radius: 4px;
}

.info_category1 {
  /* お知らせ */
  background: #005ba9;
  color: #fff;
}

.info_category2 {
  /* リリース */
  background: #66bbee;
  color: #fff;
}

.info_category3 {
  /* メディア掲載 */
  background: #fff;
  color: #1677b2;
  border: 1px solid #1677b2;
}

.info_category4 {
  /* その他 */
  background: #4e5865;
  color: #fff;
}

.info_category5 {
  /* イベント */
  background: #de4b;
  color: #fff;
}

.date {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  margin: 0 1rem;
}

/********************
サポート
********************/
.seatch_box {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0.8rem 2rem;
}

.seatch_box input[type="text"] {
  margin: 0.5rem 1rem 0.5rem 0;
  padding: 0.8rem;
  border: 1px solid #afbac9;
  border-radius: 0.5rem;
  width: 50%;
}

.seatch_box input[type="button"] {
  margin: 0 1rem 0 0;
  padding: 0.8rem 1.5rem;
  background: #1677b2;
  color: #fff;
  border: none;
  border-radius: 0.5rem;
}

.seatch_box input[type="button"]:hover {
  background-image: -webkit-linear-gradient(270deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
  background-image: -moz-linear-gradient(270deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
  background-image: -o-linear-gradient(270deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
  background-image: linear-gradient(180deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
}

.seatch_box .btn2_white {
  font-size: 1rem;
}

.seatch_box a {
  margin: 0.5rem 0;
}

.column_support {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0 2rem;
  padding: 0;
  list-style: none;
}

.column_support li {
  margin: 0;
  padding: 0;
  width: 50%;
}


.column_support li a {
  display: block;
  margin: 0 0.8rem 1rem;
  padding: 0.8rem;
  font-size: 1.2rem;
  background: #fff;
  color: #1677b2;
  border: 1px solid #1677b2;
  text-decoration: none;
  text-align: center;
}

.column_support li a:hover {
  background-image: -webkit-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: -moz-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: -o-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
}

#support h2 {
  font-size: 1.3rem;
  font-weight: 400;
  margin: 0 0.8rem 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px dotted #66bbee;
}

#support h2 i {
  color: #1677b2;
}


/********************
問い合わせ誘導
********************/
#push {
  text-align: center;
  font-size: 1.3rem;
  color: #1677b2;
  margin: 0;
  padding: 1rem 0.5rem;
}

/********************
コンタクトフォーム
********************/
form[class] {
  width: 1010px;
  max-width: 100%;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #page form[class] p {width: 100%;}
}


form h3 {}

form h4 {}

form p {}

form p span {}

form p span:last-child {}


form p strong {
  color: #f00;
  font-weight: 400;
}

form p span strong::before {
  /* 【必須】前で改行 */
  content: "\A";
  white-space: pre;
}

form p input {
  font-size: inherit;
  margin: 0;
  padding: 0;
}

form p textarea {
  font-size: inherit;
  padding: 15px;
  width: 100%;
  border: 1px solid #e0e0e0;
  box-sizing: border-box;
}

form p input[type="text"],
form p input[type="email"],
form p input[type="tel"] {
  padding: 15px;
  width: 100%;
  border: 1px solid #e0e0e0;
  box-sizing: border-box;
}


form p select {}

form div,
form div p {}

form div {}


form input[type="submit"] {
  /* 送信ボタン */
  background: #ec6800;
  font-size: 1.2rem;
  color: #fff;
  padding: 1rem 11.5rem;
  margin: 50px auto 0;
  border: none;
  outline: 0;
  display: block;
  border-radius: 8px;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  transition: .2s;
  cursor: pointer;
}

form input[type="submit"]:hover {
  background: #ec6800 !important;
  opacity: .8;
  translate: 0 2px;
}

form input[type="submit"]:hover {
  background-image: -webkit-linear-gradient(270deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
  background-image: -moz-linear-gradient(270deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
  background-image: -o-linear-gradient(270deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
  background-image: linear-gradient(180deg, rgba(102, 187, 238, 1.00) 0%, rgba(22, 119, 178, 1.00) 100%);
}

form input[type="reset"] {
  /* リセットボタン */
  background: #fff;
  font-size: 1.2rem;
  color: #1677b2;
  padding: 0.8rem 1.5rem;
  margin: 0 0.5rem;
  border: 1px solid #1677b2;
  outline: 0;
}

form input[type="reset"]:hover {
  background-image: -webkit-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: -moz-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: -o-linear-gradient(270deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 1.00) 0%, rgba(219, 242, 255, 1.00) 100%);
}


/**** Contact Form 7 ****/
.wpcf7 span.wpcf7-not-valid-tip {
  color: #f80b37;
}

.wpcf7 .wpcf7-mail-sent-ok {
  margin: 0;
  color: #1677b2;
  padding: 1rem 0;
  border: none;
  background: #a5d8f6;
}

.wpcf7 .wpcf7-mail-sent-ng,
.wpcf7 .wpcf7-validation-errors {
  margin: 0;
  color: #f80b37;
  font-weight: bold;
  padding: 1rem 0;
  border: none;
  background: #ffc3ce;
}


/********************
フッター
********************/
footer .bg_white {
  width: 100%;
  color: #4e5865;
  margin: 0 auto;
}

footer .bg_dgray {
  text-align: center;
  color: #fff;
  font-size: 13px;
  padding: 14px 0;
}

footer .content {}

footer .content2 {}

footer address {}

footer address a {
  display: block;
  float: left;
}

/* footer img {
	width: 25px;
} */
footer address p {
  font-style: initial;
}

footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: flex-end;
}

footer ul li {}

footer ul.box-right {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: right;
  justify-content: right;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: flex-end;
}

footer ul.box-right li {}

footer .content2 p.facebook {}

footer a {}

footer a:hover {}

/********************
Topスライダー
********************/
/** カルーセル余白 **/
#n2-ss-3-align {
  margin-bottom: 2rem !important;
}

/** サムネイル **/
.n2-style-0d7e6147d938756e488febb9fea88b5d-dot {
  border: 1px solid #fff !important;
  background-image: -webkit-linear-gradient(270deg, rgba(22, 119, 178, 1.00), rgba(94, 180, 232, 1.00) 100%) !important;
  background-image: -moz-linear-gradient(270deg, rgba(22, 119, 178, 1.00), rgba(94, 180, 232, 1.00) 100%) !important;
  background-image: -o-linear-gradient(270deg, rgba(22, 119, 178, 1.00), rgba(94, 180, 232, 1.00) 100%) !important;
  background-image: linear-gradient(180deg, rgba(22, 119, 178, 1.00), rgba(94, 180, 232, 1.00) 100%) !important;
  margin: 0 0.5rem !important;
}

/********************
ページネーション
********************/
.pagenation {
  margin: 2rem auto 1rem;
  padding: 0;
  text-align: center;
}

.pagenation:after,
.pagenation ul:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

.pagenation ul {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.pagenation li {
  float: left;
  list-style: none outside none;
  margin-left: 0.4rem;
  ;
}

.pagenation li:first-child {
  margin-left: 0;
}

.pagenation li.active {
  background-color: #1677b2;
  border-radius: 0.4rem;
  color: #fff;
  cursor: not-allowed;
  padding: 0.6rem 1.2rem;
}

.pagenation li a {
  background: none repeat scroll 0 0 #fff;
  border-radius: 3px;
  color: #1677b2;
  border: 1px solid #1677b2;
  display: block;
  padding: 0.6rem 1.2rem;
  text-decoration: none;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}

.pagenation li a:hover {
  background-color: #66bbee;
  color: #fff;
  opacity: 0.8;
  transition-duration: 300ms;
  transition-property: all;
  transition-timing-function: ease;
}

/* header{
	-webkit-box-shadow: 0px 3px 5px rgba(0,0,0,0.1);
	box-shadow: 0px 5px 5px rgba(0,0,0,0.1);
	position: fixed;
	width: 100%;
	background: #fff;
	z-index: 1001;
	top:0;
	box-sizing: border-box;
	height: auto;
} */
.app_logo {}

form p textarea,
form p input {
  font-family: 'Noto Sans JP', 'Yu Gothic', sans-serif;
}


.index-kcp h2:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background-image: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/d4c36848254b4ae555f4b181315c2d87.png);
  background-size: 100% auto;
  margin: 0 auto 20px;
}

.index-pcp h2:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background-image: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/0376a999c182d79963b386c2b70ea742.png);
  background-size: 100% auto;
  margin: 0 auto 20px;
}

.index-skp h2:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background-image: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/ba800f5cf1478e79ef834eb8c0efab68.png);
  background-size: 100% auto;
  margin: 0 auto;
}

.index-nlp h2:before {
  content: "";
  display: block;
  width: 60px;
  height: 60px;
  background-image: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/faa8882a893840de9871f33fd390946c.png);
  background-size: 100% auto;
  margin: 0 auto 20px;
}

.index-kcp {
  width: 100%;
  max-width: 1300px;
  height: auto;
  margin: 0 auto;
  padding: 0;
  background: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/kcp-image.png);
  background-position: center 280px;
  background-repeat: no-repeat;
}

.index-kcp .content-center {
  background: #02a89a;
  width: 100%;
  margin: 0 auto;
  padding: 70px;
  box-sizing: border-box;
  max-width: 900px;
}

.index-pcp {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0;
  background: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/pcp-image.png);
  background-repeat: no-repeat;
  background-position: center;
}

.index-pcp .content-center .pcp {
  background: #3779a3;
  color: #fff;
  width: 900px;
  margin: 0 auto;
  padding: 70px;
  box-sizing: border-box;
}

.index-pcp .content-center .okp {
  color: #ddd;
  width: 900px;
  margin: 0 auto;
  padding: 70px;
  box-sizing: border-box;
}

.index-skp {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 160px 0 0;
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 160px 0 0;
  background: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/skp-image.png);
  background-repeat: no-repeat;
  background-position: center;
}

.index-skp .content-center {
  background: #fa7f20;
  width: 900px;
  margin: 0 auto;
  padding: 70px;
  box-sizing: border-box;
}

.index-nlp {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 160px 0 0;
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 160px 0 0;
  background: url(http://staging.services.mediaid.co.jp/wp-content/uploads/2019/10/nlp-image.png);
  background-repeat: no-repeat;
  background-position: center;
}

.index-kcp h2,
.index-pcp h2,
.index-skp h2,
.index-nlp h2 {
  text-align: center;
  display: block;
  font-family: "Avenir Next", sans-serif;
  font-weight: 200;
  font-style: normal;
  color: #787878;
  font-size: 24px;
  letter-spacing: 0.2em;
  margin: 0 auto 60px;
}

.index-kcp h2 span,
.index-pcp h2 span,
.index-skp h2 span,
.index-nlp h2 span {
  display: block;
  text-align: center;
  color: #00b3a3;
  font-weight: 200;
  font-size: 38px;
  margin: 10px 0 0;
}

.index-pcp h2 span {
  color: #3779a3;
}

.index-skp h2 span {
  color: #f2ac16;
}

.index-nlp h2 span {
  color: #005d76;
}

.index-kcp h3,
.index-pcp h3,
.index-skp h3,
.index-nlp h3 {
  font-size: 38px;
  margin: 0 auto 20px;
}

.content-center {}

.column_info h2 {
  text-align: center;
  font-weight: 200;
  font-size: 1.9em;
  letter-spacing: 0.15em;
  margin: 0 auto 30px;
}

#contact h2 {
  display: block;
  text-align: center;
  font-weight: 200;
  font-size: 1.9em;
  letter-spacing: 0.15em;
  margin: 0 0 2%;
}

.column_info {
  padding: 100px 0;
  width: 1010px;
  margin: 0 auto;
}

.column_info ul {
  border-bottom: 1px solid #e0e0e0;
}

.column_info em {
  font-style: normal;
  font-size: 14px;
  letter-spacing: 0.09em;
  display: block;
  color: #999;
  margin: 0 0 2px;
}

.column_info li {
  border-top: 1px solid #e0e0e0;
  padding: 12px 0;
}

.column_info li a {
  display: block;
  padding: 0;
  margin: 0;
}

.column_info .btn2_white.ml_8.md_20 {
  max-width: 50%;
  text-align: center;
  display: block;
  border: 1px solid #e0e0e0;
  margin: 50px auto 0;
  padding: 10px 0;
  border-radius: 100px;
}

.point {
  background: #fff;
  box-shadow: 0 20px 20px rgba(0, 0, 0, 0.25);
  width: 200px;
  padding: 30px;
}

.point dt {
  font-family: "Avenir Next", sans-serif;
  color: #00b3a3;
  font-weight: 200;
  font-size: 1.8em;
  letter-spacing: 0.1em;
  text-align: center;
  margin: 0 auto 10px;
}

.index-kcp .point {
  position: absolute;
}

.grossary-page {
  margin: 67px 0 0;
}

.grossary-page #page h1 {
  padding: 25px 0;
  background: #f8f8f8;
}

.grossary-page #page .content>section {
  margin: 0;
  padding: 70px 0 0;
}

























































@media (max-width: 1366px) {
  .mainvisual {
    height: auto;
    position: relative;
    margin: 0 auto 600px;
  }

  .mainvisual-inner {
    width: 100%;
    height: auto;
    overflow: hidden;
    max-height: 50vw;
    position: relative;
  }

  .mainvisual-inner img {
    height: 40vw;
    margin: 0 0 0 -9%;
  }

}

















@media (max-width: 768px) {



  /********************
Font指定
********************/

  /* html, body {
	margin: 0;
	padding: 0;
	background: #fff;
	font-family: source-han-sans-cjk-ja,Hiragino Sans, 'ヒラギノ角ゴシック', Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', 'メイリオ','Meiryo','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', Verdana, sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.9;
	font-size: 3.25vw;
}
main {
    height: auto;
}
header li a {
	font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
	font-weight: 600 !important;
	font-style: normal;
	line-height: 1.3;
	letter-spacing: 0.13em !important;
} */
  dt {
    font-weight: 600;
  }

  /* .header-logo, */
  .h2,
  .mainvisual-inner p,
  .about h2 span,
  .column_info h2,
  #contact h2,
  #contact .contact-tel a,
  #contact .contact-form a,
  .services h2 {
    font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
    font-weight: 400 !important;
    font-style: normal;
    line-height: 1.3;
    letter-spacing: 0.1em !important;
  }







  /* 


html {
	overflow:auto;
	height: 100%;
}
body {
	overflow: initial;
	margin: 0;
	height: 100%;
} */
  .customize-support {
    padding: 0 !important;
  }

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


  .menu-nav_header-container,
  .menu-nav_header_right-container {
    float: none;
  }

  .menu-item {
    margin: 0;
  }

  /* submit button reset */
  input[type="submit"],
  input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
  }

  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none;
  }

  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px;
  }

  .wpcf7-form h3 {
    margin: 0 0 3%;
  }

  form {
    margin: auto;
    width: 100%;
  }

  form p {
    -webkit-flex-direction: column;
    flex-direction: column;
    margin: 0 0 1rem;
  }

  form p span,
  form p span:last-child {
    max-width: 100%;
  }

  form p {
    margin: 0;
    font-size: 1.4rem;
    padding: 2% 0 4%;
  }

  form p span {
    width: 100%;
    margin: 0;
  }

  form p span:first-child {
    margin: 0 0 2%;
  }

  form p span:last-child {
    width: 100%;
  }

  form p input {
    width: 100%;
    box-sizing: border-box;
    border-radius: 0;
    border: 0;
    background: #eee;
    padding: 3%;
    font-size: 1.4rem;
  }

  form p textarea {
    box-sizing: border-box;
    border: 0;
    background: #eee;
    font-size: 1.4rem;
    border-radius: 0;
    padding: 3%;
    height: 15rem;
  }

  form input[type="submit"] {
    margin: 0;
  }

  form p span strong {
    margin: 0 0 0 2%;
    background: #f80b37;
    color: #fff;
    font-size: 1rem;
    padding: 0 1.2%;
  }

  form p span strong::before {
    content: none;
  }

  form input[type="submit"] {
    background: #1677b2;
    font-size: 1.2rem;
    color: #fff;
    padding: 1.3rem 1.5rem;
    margin: 0;
    border: none;
    outline: 0;
  }

  ::-webkit-input-placeholder {
    color: #bbb;
  }










  #page {}

  #page .content>section:not(:last-of-type) {}

  #page a:link {}

  #page a:visited {}

  #page a:hover {}

  #page a:active {
    color: #66bbee;
  }

  #page h1 {
    max-width: 100%;
    padding: 0;
    margin: 0 auto 5%;
    font-weight: bold;
    text-align: center;
  }

  #page h2 {
    max-width: 100%;
    margin: 0 auto 5%;
  }

  #page .main-copy {
    margin: 0 auto 10%;
  }

  #page h3 {
    max-width: 92%;
    margin: 0 auto;
  }

   #page .bg-white h3 {
    max-width: 100%;
    margin: 0 auto;
  }

  .category_and_date {
    max-width: 92%;
    margin: 0 auto;
  }

  #page p {
    max-width: 100%;
    margin: 5% auto;
    width: 90%;
    font-size: 3.5vw;
  }

  #page p br {
    display: none;
  }

  #page p .size-full {
    max-width: 100%;
    margin: 5% auto;
    width: 100%;
    height: auto;
    font-size: 4vw;
  }

  #page table {
    width: 92%;
    margin: 0 auto;
    border-collapse: collapse;
  }

  #page table th {
    text-align: left;
    border: 1px solid #c1c1c1;
    background: #e0e0e0;
    padding: 2.5%;
  }

  #page table td {
    text-align: left;
    border: 1px solid #c1c1c1;
    padding: 2.5%;
  }

  #page p.overview {
    margin: 0 auto 5%;
  }

  #page ul,
  #page ol {
    max-width: 92%;
    margin: 0 auto 2.5%;
    padding: 2.5%;
    box-sizing: border-box;
  }

  #page ul li:not(:last-of-type),
  #page ol li:not(:last-of-type) {
    margin: 0 0 1.5%;
  }

  #page dl {
    max-width: 100%;
    margin: 0 auto;
  }

  #page dd:not(:last-child) {
    margin: 0 0 10%;
  }

  .excerpt {
    margin: 0 auto;
    padding: 0;
  }

  .page-back a {
    max-width: 92%;
    text-align: center;
    display: block;
    border: 1px solid #e0e0e0;
    margin: 5% auto 10%;
    padding: 2% 0;
    border-radius: 100px;
  }

  #page {
    padding: 0;
    text-align: left;
    position: relative;
    z-index: 0;
    background: #fff;
  }

  #page .content>section:not(:last-of-type) {
    margin: 0 0 8%;
  }

  #page .content>section>section:not(:last-of-type) {
    margin: 0 0 5%;
  }

  main .content {
    padding: 0;
  }

  .main-content {
    width: 100%;
    margin: 0;
    padding-top: 50px;
  }

  .first-view {}

  .main-visual {
    height: auto;
    width: 100%;
  }

  .main-visual img {
    height: 80vw;
    width: auto;
  }

  .main-visual-inner {
    position: absolute;
    width: 100%;
    height: auto;
    z-index: 1;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    box-sizing: border-box;
  }

  .main-visual-inner h1 {
    width: 100%;
    margin: 0 auto;
    line-height: 1.1;
  }

  .main-visual-inner p {
    width: 100%;
  }

  .main-content article {
    padding: 2.5% 5%;
  }

  .main-content article a {}

  .home-main-content {
    height: auto;
  }

  #bread,
  .home-main-content {
    margin: 50px auto 0;
  }

  #bread p {
    padding: 1.5% 3% 1.5%;
    color: #b2bcc9;
  }

  .mainvisual {
    height: auto;
    position: relative;
    margin: 0;
  }

  .mainvisual-inner {
    width: 100%;
    height: auto;
    overflow: hidden;
    max-height: 60vw;
    position: relative;
  }

  .mainvisual-inner img {
    height: 45vw;
    margin: 0 0 0 -22%;
  }

  .mainvisual-inner p {
    text-align: center;
    font-family: "Avenir Next", sans-serif;
    font-weight: 200;
    font-style: normal;
    color: #222;
    font-size: 1.9rem;
    letter-spacing: 0.2em;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
  }

  .services {
    width: 76%;
    margin: 0 auto;
    padding: 13% 0;
  }

  .services ul {
    display: block;
  }

  .services ul li {
    margin: 0 0 5%;
    width: 100%;
  }

  .services li img {
    width: 100%;
    display: block;
  }

  .services li a:hover {
    text-decoration: underline;
  }

  dl,
  dt,
  dd {
    margin: 0;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: normal;
    margin: 0;
    padding: 0;
    font-size: 6vw;
  }

  .h2 {
    padding: 5% 0;
  }

  body {
    margin: auto;
  }

  p {
    margin: 0 auto;
    padding: 0;
  }

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

  h1 {
    font-family: "Avenir Next", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 7vw;
    line-height: 1.4;
    text-align: left;
    margin: 0 auto;
    padding: 10% 0;
  }

  .content h1 {
    padding: 0 4%;
  }

  h2 {
    font-family: "Avenir Next", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 6vw;
    line-height: 1.4;
    text-align: left;
    margin: 0 auto;
  }

  h3 {
    font-size: 4.75vw;
    font-weight: 400;
  }

  .about h2 span {
    display: block;
    font-family: "Avenir Next", sans-serif;
    font-weight: 200;
    font-style: normal;
    color: #999999;
    font-size: 4vw;
    letter-spacing: 0.15em;
    margin: 0 auto;
  }

  .about p br {
    display: none;
  }

  .index-kcp h2,
  .index-pcp h2,
  .index-skp h2,
  .index-nlp h2 {
    text-align: center;
    display: block;
    font-family: "Avenir Next", sans-serif;
    font-weight: 200;
    font-style: normal;
    color: #999999;
    font-size: 1.1rem;
    letter-spacing: 0.2em;
    margin: 0 auto;
  }

  .index-kcp h2 span,
  .index-pcp h2 span,
  .index-skp h2 span,
  .index-nlp h2 span {
    display: block;
    text-align: center;
    font-weight: 200;
    font-size: 1.8rem;
    margin: 0;
  }

  .index-kcp h2 span {
    color: #00b3a3;
  }

  .index-pcp h2 span {
    color: #3779a3;
  }

  .index-skp h2 span {
    color: #f2ac16;
  }

  .index-nlp h2 span {
    color: #005d76;
  }

  a {
    color: #4e5865;
    text-decoration: none;
  }

  .index-kcp h3,
  .index-pcp h3,
  .index-skp h3,
  .index-nlp h3 {
    font-size: 1.8rem;
    margin: 0 auto;
  }

  h3 br {
    display: none;
  }

  .index-kcp {
    width: 100%;
    max-width: auto;
    margin: 0 auto;
    padding: 12% 6%;
    background-image: none;
    background-position: center 379px;
    background-repeat: no-repeat;
    box-sizing: border-box;
  }

  .index-kcp .content-right {
    padding: 0 0 0 700px;
    box-sizing: border-box;
  }

  .index-kcp .content-left {
    padding: 600px 700px 0 0;
    position: relative;
    height: 1200px;
    box-sizing: border-box;
  }

  .column_info ul {
    width: 1300px;
    margin: 0 auto;
  }

  .column_info .btn2_white.ml_8.md_20 {
    max-width: 92%;
    text-align: center;
    display: block;
    border: 1px solid #e0e0e0;
    margin: 5% auto 10%;
    padding: 2% 0;
    border-radius: 100px;
  }

  .index-pcp {
    width: 100%;
    max-width: auto;
    margin: 0 auto;
    padding: 12% 6%;
    box-sizing: border-box;
  }

  .index-skp {
    width: 100%;
    max-width: auto;
    margin: 0 auto;
    padding: 12% 6%;
    box-sizing: border-box;
  }

  .index-nlp {
    width: 100%;
    max-width: auto;
    margin: 0 auto;
    padding: 12% 6%;
    box-sizing: border-box;
  }

  .column_info {
    padding: 0;
    width: 92%;
  }

  .column_info li {
    border-top: 1px solid #e0e0e0;
    padding: 3% 0;
  }

  .column_info li a {
    display: block;
    margin: 0;
    padding: 0;
  }

  .info_category1,
  .info_category2,
  .info_category3,
  .info_category4,
  .info_category5 {
    display: block;
    text-align: center;
    padding: 0.5% 0;
    font-size: 70%;
    width: 20%;
    float: none;
    margin: 0 0 1%;
  }

  .column_info h2 {
    display: block;
    text-align: center;
    font-weight: 200;
    font-size: 1.8rem;
    letter-spacing: 0.15em;
  }

  .column_info ul {
    max-width: 92%;
    margin: 0 auto 5%;
    border-bottom: 1px solid #e0e0e0;
  }

  .column_info em {
    font-style: normal;
    font-size: 80%;
    display: block;
    color: #999;
    margin: 0 0 1%;
    line-height: 1.25;
  }

  #menu-nav_header_right {}

  .menu-nav_header-container {
    padding: 0;
  }

  #menu-nav_header {
    overflow-x: auto;
    white-space: nowrap;
    padding: 0 0 1% 5%;
    -webkit-overflow-scrolling: touch;
  }

  #menu-nav_header li {
    display: inline-block;
    margin: 0 4% 0 0;
    position: relative;
    padding: 0 4% 0 0;
    float: none;
  }

  #menu-nav_header li:after {
    content: "";
    display: block;
    position: absolute;
    width: 1px;
    height: 11px;
    right: 0;
    background: #ccc;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .menu-nav_header_right-container {
    position: fixed;
    width: 100%;
    bottom: 0;
    background: #222;
  }

  .corporate-logo {
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #005ba9;
    overflow: hidden;
  }

  .corporate-logo img {
    display: block;
    float: left;
  }

  .corporate-logo span {
    display: block;
    float: left;
    padding: 7px 0;
  }

  .mainvisual video {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 242vw;
    height: auto;
  }

  /* footer .bg_white {
	flex-wrap: wrap;
}
footer .content {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin-bottom:20px;
}
footer .content2 {
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.footer-top {
	overflow:
	hidden;
	width:100%;
	margin: 0 auto;
	padding: 15% 5% 10%;
	box-sizing: border-box;
}
.footer-top .corporate-logo {
	letter-spacing:0.1em;
	font-weight:400;
	color: #fff;
	float: none;
	margin: 0 auto 10%;
}
.footer-top .corporate-logo span {
	display: block;
	float: none;
	padding: 1% 0 0;
	font-size: 120%;
	text-align: center;
}
.footer-top .corporate-logo img {
	display: block;
	width: 30%;
	float: none;
	margin: 0 auto;
}
.footer-top ul {
	float: none;
	display:flex;
}
.footer-top ul li {
	margin: 0 2%;
	width: 100%;
}
.footer-top ul li a {
	display:
	block;
	border: 1px solid #a0a0a0;
	padding: 2% 0;
	border-radius: 100px;
	letter-spacing: 0.15em;
	color: #fff;
	font-family:
	montserrat, sans-serif;
	font-size: 100%;
	width: 80%;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}
.footer-middle {
	display:none;
}

.footer-bottom {
	width: 89%;
	margin: 0 auto;
	display: block;
	border-top: 1px solid #a0a0a0;
	padding: 8% 0 10%;
}
.footer-bottom div {
	font-family:montserrat, sans-serif;
	margin: 0 0 10%;
}
.footer-bottom div:last-child {
  margin: 0 0 0 auto;
}
.footer-bottom div p {
	font-weight: 400;
	font-size: 100%;
	letter-spacing: 0.15em;
	text-align: center;
	margin: 0;
	color: #bbb;
}
.footer-bottom div p a {
	color: #fff;
}
.footer-bottom div a {
}
.footer-bottom div li {
	text-align: center;
	margin: 2.5% 0 0;
}
.footer-bottom div li a {
	font-size: 80%;
	letter-spacing: 0.15em;
	color: #bbb;
}
.footer-bottom .sns-icons {
	display: flex;
	margin: 5% auto 0;
	width: 60%;
}
.footer-bottom .sns-icons li {
	width: 12vw;
	margin: 0 auto;
	align-content: center;
}
.footer-bottom .sns-icons li img {
	width: 100%;
}
.copyright p {
	color: #fff;
	text-align: right;
	font-size: 75% !important;
} */
  /** お問い合わせ **/
  #contact {
    text-align: center;
    color: #4e5865;
    background: #f8f8f8;
    padding: 10% 10%;
    position: relative;
  }

  #contact p {
    max-width: 100%;
    margin: 0 auto 6%;
    text-align: left;
  }

  #contact p br {
    display: none;
  }

  #contact ul {
    max-width: 100%;
    text-align: center;
    margin: 0 auto;
  }

  #contact li {
    display: inline-block;
    text-align: left;
    overflow: hidden;
    width: 100%;
    margin: 0;
  }

  #contact .contact-tel {
    margin: 0 0 2%;
    display: block;
  }

  #contact .contact-tel img {
    display: block;
    float: left;
    padding: 0;
    width: 8%;
    height: 8%;
    margin: 0 2% 0 0;
  }

  #contact .contact-tel a {
    color: #fff;
    background: #005ba8;
    display: block;
    padding: 3%;
    border-radius: 5px;
    font-size: 75%;
  }

  #contact .contact-tel a span {
    display: block;
    font-weight: 400;
    font-size: 150%;
    line-height: 1.1em;
    padding: 3px 0 0;
    letter-spacing: 0.277em;
  }

  #contact .contact-form {}

  #contact .contact-form img {
    display: block;
    float: left;
    padding: 0;
    width: 8%;
    height: auto;
    margin: 0 2% 0 0;
  }

  #contact .contact-form a {
    color: #fff;
    padding: 4% 5%;
    border-radius: 5px;
    font-size: 75%;
    overflow: hidden;
  }

  #contact .contact-form a span {
    display:
      block;
    font-weight: 400;
    font-size: 150%;
    line-height: 1.2em;
    letter-spacing: 0.125em;
    padding: 1% 0 1% 11%;
  }

  #contact strong {
    display: inline-block;
    font-weight: normal;
  }

  #contact em {
    display: inline-block;
    font-style: inherit;
  }

  #contact .tel {}

  .grossary-page {
    margin: 3rem 0 0;
  }

  .grossary-page #page h1 {
    padding: 5%;
    background: #f8f8f8;
    max-width: 100%;
    margin: 0;
  }

  .grossary-page #page .content>section {
    margin: 0;
    padding: 7% 0 0;
  }
}

























































#mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-flyout ul.mega-sub-menu {
  width: 300px !important;
}

@media (max-width: 768px) {
  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-flyout ul.mega-sub-menu {
    width: 100% !important;
  }

  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
    height: auto !important;
  }

  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    padding: 2% 0 2% 5% !important;
  }
}



.lp .page-link a {
  display: block;
  float: right;
  background: #000;
  padding: 10px 20px;
  color: #fff;
}

.lp .content {
  width: 900px;
  margin: 0 auto;
}

.lp .content>section {
  margin: 0 auto 120px;
}

.lp .content>section>section {
  margin: 0 auto 60px;
}

.lp .main-content {
  padding: 0 0 0;
  margin: 35px 0 0;
}

.lp main .content {
  padding: 0 0;
}

.lp h2.main-copy {
  line-height: 1.5;
}

.lp #contact {
  text-align: left;

}

.lp #contact strong {
  display: inline-block;
  font-weight: normal;
  line-height: 1;
}

.lp form p span strong::before {
  content: none;
}

.lp form input[type="submit"] {
  display: block;
  margin: 50px auto 0;
}

.lp-prescription header {
  -webkit-box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.1);
  position: static;
  width: 100%;
  background: #fff;
  z-index: inherit;
  top: inherit;
  box-sizing: border-box;
  height: auto;
  overflow: hidden;
}

.caution {
  background: #ff6c4d;
  color: #fff;
  font-size: 18px;
  text-align: center;
  line-height: 1.5;
  padding: 15px 0;
}

.lp-prescription main .content {
  padding: 0;
}

.lp-prescription main .content p {
  text-align: center;
  padding: 0;
  margin: 0;
  color: #222;
  line-height: 1.75;
}

.lp-prescription h2 {
  text-align: center;
  line-height: 1.5;
  color: #3779A8;
}

.lp-prescription .page-link a {
  background: #222;
  display: block;
  width: fit-content;
  color: #fff;
  float: right;
  padding: 10px 20px;
}

.lp-prescription01 {
  padding: 80px 0 120px;
}

.lp-prescription main .content p.heading-text {
  color: #3779A8;
  font-weight: bold;
  margin: 0 auto 20px;
}

.lp-prescription01 h2 {
  padding: 0px 0 30px;
  color: #3779A8;
  font-size: 52px;
}

.lp-prescription01 img {
  display: block;
  width: 60%;
  height: auto;
  margin: 150px auto 60px;
}

.lp-prescription main .content .lp-prescription01 p {
  line-height: 2;
}

.points {
  background: #3779A8;
  padding: 120px 0;
}

.points h2 {
  color: #fff;
  margin: 0 0 30px;
}

.points dl {
  width: 980px;
  margin: 0 auto;
  overflow: hidden;
}

.points dt {
  line-height: 1.5;
  color: #fff;
  margin: 0 0 5px;
  font-weight: bold;
  font-size: 130%;
}

.points dd {
  line-height: 1.5;
  color: #fff;
  margin: 0 0 50px;
  padding: 0 0 50px;
  border-bottom: 1px solid #fff;
  font-size: 130%;
}

.lp-prescription02 {
  padding: 120px 0;
}

.lp-prescription02 h2 {
  margin: 0 0 20px;
  color: #3779A8;
}

.lp-prescription main .content .lp-prescription02 p {
  margin: 0 0 50px;
}

.lp-prescription02 ul {
  width: 650px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #3779a3;
  padding: 60px;
}

.lp-prescription02 li {
  color: #222;
  overflow: hidden;
  position: relative;
}

.lp-prescription02 li:not(:last-child) {
  margin: 0 0 30px;
  padding: 0 0 30px;

}

.lp-prescription02 li:not(:last-child):after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-right: 2px solid #3779a3;
  border-bottom: 2px solid #3779a3;
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  margin: auto;
  transform: rotate(45deg);
}

.lp-prescription02 li span {
  color: #3779a3;
  display: block;
  font-weight: bold;
  font-size: 130%;
}

.lp-prescription02 img {
  display: block;
  width: 180px;
  height: auto;
  float: left;
  margin: 0 30px 0 0;
}

.lp-prescription main .content .lp-prescription01 p.normal-text {
  margin: 0 0 20px;
}

.lp-prescription03 {
  background: #e9f3f6;
  padding: 100px;
}

.lp-prescription03>div {
  margin: 100px 0;
}

.lp-prescription03 h3 {
  text-align: center;
  color: #3779A8;
}

.lp-prescription .copyright p {
  color: #fff;
  text-align: center;
  font-size: 70%;
  padding: 10px 0;
}

.lp-prescription #contact strong {
  display: inline;
  font-weight: normal;
  margin: 0 0 0 10px;
}

.lp-prescription form p span strong::before {
  content: none;
}

.lp-prescription main .content .wpcf7 form>p {
  text-align: left;
  margin: 0 0 20px;
}

.lp-prescription main .link {
  line-height: 1.5;
  margin: 0 0 20px;
}

.lp-prescription main form input[type="submit"] {
  margin: 30px 0 0;
}

.lp-prescription .images {
  overflow: hidden;
  text-align: center;
  margin: 30px 0 0;
}

.lp-prescription .images img {
  width: 240px;
  height: auto;
  margin: 0 20px;
}


@media (max-width: 1023px) {
  .caution {
    font-size: 3.5vw;
    padding: 2% 3%;
    text-align: left;
  }

  .lp-prescription01 {
    padding: 6.5%;
  }

  .lp-prescription main .content p.heading-text {
    font-size: 4vw;
    text-align: center !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    margin: 0 0 2%;
  }

  .lp-prescription01 h2 {
    padding: 0;
    color: #3779A8;
    font-size: 6.25vw;
    margin: 0 0 6.5%;
    text-align: left;
  }

  .lp-prescription01 h2 br {
    display: none;
  }

  .lp-prescription main .content .lp-prescription01 p {
    text-align: left;
    padding: 5% 0;
  }

  .lp-prescription main .content .lp-prescription01 p br {
    display: none;
  }

  .points dl {
    width: 100%;
  }

  .lp-prescription02 ul {
    width: 90%;
    box-sizing: border-box;
  }

  .lp-prescription01 img {
    width: 100%;
    margin: 0;
  }

  .points {
    padding: 6.5%;
  }

  .points h2 {
    margin: 0;
  }

  .points dd {
    margin: 0 0 5%;
    padding: 0 0 5%;

  }

  .lp-prescription02 {
    padding: 6.5%;
  }

  .lp-prescription02 ul {
    width: 100%;
    padding: 6.5%;
  }

  .lp-prescription02 img {
    display: block;
    width: 35%;
    height: auto;
    float: none;
    margin: 0 auto;
  }

  .lp-prescription03 {
    padding: 6.5%;
  }

  .lp-prescription main .content .lp-prescription02 p {
    margin: 0 0 5%;
    text-align: left;
  }

  .lp-prescription .images img {
    width: 28%;
    margin: 0 2%
  }

  .lp-prescription03>div {
    margin: 0 0 6.5%;
  }

  .lp-prescription02 h2 {
    margin: 0;
  }

  .lp-prescription02 li:not(:last-child) {
    padding: 0 0 6.5%;
    margin: 0 0 6.5%;
  }

  .lp-prescription .images {
    margin: 0;
  }

  .lp-prescription p,
  .lp-prescription li,
  .lp-prescription dt,
  .lp-prescription dd,
  .lp-prescription input,
  .lp-prescription textarea {
    font-size: 3.86vw;
    text-align: left;
    line-height: 1.75 !important;
  }

  .lp-prescription .wpcf7-form {
    padding: 6.5%;
    box-sizing: border-box;
  }
}

.lp-template .category {
  display: none;
}

.lp-template .readmore {
  display: none;
}

.lp-template footer .copyright p {
  text-align: center;
  font-size: 60%;
  padding: 10px 0;
}

.lp-harmo {
  width: 1024px;
  margin: 0 auto 100px;
}

@media (max-width: 1024px) {
  .lp-harmo {
    width: 95%;
    margin: 0 auto 10%;
  }
}

.lp-harmo p {
  margin: 0 auto 50px;
  text-align: center;
}

@media (max-width: 1024px) {
  .lp-harmo p {
    margin: 0 auto 5%;
    text-align: center;
  }
}

.lp-harmo dl {
  margin: 0 auto 50px;
}

@media (max-width: 1024px) {
  .lp-harmo dl {
    margin: 0 auto 5%;
    text-align: center;
  }
}

.lp-harmo dd ul {
  overflow: hidden;
}

.lp-harmo dd li {
  float: left;
  width: 48.5%;
  text-align: center;
}

.lp-harmo dd li:first-child {
  margin: 0 3% 0 0;
}

.lp-harmo dd a {
  display: block;
  background: #e0e0e0;
  padding: 10px 10px;
  border-radius: 10px;
}


.annnotation {
  padding: 0 !important;
  margin: 25px auto 0 !important;
}

.annnotation li {
  font-size: 80%;
  line-height: 1.5;
}

.annnotation a {
  word-break: break-all;
}

.text-link a {
  text-align: center;
  display: block;
  margin: 80px 0 0;
}

.wpcf7 {
  padding: 50px 0 !important;
}

.contact-form-inner>p {
  margin: 0 0 30px !important;
}

.contact-form-inner strong {
  display: inline-block;
  margin: 0 0 0 10px
}

.contact-form-inner strong:before {
  content: none;
}

.gm-outer-link {
  margin: 0 auto 90px !important;
  display: inline-block;
}

.contact-link-button {
  display: block;
  text-align: center;
  background: #005ba8;
  padding: 15px 25px;
  color: #fff;
  border-radius: 100px;
  text-decoration: none !important;
  margin: 25px 0 0;
}

.a-center {
  text-align: center;
}










#mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
  padding: 22px 15px !important;
  font-size: 16px !important;
  letter-spacing: 0.12em !important;
}

@media (max-width: 1366px) {
  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
    padding: 2.4vw 0.75vw !important;
    font-size: 12px !important;
  }
}

@media (max-width: 1024px) {
  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
    padding: 2.7vw 0.5vw !important;
    font-size: 11px !important;
  }
}

@media (max-width: 850px) {
  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
    padding: 2.35vw 0.75vw !important;
    font-size: 0.7vw !important;
  }
}

@media (max-width: 768px) {
  #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
    padding: 2.2vw 0.75vw !important;
    font-size: 0.8vw !important;
  }
}

@media (max-width: 600px) {
  html #mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
    padding: 3vw 3vw !important;
    font-size: 3.5vw !important;
    height: auto !important;
    line-height: 3vw !important;
  }
}

/* 
.header-logo {
	width: 290px;
	height: auto;
	float: left;
	box-sizing: border-box;
	margin: 18px 24px 18px 19px;
	padding: 0;
}
@media (max-width: 1366px) {
	.header-logo {
		width: 22%;
		height: 2.8vw;
		margin: 1.7% 1.5%;
	}
}
@media (max-width: 1024px) {
	.header-logo {
		width: 20%;
		height: 2.5vw;
		margin: 2.2% 1.5%;
	}
}
@media (max-width: 860px) {
	.header-logo {
		width: 17%;
		height: 2.1vw;
		margin: 2% 2%;
	}
}
@media (max-width: 768px) {
	.header-logo {
		width: 14%;
		height: 1.7vw;
		margin: 2.2% 2%;
	}
}
@media (max-width: 600px) {
	.header-logo {
		width: 45%;
		height: 5.5vw;
		margin: 3% 3%;
	}
} */



@media (max-width: 1024px) {
  .home-main-content {
    margin: 7vw auto 0;
  }
}

@media (max-width: 860px) {
  .home-main-content {
    margin: 7vw auto 0;
  }
}

@media (max-width: 768px) {
  .home-main-content {
    margin: 6vw auto 0;
  }
}

@media (max-width: 600px) {
  .home-main-content {
    margin: 10vw auto 0;
  }
}

/* 
.header-logo a {
	display: block;
	width: 100%;
	height: auto;
}
.header-logo img {
	width: 100%;
	height: auto;
	display: block;
}





header li {
	float: left;
}
header {
	padding: 0;
	display: flex;
}
header .content {
	float: right;
	padding: 10px;
}
.menu-nav_header-container {
	float: left;
}
.menu-nav_header_right-container {
	float: right;
	padding: 8px 0;
}
.menu-item {
}
header li:not(:last-child) {
	margin: 0 30px 0 0;
}
.menu-item a {
	color: #585858;
	font-weight: 600;
	letter-spacing: 0.125em;
	font-size: 80%;
}

@media (max-width: 768px) {
	header {
		box-shadow: 0 0 400px rgba(0,0,0,0.15);
		width:100%;
		overflow:hidden;
		padding: 0;
	}
	header .content {
	    float: none;
	    width: 100%;
	    padding: 0;
	}

	.header-logo span {
		font-weight: 400;
		color: #00ace9;
	}
	
} */


#mega-menu-wrap-place_header {
  float: right !important;
}

.corporate-name {
  float: none !important;
  font-size: 80% !important;
}

#mega-menu-wrap-place_header .mega-menu-open .mega-toggle-block-1:after {
  color: #f00 !important;
}

.mega-toggle-label-open {
  color: #f00 !important;
}







.emphasize-text {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5em;
  margin: 40px auto 0 !important;
  border: 1px solid #999;
  padding: 20px;
  box-sizing: border-box;
}


.home-main-content p {
  font-size: 18px;
}

.sp {
  display: none;
}

@media (max-width: 1920px) {
  .home-main-content p {
    font-size: 1vw;
  }
}

@media (max-width: 1024px) {
  .home-main-content p {
    font-size: 3.5vw;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
}

.about {
  position: relative;
  padding: 100px;
  z-index: 1;
}

@media (max-width: 1920px) {
  .about {
    padding: 5%;
  }
}

@media (max-width: 1024px) {
  .about {
    padding: 13% 7.5% 7.5%;
  }
}

.about h2 {
  font-size: 100px;
  line-height: 1.25em;
  font-weight: bold;
  margin: 0 0 50px;
}

@media (max-width: 1920px) {
  .about h2 {
    font-size: 5.2vw;
    margin: 0 0 2.5%;
  }
}

@media (max-width: 1024px) {
  .about h2 {
    font-size: 7.5vw;
    margin: 0 0 5%;
  }
}

.about-text-pc p {
  font-size: 24px;
  line-height: 2.25em;
  font-weight: bold;
  margin: 0 0 50px;
}

@media (max-width: 1920px) {
  .about-text-pc p {
    font-size: 1.25vw;
    margin: 0 0 2.5%;
  }
}

@media (max-width: 1024px) {
  .about-text-pc p {
    font-size: 4vw;
    margin: 0 0 2.5%;
    line-height: 1.85em;
  }
}


.about-text-sp {
  display: none;
}

.about .main-visual {
  position: absolute;
  width: 1100px;
  bottom: -300px;
  left: 59%;
  z-index: -1;
}

@media (max-width: 1920px) {
  .about .main-visual {
    position: absolute;
    width: 45vw;
    bottom: -18vw;
    left: 57vw;
    z-index: -1;
  }
}

@media (max-width: 1024px) {
  .about .main-visual {
    position: absolute;
    width: 65vw;
    bottom: -53vw;
    left: 39vw;
    z-index: -1;
  }
}

.home-main-content .healthcare-dx {
  padding: 200px 0 100px 100px;
}

@media (max-width: 1920px) {
  .home-main-content .healthcare-dx {
    padding: 10% 0 5% 5%;
  }
}

@media (max-width: 1024px) {
  .home-main-content .healthcare-dx {
    padding: 60% 0 7.5% 7.5%;
  }
}

.home-main-content .healthcare-dx .catch-title {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  font-size: 140px;
  line-height: 1.25em;
  font-weight: 600;
  margin: 0 0 0;
}

@media (max-width: 1920px) {
  .home-main-content .healthcare-dx .catch-title {
    font-size: 7vw;
  }
}

@media (max-width: 1024px) {
  .home-main-content .healthcare-dx .catch-title {
    font-size: 10.5vw;
    margin: 0 0 1.5%;
  }
}

.home-main-content .healthcare-dx h2 {
  font-size: 32px;
  line-height: 1em;
  font-weight: bold;
  margin: 0 0 50px;
}

@media (max-width: 1920px) {
  .home-main-content .healthcare-dx h2 {
    font-size: 1.6vw;
    margin: 0 0 2.5%;
  }
}

@media (max-width: 1024px) {
  .home-main-content .healthcare-dx h2 {
    font-size: 3.2vw;
    margin: 0 0 5%;
  }
}


@media (max-width: 1024px) {
  .home-main-content .healthcare-dx .sp {
    padding: 0 7.5% 0 0;
  }
}


.home-main-content .healthcare-dx .link-btn {
  margin: 50px 0 20px;
}

@media (max-width: 1920px) {
  .home-main-content .healthcare-dx .link-btn {
    margin: 2.5% 0 1%;
  }
}

@media (max-width: 1024px) {
  .home-main-content .healthcare-dx .link-btn {
    margin: 5% 0 7%;
  }
}


.link-btn a {
  position: relative;
}

.link-btn a:before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}

.link-btn a:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
}

.healthcare-dx .link-btn a {
  display: inline-block;
  background: #0053b9;
  color: #fff;
  padding: 14px 90px 14px 25px;
  border-radius: 8px;
}

@media (max-width: 1024px) {
  .healthcare-dx .link-btn a {
    width: 92.5%;
    box-sizing: border-box;
    display: block;
    padding: 4% 20% 4% 5%;
  }
}

.healthcare-dx-list {
  width: 100%;
  padding: 100px 0 50px;
}

@media (max-width: 1920px) {
  .healthcare-dx-list {
    width: 100%;
    padding: 10% 0 2.5%;
  }
}

.healthcare-dx-list ul {
  width: 100%;
  display: flex;
  justify-content: left;
}

@media (max-width: 1024px) {
  .healthcare-dx-list ul {
    width: 100%;
    display: block;
    justify-content: inherit;
  }
}

.healthcare-dx-list li {
  width: 600px;
}

@media (max-width: 1024px) {
  .healthcare-dx-list li {
    width: 100%;
  }
}

.healthcare-dx-list li:not(:last-of-type) {
  margin: 0 35px 0 0;
}

@media (max-width: 1920px) {
  .healthcare-dx-list li:not(:last-of-type) {
    margin: 0 0 1.5%;
  }
}

.healthcare-dx-list li a {
  color: #fff;
  font-size: 16px;
  box-sizing: border-box;
  transition-duration: 0.25s;
  transform: scale(1);
  border-radius: 25px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list li a {
    font-size: 0.8vw;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list li a {
    font-size: 1vw;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list li a {
    font-size: 2.5vw;
  }
}

.healthcare-dx-list li a:hover {
  transform: scale(1.05);
}

.healthcare-dx-list li span {
  display: block;
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  font-size: 35px;
  line-height: 1em;
  margin: 0 0 15px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list li span {
    font-size: 1.75vw;
    margin: 0 0 1.5%;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list li span {
    font-size: 1.75vw;
    margin: 0 0 1.5%;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list li span {
    font-size: 5vw;
    margin: 0 0 1%;
  }

  .healthcare-dx-list li span br {
    display: none;
  }
}

.healthcare-dx-list01 a {
  display: block;
  background: #00afd3;
  height: 250px;
  padding: 70px 0 0 50px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list01 a {
    height: 12vw;
    padding: 20% 0 0 8%;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list01 a {
    height: 13vw;
    padding: 20% 0 0 6%;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list01 a {
    height: auto;
    padding: 5% 3%;
  }
}

.healthcare-dx-list02 a {
  display: block;
  background: #00a06d;
  height: 250px;
  padding: 80px 0 0 50px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list02 a {
    height: 12vw;
    padding: 25% 0 0 8%;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list02 a {
    height: 13vw;
    padding: 26% 0 0 6%;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list02 a {
    height: auto;
    padding: 5% 3%;
  }
}

.healthcare-dx-list03 a {
  display: block;
  background: #ffa42f;
  height: 250px;
  padding: 60px 0 0 50px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list03 a {
    height: 12vw;
    padding: 20% 0 0 8%;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list03 a {
    height: 13vw;
    padding: 20% 0 0 6%;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list03 a {
    height: auto;
    padding: 5% 3%;
  }
}

.healthcare-dx-list04 a {
  display: block;
  background: #ff8891;
  height: 250px;
  padding: 80px 0 0 50px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list04 a {
    height: 12vw;
    padding: 25% 0 0 8%;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list04 a {
    height: 13vw;
    padding: 26% 0 0 6%;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list04 a {
    height: auto;
    padding: 5% 3%;
  }
}

.healthcare-dx-list05 a {
  display: block;
  background: #b083df;
  height: 250px;
  padding: 60px 0 0 50px;
}

@media (max-width: 2080px) {
  .healthcare-dx-list05 a {
    height: 12vw;
    padding: 20% 0 0 8%;
  }
}

@media (max-width: 1920px) {
  .healthcare-dx-list05 a {
    height: 13vw;
    padding: 20% 0 0 6%;
  }
}

@media (max-width: 1024px) {
  .healthcare-dx-list05 a {
    height: auto;
    padding: 5% 3%;
  }
}

.text-link {
  text-decoration: underline;

  color: #0053b9;
}

.original-platform {
  background: #eff8fd;
  padding: 200px 0;
}

@media (max-width: 1920px) {
  .original-platform {
    padding: 10% 0;
  }
}

@media (max-width: 1024px) {
  .original-platform {
    padding: 15% 0;
  }
}

.original-platform .concept-image {
  display: block;
  width: 700px;
  margin: 0 auto 100px;
}

@media (max-width: 1920px) {
  .original-platform .concept-image {
    width: 40%;
    margin: 0 auto 5%;
  }
}

@media (max-width: 1024px) {
  .original-platform .concept-image {
    display: block;
    width: 80%;
    margin: 0 auto 10%;
  }
}

.original-platform .catch-title {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  font-size: 140px;
  line-height: 1.25em;
  font-weight: 600;
  margin: 0 0 50px;
  text-align: center;
}

@media (max-width: 1920px) {
  .original-platform .catch-title {
    font-size: 7vw;
  }
}

@media (max-width: 1024px) {
  .original-platform .catch-title {
    font-size: 12vw;
    margin: 0 0 10%;
  }
}


.original-platform h2 {
  font-size: 32px;
  line-height: 1em;
  font-weight: bold;
  margin: 0 0 15px;
  text-align: center;
}

@media (max-width: 1920px) {
  .original-platform h2 {
    font-size: 1.6vw;
    margin: 0 0 1%;
  }
}

@media (max-width: 1024px) {
  .original-platform h2 {
    font-size: 7vw;
    margin: 0 0 2%;
  }
}

.original-platform .service-name-en {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  line-height: 1.25em;
  font-weight: 600;
  margin: 0 0 50px;
  text-align: center;
}

@media (max-width: 1920px) {
  .original-platform .service-name-en {
    margin: 0 0 2.5%;
  }
}

@media (max-width: 1920px) {
  .original-platform .service-name-en {
    margin: 0 0 5%;
    font-size: 4vw;
  }
}

@media (max-width: 1024px) {
  .original-platform .explanation {
    padding: 0 7.5%;
  }
}

.original-platform .explanation p {
  margin: 0 0 25px;
  text-align: center;
}

@media (max-width: 1920px) {
  .original-platform .explanation p {
    margin: 0 0 1%;
  }
}

@media (max-width: 1024px) {
  .original-platform .explanation p {
    text-align: left;
    margin: 0 0 2.5%;
  }
}


.platform-services {
  display: flex;
  justify-content: center;
  margin: 100px 0 0;
}

@media (max-width: 1920px) {
  .platform-services {
    display: flex;
    justify-content: center;
    margin: 5% 0 0;
  }
}

@media (max-width: 1024px) {
  .platform-services {
    display: block;
    justify-content: inherit;
    margin: 5% 0 0;
  }
}

.platform-services li {
  width: 700px;
  margin: 0 50px;
  text-align: center;
  font-size: 38px;
  line-height: 1em;
}

@media (max-width: 1920px) {
  .platform-services li {
    width: 35vw;
    margin: 0 2.5%;
    font-size: 2.5vw;
  }
}

@media (max-width: 1024px) {
  .platform-services li {
    width: 85%;
    margin: 0 auto;
    font-size: 6vw;
  }

  .platform-services li:not(last--of-type) {
    margin: 0 auto 7%;
  }
}

.platform-services li a {
  display:
    block;
  background: #fff;
  padding: 50px 0;
  transition-duration: 0.25s;
  transform: scale(1);
}

@media (max-width: 1920px) {
  .platform-services li a {
    background: #fff;
    padding: 7.5% 0;
  }
}

@media (max-width: 1920px) {
  .platform-services li a {
    background: #fff;
    padding: 7% 0;
    box-shadow: 2vw 2vw 0 rgba(0, 0, 0, 0.1);
  }
}

.platform-services li a:hover {
  transform:
    scale(1.05);
  box-shadow: 35px 35px 0 rgb(0 0 0 / 10%);
}

.platform-services li img {
  width: 100px;
  margin: 0 auto 25px;
}

@media (max-width: 1920px) {
  .platform-services li img {
    width: 6vw;
    margin: 0 auto 2.5%;
  }
}

@media (max-width: 1024px) {
  .platform-services li img {
    width: 12vw;
    margin: 0 auto 2.5%;
  }
}

.platform-services .service-name-en {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  line-height: 1.25em;
  font-weight: 600;
  text-align: center;
  display: block;
  margin: 0 0 20px;
  font-size: 18px;
}

@media (max-width: 1920px) {
  .platform-services .service-name-en {
    margin: 0 0 2.5%;
    font-size: 1.25vw;
  }
}

@media (max-width: 1024px) {
  .platform-services .service-name-en {
    margin: 0 0 2.5%;
    font-size: 3.5vw;
  }
}

.platform-services .small {
  font-size: 24px;
}

@media (max-width: 1920px) {
  .platform-services .small {
    font-size: 1.35vw;
  }
}

@media (max-width: 1024px) {
  .platform-services .small {
    font-size: 3.5vw;
  }
}

.home-main-content .linq-pad {
  padding: 200px 0 200px 100px;
}

@media (max-width: 1920px) {
  .home-main-content .linq-pad {
    padding: 10% 7.5%;
  }
}

.home-main-content .linq-pad .catch-title {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  font-size: 140px;
  line-height: 1.25em;
  font-weight: 600;
  margin: 0 0 100px;
}

@media (max-width: 1920px) {
  .linq-pad .catch-title {
    font-size: 6.5vw;
    margin: 0 0 5%;
  }
}

@media (max-width: 1024px) {
  .home-main-content .linq-pad .catch-title {
    font-size: 12vw;
    margin: 0 0 10%;
  }
}

.linq-pad h2 {
  font-size: 32px;
  line-height: 1em;
  font-weight: bold;
  margin: 0 0 15px;
}

@media (max-width: 1920px) {
  .linq-pad h2 {
    font-size: 32px;
    line-height: 1em;
    font-weight: bold;
    margin: 0 0 1.5%;
  }
}

@media (max-width: 1024px) {
  .linq-pad h2 {
    font-size: 32px;
    line-height: 1.25em;
    font-weight: bold;
    margin: 0 0 2%;
  }
}

.linq-pad .service-name-en {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  line-height: 1.25em;
  font-weight: 600;
  margin: 0 0 15px;
  font-size: 18px;
}

@media (max-width: 1920px) {
  .linq-pad .service-name-en {
    margin: 0 0 1.5%;
    font-size: 1vw;
  }
}

@media (max-width: 1024px) {
  .linq-pad .service-name-en {
    margin: 0 0 3%;
    font-size: 3.5vw;
  }
}




.linq-pad-services {
  width: 100%;
  overflow: hidden;
  margin: 100px 0 0;
}

@media (max-width: 1920px) {
  .linq-pad-services {
    width: 100%;
    overflow: hidden;
    margin: 5% 0 0;
  }
}

@media (max-width: 1024px) {
  .linq-pad-services {
    width: 100%;
    overflow: hidden;
    margin: 10% 0 0;
  }
}

.linq-pad-service01 {
  float: left;
  margin: 0 1% 0 0;
  width: 24%;
}

@media (max-width: 1920px) {
  .linq-pad-service01 {
    margin: 0 2.5% 2.5% 0;
    width: 48%;
  }
}

@media (max-width: 1024px) {
  .linq-pad-service01 {
    margin: 0 0 10%;
    width: 100%;
  }
}

.linq-pad-service02 {
  float: left;
  margin: 0 1% 0 0;
  width: 24%;
}

@media (max-width: 1920px) {
  .linq-pad-service02 {
    margin: 0 0 0 0;
    width: 48%;
  }
}

@media (max-width: 1024px) {
  .linq-pad-service02 {
    margin: 0 0 10%;
    width: 100%;
  }
}

.linq-pad-service03 {
  float: left;
  margin: 0 1% 0 0;
  width: 24%;
}

@media (max-width: 1920px) {
  .linq-pad-service03 {
    margin: 0 2.5% 0 0;
    width: 48%;
  }
}

@media (max-width: 1024px) {
  .linq-pad-service03 {
    margin: 0 0 10%;
    width: 100%;
  }
}

.linq-pad-service04 {
  float: left;
  margin: 0 1% 0 0;
  width: 24%;
}

@media (max-width: 1920px) {
  .linq-pad-service04 {
    margin: 0 0 0 0;
    width: 48%;
  }
}

@media (max-width: 1024px) {
  .linq-pad-service04 {
    margin: 0 0 0;
    width: 100%;
  }
}

.linq-pad-services .link-btn {
  margin: 20px 0 0;
}

@media (max-width: 1920px) {
  .linq-pad-services .link-btn {
    margin: 2.5% 0 0;
  }
}

.stakeholder {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  line-height: 1.5em;
  font-weight: 500;
  margin: 0 0 40px;
  font-size: 20px;
  display: block;
  background: #e6e6e6;
  padding: 223px 0 30px 30px;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.25)
}

.linq-pad-service01 .stakeholder {
  background: url(images/platform-image01.png) no-repeat;
  background-size: cover;
}

.linq-pad-service02 .stakeholder {
  background: url(images/platform-image02.png) no-repeat;
  background-size: cover;
}

.linq-pad-service03 .stakeholder {
  background: url(images/platform-image03.png) no-repeat;
  background-size: cover;
}

.linq-pad-service04 .stakeholder {
  background: url(images/platform-image04.png) no-repeat;
  background-size: cover;
}

@media (max-width: 1920px) {
  .stakeholder {
    margin: 0 0 2.5%;
    font-size: 1.25vw;
    display: block;
    background: #e6e6e6;
    padding: 35% 0 4% 5%;
  }
}

@media (max-width: 1024px) {
  .stakeholder {
    margin: 0 0 5%;
    font-size: 3.5vw;
    display: block;
    background: #e6e6e6;
    padding: 40% 0 3% 5%;
  }
}

.linq-pad-services .link-btn a {
  display: inline-block;
  color: #fff;
  padding: 14px 90px 14px 25px;
  border-radius: 8px;
}

@media (max-width: 1024px) {
  .linq-pad-services .link-btn a {
    display: block;
    padding: 4% 20% 4% 5%;
  }
}

.linq-pad-service01 h3 {
  color: #478CD1;
}

.linq-pad-service02 h3 {
  color: #FC8020;
}

.linq-pad-service03 h3 {
  color: #183EC4;
}

.linq-pad-service04 h3 {
  color: #478CD1;
}

.linq-pad-service01 .link-btn a {
  background: #478CD1;
}

.linq-pad-service02 .link-btn a {
  background: #FC8020;
}

.linq-pad-service03 .link-btn a {
  background: #183EC4;
}

.linq-pad-service04 .link-btn a {
  background: #478CD1;
}

.linq-pad-services h3 {
  font-size: 32px;
  line-height: 1.1em;
  margin: 0 0 10px;
}

@media (max-width: 1920px) {
  .linq-pad-services h3 {
    font-size: 2.25vw;
    margin: 0 0 1%;
  }
}

@media (max-width: 1024px) {
  .linq-pad-services h3 {
    font-size: 5vw;
    margin: 0 0 1%;
  }
}

.linq-pad-services h3 span {
  font-size: 20px;
}

@media (max-width: 1920px) {
  .linq-pad-services h3 span {
    font-size: 1.35vw;
  }
}

@media (max-width: 1024px) {
  .linq-pad-services h3 span {
    display: block;
    font-size: 3.5vw;
  }
}

.health-app {
  background: #eff8fd;
  padding: 200px 0;
}

@media (max-width: 1920px) {
  .health-app {
    background: #eff8fd;
    padding: 10% 0;
  }
}

.health-app .catch-title {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  font-size: 140px;
  line-height: 1.25em;
  font-weight: 600;
  margin: 0 0 50px;
  text-align: center;
}

@media (max-width: 1920px) {
  .health-app .catch-title {
    font-size: 7vw;
    margin: 0 0 2.5%;
  }
}

@media (max-width: 1024px) {
  .health-app .catch-title {
    font-size: 12vw;
    margin: 0 0 5%;
  }
}

.health-app .service-name-en {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  line-height: 1.25em;
  font-weight: 600;
  text-align: center;
  display: block;
  margin: 0 0 20px;
  font-size: 18px;
}

@media (max-width: 1920px) {
  .health-app .service-name-en {
    margin: 0 0 1%;
    font-size: 1vw;
  }
}

@media (max-width: 1024px) {
  .health-app .service-name-en {
    margin: 0 0 1%;
    font-size: 3vw;
  }
}

.health-app h2 {
  font-size: 32px;
  line-height: 1em;
  font-weight: bold;
  margin: 0 0 15px;
  text-align: center;
}

@media (max-width: 1920px) {
  .health-app h2 {
    font-size: 2.5vw;
    margin: 0 0 1.5%;
  }
}

@media (max-width: 1024px) {
  .health-app h2 {
    font-size: 4.5vw;
    margin: 0 0 1.5%;
  }
}

.health-app .explanation {
  text-align: center;
}

.health-app-services {
  display: flex;
  justify-content: center;
  margin: 100px 0 0;
}

@media (max-width: 1920px) {
  .health-app-services {
    display: flex;
    justify-content: center;
    margin: 5% 0 0;
  }
}

@media (max-width: 1024px) {
  .health-app-services {
    display: block;
    justify-content: inherit;
    margin: 5% 0 0;
  }
}

.health-app-services img {
  width: 100px;
  display: block;
  margin: 0 auto 50px;
  border-radius: 15px;
}

@media (max-width: 1920px) {
  .health-app-services img {
    width: 5vw;
    margin: 0 auto 2.5%;
  }
}

@media (max-width: 1024px) {
  .health-app-services img {
    width: 18vw;
    margin: 0 auto 5%;
  }
}

.health-app-services h3 {
  text-align: center;
}

.health-app-services .link-btn a {
  display:
    inline-block;
  width: 100%;
  color: #fff;
  padding: 12px 0 12px 23px;
  border-radius: 8px;
  margin: 25px 0 0;
  box-sizing: border-box;
}

@media (max-width: 1920px) {
  .health-app-services .link-btn a {
    margin: 5% 0 0;
  }
}

@media (max-width: 1024px) {
  .health-app-services .link-btn a {
    margin: 2.5% 0;
    display: block;
    padding: 4% 20% 4% 5%;
  }
}

.health-app-service01 .link-btn a {
  background: #478CD1;
}

.health-app-service03 .link-btn a {
  background: #FC8020;
}

.health-app-service02 .link-btn a {
  background: #00B1A4;
}

.health-app-service04 .link-btn a {
  background: #478CD1;
}

.health-app-service01 {
  width: 18%;
  margin: 0 2%;
}

@media (max-width: 1920px) {
  .health-app-service01 {
    width: 20%;
    margin: 0 1.25%;
  }
}

@media (max-width: 1024px) {
  .health-app-service01 {
    width: 85%;
    margin: 0 auto 5%;
  }
}

.health-app-service02 {
  width: 18%;
  margin: 0 2%;
}

@media (max-width: 1920px) {
  .health-app-service02 {
    width: 20%;
    margin: 0 1.25%;
  }
}

@media (max-width: 1024px) {
  .health-app-service02 {
    width: 85%;
    margin: 0 auto 5%;
  }
}

.health-app-service03 {
  width: 18%;
  margin: 0 2%;
}

@media (max-width: 1920px) {
  .health-app-service03 {
    width: 20%;
    margin: 0 1.25%;
  }
}

@media (max-width: 1024px) {
  .health-app-service03 {
    width: 85%;
    margin: 0 auto 5%;
  }
}

.health-app-service04 {
  width: 18%;
  margin: 0 2%;
}

@media (max-width: 1920px) {
  .health-app-service04 {
    width: 20%;
    margin: 0 1.25%;
  }
}

@media (max-width: 1024px) {
  .health-app-service04 {
    width: 85%;
    margin: 0 auto 5%;
  }
}







.contact .bg-normal {
  margin-top: 80px;
}

.first-view .main-visual {
  width: auto;
  height: auto;
  overflow: hidden;
  position: relative
}

@media (max-width: 1370px) {
  .first-view .main-visual {
    height: auto;
  }
}

@media (max-width: 1024px) {
  .first-view .main-visual {
    height: auto;
  }
}

.first-view .main-visual img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.contact .first-view .main-visual img {
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 1370px) {
  .first-view .main-visual img {
    width: 110%;
  }

  .contact .first-view .main-visual img {
    width: 100%;
  }
}

@media (max-width: 1024px) {
  .first-view .main-visual img {
    width: 150%;
  }

  .contact .first-view .main-visual img {
    width: 100%;
    margin-top: 42px;
  }

  .contact .bg-normal {
    margin-top: 16px;
  }
}

@media (max-width: 768px) {

  .contact .first-view .main-visual img {
    margin-top: 28px;
  }
}




/** 汎用固定ページコンテンツ **/
.bg-normal {
  margin: 150px 0;
}

/*@media (max-width: 1300px) {*/
  .bg-normal {
    margin: 5% 0;
    padding: 0 5%;
  }
/*}*/

.bg-normal h3 {
  max-width: 1120px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .bg-normal h3 {
    max-width: 1120px;
    margin: 0 auto 5%;
    padding: 0;
  }
}

.bg-normal>section>p {
  max-width: inherit;
  margin: 0 auto;
  padding: 0;
  max-width: 1280px;
}

@media (max-width: 1024px) {
  .bg-normal>section>p {
    max-width: 1120px;
    margin: 0 auto 5%;
    padding: 0;
  }
}

.bg-normal ul,
.bg-normal ol {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 1024px) {

  .bg-normal ul,
  .bg-normal ol {
    max-width: 1120px;
    margin: 0 auto 5%;
    padding: 0;
  }
}

.bg-grey {
  background: #f8f8f8;
  padding: 120px 40px 40px;
  margin: 0 auto 120px;
}

@media (max-width: 1024px) {
  .bg-grey {
    background: #f8f8f8;
    padding: 5% 2%;
    margin: 0 auto 5%;
  }
}

.bg-white {
  background: #fff;
  margin: 0 auto 50px;
  padding: 40px 40px 40px 10px;
  overflow: hidden;
  max-width: 1280px;
  border-radius: 8px;
}
.security-image {
  border-radius: 6px;
  overflow: hidden;
}

@media (max-width: 1024px) {
  .bg-white {
    background: #fff;
    margin: 0 auto 5%;
    padding: 5% 0;
    overflow: hidden;
    max-width: 1680px;
    box-sizing: border-box;
  }
}

.bg-white>section {
  display: flex;
  justify-content: left;
  flex-wrap: nowrap;
}

@media (max-width: 1024px) {
  .bg-white>section {
    display: block;
    justify-content: left;
    flex-wrap: nowrap;
  }
}

.bg-grey-inner {
  background: #f8f8f8;
  padding: 0;
  overflow: hidden;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .bg-grey-inner {
    background: #f8f8f8;
    padding: 5% 0;
    overflow: hidden;
    max-width: 1680px;
    margin: 0 auto 5%;
    display: flex;
  }
}

.bg-grey-inner>section {
  display: flex;
  justify-content: left;
  flex-wrap: nowrap;
}

.bg-grey-inner:not(:last-of-type) {
  margin: 0 auto 20px;
}

@media (max-width: 1024px) {
  .bg-grey-inner:not(:last-of-type) {
    margin: 0 auto 5%;
  }
}

.bg-normal .bg-grey-inner .inner-box p {
  max-width: inherit;
  margin: 0 auto;
  padding: 0;
  margin: 20px 0 0;
}

.number {
  width: 150px;
  padding: 40px;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .number {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
  }
}

.number p {
  font-family: montserrat, source-han-sans-cjk-ja, sans-serif !important;
  font-size: 30px;
}

.number .small-cap {
  font-size: 12px;
  display: block;
  font-weight: 600;
}

.dx-service-details .inner-box {
  border-left: 1px solid #000;
  padding: 0 40px 0 40px;
  float: left;
  width: calc(100% - 490px);
}

@media (max-width: 1024px) {
  .dx-service-details .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

.bg-white .link-btn {
  margin: 20px 0 0;
}

.bg-white .link-btn a {
  border: 1px solid #000;
  padding: 12px 70px 12px 20px;
  text-decoration: none !important;
  border-radius: 7px;
  display: block;
  margin: 0 0;
  width: fit-content;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  transition: .2s;
}
.bg-white .link-btn a:hover {
  opacity: 0.7;
  translate: 0 2px;
}

.bg-normal .link-btn {
  margin: 25px auto;
  text-align:
    center;
}

.bg-normal .link-btn a {
  border: 1px solid #222;
  padding: 12px 70px 12px 20px;
  text-decoration: none !important;
  border-radius: 7px;
  display: block;
  margin: 0 auto;
  width: fit-content;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  transition: .2s;
}
.bg-normal .link-btn a:hover {
  opacity: 0.7;
  translate: 0 2px;
}

#page .link-btn a:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #222;

}

#page .link-btn a:after {
  width: 8px;
  height: 8px;
  border-top: 1px solid #222;
  border-right: 1px solid #222;

}

#page .contact-banner .link-btn a:before {
  content:
    "";
  display:
    block;
  width: 20px;
  height: 2px;
  background: #fff;
  right: 40px;
}

#page .contact-banner .link-btn a:after {
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  right: 40px;
}

.contact-banner .link-btn {
  margin: 0 auto 120px;
  text-align:
    center;
}

.contact-banner .link-btn a {
  border: 1px solid #fff;
  padding: 20px 150px 20px 150px;
  text-decoration: none !important;
  border-radius: 7px;
  background: orange;
  color: #fff;
  font-size: 25px;
  display: block;
  margin: 0 auto;
  width: fit-content;
}

@media (max-width: 1024px) {
  .contact-banner .link-btn a {
    border: 1px solid #fff;
    padding: 4% 15%;
    text-decoration: none !important;
    border-radius: 7px;
    background: orange;
    color: #fff;
    font-size: 4vw;
    display: block;
    margin: 0 auto;
    width:
      fit-content;
  }
}

#page .text-link {
  text-decoration: underline;
  color: #00ace9;
}

#page a:link {}

#page a:visited {}

#page a:hover {}

#page a:active {}

#page h1 {
  padding: 60px 0 0;
  font-size: 2vw;
  line-height: 1.25;
  margin: 0;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 1024px) {
  #page h1 {
    padding: 6% 0;
    font-size: 30px;
    line-height: 1.25;
    text-align: center;
  }
}

.linq-circle-platform-service h1 {
  background: #002878;
  color: #fff;
}

.linq-circle-platform-service h2 {
  color: #002878;
}

.dietitian h1 {
  background: #FC8020;
  color: #fff;
}

.dietitian h2 {
  color: #FC8020;
}

.pharmacist h1 {
  background: #478CD1;
  color: #fff;
}

.pharmacist h2 {
  color: #478CD1;
}

.linq-touch h1 {
  background: #478CD1;
  color: #fff;
}

.linq-touch h2 {
  color: #478CD1;
}

.clinic-hospital h1 {
  background: #183EC4;
  color: #fff;
}

.clinic-hospital h2 {
  color: #183EC4;
}

.hospital h1 {
  background: #183EC4;
  color: #fff;
}

.hospital h2 {
  color: #183EC4;
}


#page .section-title-en {
  font-family: "Avenir Next", sans-serif !important;
  font-size: 12px;
  color: #999;
  margin: 0 auto 10px;
  font-weight: 500;
}

.align-center {
  text-align: center;
}

#page .excerpt p {
  margin: 30px auto 0;
}

.content h1 {
  margin: 0 auto;
  line-height: 1.4;
}

#page h2,
#page h3,
#page h4,
#page h5 #page h6 {

  margin: 0 auto;
  line-height: 1.5;
}

#page h2 {
  margin: 0 auto 30px;
  font-size: 36px;
  font-weight: 600;
}

@media (max-width: 1024px) {
  #page h2 {
    margin: 0 auto 30px;
    font-size: 28px;
    font-weight: 600;
  }
}

#page .main-copy {
  margin: 0 auto 100px;
}

#page h3 {
  margin-bottom: 8px;
  font-size: 26px;
  font-weight: 600;
}

.category_and_date {

  margin: 0 auto;
}

#page a {
  text-decoration: underline;
}

#page table {

  margin: 0 auto;
  border-collapse: collapse;
}

#page table th {
  text-align: left;
  border: 1px solid #c1c1c1;
  background: #e0e0e0;
  padding: 15px;
}

#page table td {
  text-align: left;
  border: 1px solid #c1c1c1;
  padding: 15px;
}

#page p.overview {
  margin: 0 auto 50px;
}

#page ul,
#page ol {
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

@media (max-width: 1024px) {

  #page ul,
  #page ol {
    padding: 0%;
  }
}

#page ul li,
#page ol li {
  margin: 0;
  list-style-type: none;
}

.excerpt {}

.column .excerpt {
  padding: 0;
  background: none;

  margin: 0 auto;
}

#page dl {
  margin: 0 auto;
}

.page-back a {
  max-width: 50%;
  text-align: center;
  display: block;
  border: 1px solid #e0e0e0;
  margin: 50px auto 0;
  padding: 10px 0;
  border-radius: 100px;
}

.dx-service-image {
  width: 320px;
  float: right;
  height: auto;
}

@media (max-width: 1024px) {
  .dx-service-image {
    width: 90%;
    height: auto;
    float: none;
    margin: 5% auto 0;
    display: block;
  }
}

#page .annotation {
  margin: 15px 0 0;
}

#page .annotation a {
  text-decoration: underline;
  font-weight: bold;
}

#page .slogan {
  background: #f4f6fc;
  padding: 120px 0;
}

@media (max-width: 1024px) {
  #page .slogan {
    background: #f4f6fc;
    padding: 5% 0;
  }
}

#page .slogan h2 {
  font-family: "Avenir Next", sans-serif !important;
  font-size: 16px;
  color: #0053b9;
  margin: 0 auto 60px;
  font-weight: 500;
}

#page .slogan p {
  font-size: 30px;
  font-weight: 600;
  color: #0053b9;
}

#page .slogan p.align-center:not(:last-of-type) {
  margin: 0 auto 40px
}

#page .slogan .icon-slogan {
  width: 40px;
  margin: 0 auto 10px;
  display: block;
}

#page .dx-consulting-example .inner-box {
  border-left: 1px solid #000;
  padding: 40px;
  float: left;
  width: calc(100% - 135px);
}

@media (max-width: 1024px) {
  #page .dx-consulting-example .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

#page .consulting-icon {
  width: 120px;
  height: 120px;
  float: left;
  margin: 0 40px 0 0;
  padding: 20px 0;
}

#page .faq {
  margin: 0 auto;
  overflow: hidden;
  max-width: 1680px;
  padding: 0 40px;
}

@media (max-width: 1024px) {
  #page .faq {
    margin: 0 auto;
    overflow: hidden;
    max-width: 1680px;
    padding: 0;
  }
}

#page .faq dt {
  font-weight: 600;
}

.icon-person {
  width: 25px;
  margin: 0 10px 0 0;
}

#page .si-case-study .inner-box {
  border-left: 1px solid #000;
  padding: 40px;
  float: left;
  width: calc(100% - 600px);
}

@media (max-width: 1024px) {
  #page .si-case-study .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

#page .si-case-study .inner-box-right {
  padding: 40px 0;
  float: right;
  width: 400px;
}

@media (max-width: 1024px) {
  #page .si-case-study .inner-box-right {
    float:
      none;
    width: 100%;
    padding: 5%;
    box-sizing: border-box;
  }
}

#page .si-case-study .inner-box-right dt {
  font-family: "Avenir Next", sans-serif !important;
  font-size: 12px;
  display: block;
  font-weight: 600;
  margin: 0 0 5px;
}

#page .si-case-study .inner-box-right dd {
  border: 0;
  margin: 0;
  padding: 0;
}

#page .si-case-study .inner-box-right dd:first-of-type {
  margin: 0 0 10px;
}

#page .si-case-study .inner-box-right dd ul {
  display: flex;
  jusify-content: start;
  margin: 0;
  padding: 0;
  font-family: "Avenir Next", sans-serif !important;
}

#page .si-case-study .inner-box-right dd ul li {
  margin: 0 15px 0 0;
  text-align: center;
}

.icon-pc {
  display:
    block;
  width: 70px;
  margin: 0 auto;
}

.icon-sp {
  display:
    block;
  width: 22px;
  margin: 16px auto 0px;
}

.icon-tablet {
  display: block;
  width: 48px;
  margin: 22px 0 0;
}

#page .mobile-health-app .inner-box {
  border-left: 1px solid #000;
  padding: 40px;
  width: calc(100% - 475px);
}

@media (max-width: 1024px) {
  #page .mobile-health-app .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

.mobile-app-image {
  width: 320px;
  float: right;
  padding: 40px;
}

.mobile-app-image img {
  width: 100%;
}

#page .mobile-health-app-case .inner-box {
  border-left: 1px solid #000;
  padding: 40px;
  float: left;
  width: calc(100% - 515px);
}

@media (max-width: 1024px) {
  #page .mobile-health-app-case .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

#page .mobile-health-app-case .inner-box-right {
  width: 330px;
  padding: 40px 0;
  float: right;
  display: flex;
}

@media (max-width: 1024px) {
  #page .mobile-health-app-case .inner-box-right {
    width: 100%;
    float: none;
  }
}

#page .mobile-health-app-case .inner-box-right img {
  width: 150px;
  height: auto;
  margin: 0 0 0 15px;
}

@media (max-width: 1024px) {
  #page .mobile-health-app-case .inner-box-right img {
    width: 20%;
    height: auto;
    margin: 5% 0 0 5%;
  }
}

p.annotation-small {
  font-size: 12px;
  line-height: 1.75;
  margin: 10px 0 0;
  padding: 0 0 0 2.2em;
  text-indent: -2.2em;
}

#page .emphasize-link {
  background: #f4f6fc;
  padding: 120px 0;
  margin: 0 auto 120px;
}

@media (max-width: 1024px) {
  #page .emphasize-link {
    background: #f4f6fc;
    padding: 5% 0;
    margin: 0 auto 5%;
  }
}

#page .emphasize-link p.text {
  font-size: 30px;
  font-weight: 600;
  color: #0053b9;
  max-width: inherit;
}

#page .emphasize-link .link-btn {
  margin: 20px 0 0;
}

#page .emphasize-link .link-btn a {
  border: 1px solid #000;
  padding: 12px 70px 12px 20px;
  text-decoration: none !important;
  border-radius: 7px;
  display: block;
  margin: 0 auto;
  width: fit-content;
}

#page .healthcare-uiux .inner-box {
  border-left: 1px solid #000;
  /*padding: 0 0 0 40px;*/
  float: left;
  width: calc(100% - 475px);
}

@media (max-width: 1024px) {
  #page .healthcare-uiux .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

.ux-image {
  width: 325px;
  float: right;
}

#page .healthcare-security .inner-box {
  border-left: 1px solid #000;
  float: left;
  width: calc(100% - 140px);
}

@media (max-width: 1024px) {
  #page .healthcare-security .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

#page .healthcare-security .inner-box section:first-of-type {
  margin: 0 0 20px;
}

.bg-normal p.image-full {
  width: 80%;
  display:
    block;
  margin: 60px auto;
}

.bg-normal p.image-full img {
  width: 100%;
}

.bg-normal p.image-half {
  width: 40%;
  display:
    block;
  margin: 60px auto;
}

.bg-normal p.image-half img {
  width: 100%;
}

#page .phr-platform-app .inner-box {
  border-left: 1px solid #000;
  padding: 0 0 0 40px;
  float: left;
  width: calc(100% - 515px);
}

@media (max-width: 1024px) {
  #page .phr-platform-app .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

#page .phr-platform-app .bg-grey-inner p.link-btn a {
  margin: 0;
}

#page .phr-platform-app>section>p {
  max-width: 1680px;
  margin: 0 auto 60px;
  padding: 0 40px;
}

@media (max-width: 1024px) {
  #page .phr-platform-app p {
    max-width: 1680px;
    margin: 0 auto 5%;
    padding: 0;
  }
}

#page .linq-pad .inner-box {
  border-left: 1px solid #000;
  padding: 0 0 0 40px;
  float: left;
  width: calc(100% - 515px);
}

@media (max-width: 1024px) {
  #page .linq-pad .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

#page .content .linq-pad dd {
  padding: 0;
  border-bottom: 0;
}

#page .inner-box h4 {
  margin: 30px 0 0;
}

.mb-40 {
  margin-bottom: 40px;
}


.single {
  max-width: 1120px;
  margin: 200px auto 200px;
  padding: 0 40px;
}

@media (max-width: 1024px) {
  .single {
    max-width: 1120px;
    margin: 15% auto 15%;
    padding: 0 5%;
  }
}

.single h1 {
  margin: 0 auto 60px;
}

@media (max-width: 1024px) {
  .single h1 {
    width: 90%;
    margin: 0 auto 5%;
  }
}

.category_and_date {
  color: #999;
  margin: 0 0 60px;
  text-align: center;
}

@media (max-width: 1024px) {
  .category_and_date {
    color: #999;
    width: 90%;
    margin: 0 auto 5%;
  }
}

.single .size-full {
  display: block;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .single .size-full {
    width: 100%;
  }
}

.single p {
  line-height: 2.5em;
}

@media (max-width: 1024px) {
  .single p {
    line-height: 2em;
  }
}

.mna-images {
  margin: 50px 0 50px 30px
}

.mna-images p {
  margin: 0 0 15px;
}

.mna-images img {
  width: auto;
  height: 14vw;
}

@media (max-width: 1024px) {
  #page .mna-images {
    margin: 5% auto;
    width: 90%;
  }

  #page .mna-images p {
    margin: 0;
  }

  #page .mna-images img {
    width: auto;
    height: 25vw;
  }
}

#page .phr-platform-app .inner-box h3 {
  margin: 0 0 20px;
  padding: 0;
}

#page .mobile-health-app .inner-box h3 {
  margin: 0 0 20px;
  padding: 0;
}

.bg-normal .bg-grey-inner .link-btn a {
  margin: 0;
}

#page .flex-center {
  display: flex;
  justify-content: space-around;
}

.bold {
  font-weight: bold;
}

.text-L {
  font-size: 125%;
}

.right-image-full {
  width: 320px;
  height: auto;
}

.right-image-full img {
  width: 100%;
  height: auto;
}

.right-image-half {
  width: 320px;
  height: auto;
}

.right-image-half img {
  width: 50%;
  height: auto;
  display: block;
  margin: 0 auto;
}


#page .inner-box .equipment-list li {
  border-radius: 8px;
  margin: 0px 0 15px;
  line-height: 1.75;
  border: 1px solid #999;
  padding: 15px 20px;
}

#page .inner-box .equipment-list li span {
  font-weight: 600;
  font-size: 110%;
}



.linq-circle-platform-service .bg-grey {
  background: #f8f8f8;
  padding: 170px 40px;
  margin: 0 auto 120px;
  width: 95%;
  border-radius: 20px;
}

@media (max-width: 1024px) {
  .linq-circle-platform-service .bg-grey {
    background: #f8f8f8;
    padding: 5% 2%;
    margin: 0 auto 5%;
  }
}

.linq-circle-platform-service .bg-grey p {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  line-height: 2.4em;
}

@media (max-width: 1024px) {
  .linq-circle-platform-service .bg-normal p {
    max-width: 1120px;
    margin: 0 auto 5%;
    padding: 0;
  }
}


.linq-circle-platform-service h2 {
  color: #002878;
  margin: 0 auto 50px;
}


.linq-circle-platform-service .inner-box {
  border-left: 0.5px solid #000;
  padding: 40px;
  width: calc(100% - 150px);
}

@media (max-width: 1024px) {
  .linq-circle-platform-service .inner-box {
    border-left: 0;
    padding: 0 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

p.linq-circle-concept-image {
  width: 100%;
  max-width: inherit;
  text-align: center;
  margin: 50px 0;
  padding: 0;
}

p.linq-circle-concept-image img {
  max-width: 1280px;
  width: 90%;
}

.linq-circle-platform-service .bg-grey p.linq-circle-history-image {
  width: 570px;
  max-width: inherit;
  text-align: center;
  margin: 30px auto;
  padding: 0;
}

.linq-circle-platform-service .bg-grey p.linq-circle-history-image img {
  width: 100%;
}


.bg-normal2:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  position: absolute;
  top: 0;
}

.bg-normal2 {
  padding: 200px 0 0;
  position: relative;
}


.features {
  margin: 100px 0;
}

.features .bg-white {
  border: 0.5px solid #000;
  padding: 0;
}

.features .bg-white .image-right {
  float: right;
  width: 320px;
  margin: 0 0 0 100px;
}

.features .bg-white .image-right img {
  width: 100%;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
  border-radius: 20px;
}

.image-right {
  float: right;
  width: 400px;
  margin: 0 100px 0 100px;
}

.service-list {
  clear: both;
  background: #f3f3f3;
  padding: 100px 0;
}

.service-list section>h3 {
  max-width: 1680px;
  margin: 0 auto;
}

.service-list section>p {
  max-width: 1680px;
  margin: 0 auto;
}

.splide {
  margin: 100px 0 100px;
}

.splide__slide {
  height: auto;
  width: 100%;
  padding: 60px 40px 40px;
}

.splide__slide .app-image {
  width: 420px;
  margin: 0 auto 40px;
  display: block;
}

.splide__slide .app-link-btn {
  display: block;
  width: 100%;
  color: #fff;
  padding: 15px 23px;
  text-decoration: none !important;
  margin: 20px 0 0;
  box-sizing: border-box;
  border-radius: 5px;
  position: relative;
}

.splide__slide .app-link-btn:before,
.splide__slide .app-link-btn:after {
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
}

.splide__slide .app-link-btn:before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
}

.splide__slide .app-link-btn:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.linq-palette-app {
  background: #fff;
}

.linq-palette-app .app-name {
  color: #478CD1;
  font-size: 30px;
}

.linq-palette-app .app-link-btn {
  background: #478CD1;
  color: #fff;
}

.shokuji-palette-app {
  background: #fff;
}

.shokuji-palette-app .app-name {
  color: #FC8020;
  font-size: 30px;
}

.shokuji-palette-app .app-link-btn {
  background: #FC8020;
}


.karada-palette-app {
  background: #fff;
}

.karada-palette-app .app-name {
  color: #009D65;
  font-size: 30px;
}

.karada-palette-app .app-link-btn {
  background: #009D65;
}

.okusuri-palette-app {
  background: #fff;
}

.okusuri-palette-app .app-name {
  color: #478CD1;
  font-size: 30px;
}

.okusuri-palette-app .app-link-btn {
  background: #478CD1;
}

.linq-circle .bg-normal2 .app-desc {
  margin: 0 0 20px;
}

.bg-normal2-inner {
  padding: 0;
  max-width: 1680px;
  margin: 0 auto 100px;
  overflow: hidden;
}

.web-service-list {
  padding: 0;
  margin: 0 auto 100px;
}

.linq-pad-pharmacy {
  border-radius: 20px;
  border: 1px solid #478CD1;
  padding: 50px;
  overflow: hidden;
  max-width: 1280px;
  margin: 0 auto 50px;
  box-sizing: border-box;
}

.linq-pad-pharmacy img {
  float: left;
  width: 220px;
  margin: 0 60px 0 0;
}

#page .linq-pad-pharmacy h3 {
  color: #478CD1;
  margin: 0 0 10px;
}

.linq-pad-nutrition {
  border-radius: 20px;
  border: 1px solid #FC8020;
  padding: 50px;
  overflow: hidden;
  max-width: 1280px;
  margin: 0 auto 50px;
  box-sizing: border-box;
}

.linq-pad-nutrition img {
  float: left;
  width: 160px;
  margin: 0 80px 0 40px;
}

#page .linq-pad-nutrition h3 {
  color: #FC8020;
  margin: 0 0 10px;
}

.linq-pad-medical {
  border-radius: 20px;
  border: 1px solid #0050AD;
  padding: 50px;
  overflow: hidden;
  max-width: 1280px;
  margin: 0 auto;
  box-sizing: border-box;
}

.linq-pad-medical img {
  float: left;
  width: 208px;
  margin: 50px 60px 0 10px;
}

#page .linq-pad-medical h3 {
  color: #0050AD;
  margin: 0 0 10px;
}

.web-service-list .app-link-btn {
  display: inline-block;
  width: auto;
  color: #fff;
  padding: 15px 73px 15px 23px;
  text-decoration: none !important;
  margin: 20px 0 0;
  box-sizing: border-box;
  border-radius: 5px;
  position: relative;
}

.web-service-list .app-link-btn:before,
.web-service-list .app-link-btn:after {
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
}

.web-service-list .app-link-btn:before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #fff;
}

.web-service-list .app-link-btn:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.linq-pad-pharmacy .app-link-btn {
  background: #478CD1;
}

.linq-pad-nutrition .app-link-btn {
  background: #FC8020;
}

.linq-pad-medical .app-link-btn {
  background: #0050AD;
}

.journey-image {
  width: 780px;
  margin: 100px auto 0;
}

.journey-image img {
  width: 100%;
}

#mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-item>a.mega-menu-link {
  line-height: inherit !important;
  height: auto !important;
}

#mega-menu-wrap-place_header #mega-menu-place_header>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
  font-size: 0.8rem !important;
  padding: 15px 10px !important;
  line-height: 1.25rem !important;
}






.bg-grey {
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .bg-grey {
    margin: 0 auto;
  }
}

.bg-grey .bg-white {
  padding: 0;
}

.bg-grey .bg-white .inner-box {
  border-left: 1px solid #000;
  padding: 40px;
  float: left;
  width: 100%;
}

@media (max-width: 1024px) {
  .bg-grey .bg-white .inner-box {
    border-left: 0;
    padding: 5%;
    float: none;
    width: 100%;
    box-sizing: border-box;
  }
}

.concept-image {
  max-width: 1280px;
  ;
  margin: 0 auto;
}

.concept-image img {
  width: 100%;
  border-radius: 6px;
}

.banner-link a {
  display: block;
  margin: 0 auto;
  width: 600px;
  font-size: 115%;
  border-radius: 8px;
  text-decoration: none !important;
  padding: 25px 100px 25px 30px;
  position: relative;
  box-sizing: border-box;
  line-height: 1;
}

@media (max-width: 1024px) {
  .banner-link a {
    width: 100%;
    padding: 5% 18% 5% 5%;
  }
}

.banner-link a:before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 100px;
  position: absolute;

  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
}

.banner-link a:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
}

.dietitian .banner-link a {
  border: 1px solid #FC8020;
  color: #FC8020;
}

.dietitian .banner-link a:before {
  background: #FC8020;
}

.dietitian .banner-link a:after {
  border-top: 2px solid #FC8020;
  border-right: 2px solid #FC8020;
}

.pharmacist .banner-link a,
.linq-touch .banner-link a {
  border: 1px solid #478CD1;
  color: #478CD1;
}

.pharmacist .banner-link a:before,
.linq-touch .banner-link a:before {
  background: #478CD1;
}

.pharmacist .banner-link a:after,
.linq-touch .banner-link a:after {
  border-top: 2px solid #478CD1;
  border-right: 2px solid #478CD1;
}

.clinic-hospital .banner-link a {
  border: 1px solid #183EC4;
  color: #183EC4;
}

.clinic-hospital .banner-link a:before {
  background: #183EC4;
}

.clinic-hospital .banner-link a:after {
  border-top: 2px solid #183EC4;
  border-right: 2px solid #183EC4;
}

.palette-app .first-view .main-visual {
  height: 500px;
}

.palette-app .first-view .main-visual img {
  width: 100%;
  height: auto;
}


.platform-app-inner {
  display: flex;
  justify-content: space-evenly;
  max-width: 1680px;
  width: 90%;
  margin: 30px auto 100px;
}

.platform-app-inner section {
  background: #f7f7f7;
  padding: 40px;
  width: 31%;
  box-sizing: border-box;
  margin: 0;
}

.line-connect-appp-inner {
  display: flex;
  justify-content: space-between;
  max-width: 1680px;
  width: 90%;
  margin: 30px auto 100px;
}

.line-connect-appp-inner section {
  background: #f7f7f7;
  padding: 40px;
  width: 31%;
  box-sizing: border-box;
  margin: 0;
}

.app-list h3 {
  max-width: 1680px;
  margin: 0 auto;
}

.app-list h4 {
  font-size: 1.5em;
}

.app-list img {
  width: 100%;
  height: auto;
}

.app-list p {
  max-width: 1680px;
  margin: 0 auto;
}

.app-list a {
  display: block;
  margin: 20px 0 0;
  width: auto;
  font-size: 100%;
  border-radius: 8px;
  text-decoration: none !important;
  padding: 20px 40px 20px 20px;
  position: relative;
  box-sizing: border-box;
  line-height: 1.25;
  border: 1px solid #323232;
  background: #fff;
}

.app-list a:before {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 100px;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
  background: #323232;
}

.app-list a:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
  border-top: 2px solid #323232;
  border-right: 2px solid #323232;
}

.case-hemangiol .main-visual,
.case-comclo .main-visual,
.case-sle .main-visual,
.case-mna .main-visual,
.case-ibd .main-visual,
.case-mitchga .main-visual,
.linq-connect-for-app .main-visual,
.lifepalette-line-connect-platform .main-visual,
.hemophilia .main-visual,
.mobile-healthcare-app .main-visual,
.healthcare-dx .main-visual,
.healthcare-si .main-visual,
.healthcare-security .main-visual,
.contact .main-visual,
.healthcare-dx-consulting .main-visual,
.healthcare-ux .main-visual {
  height: 400px;
}

.case-hemangiol .main-visual img,
.case-comclo .main-visual img,
.case-sle .main-visual img,
.case-mna .main-visual img,
.case-ibd .main-visual img,
.case-mitchga .main-visual img,
.linq-connect-for-app .main-visual img,
.lifepalette-line-connect-platform .main-visual img,
.hemophilia .main-visual img,
.mobile-healthcare-app .main-visual img,
.healthcare-dx .main-visual img,
.healthcare-si .main-visual img,
.healthcare-security .main-visual img,
.contact .main-visual img,
.healthcare-dx-consulting .main-visual img,
.healthcare-ux .main-visual img {
  position: absolute;

}

.pharmacy .main-visual,
.nutrition .main-visual,
.vital-management .main-visual,
.medicine .main-visual {
  height: 700px;
}

.pharmacy .main-visual img,
.nutrition .main-visual img,
.vital-management .main-visual img,
.medicine .main-visual img {
  position: absolute;

}

.contact .main-visual {
  height: 270px;
}

.inner-box-image {
  float: right;
  margin: 0 0 0 30px;
}

@media (max-width: 768px) {
  .inner-box-image {
    display: block;
    float: none;
    margin: 0 auto 5%;
  }

  .contact .main-visual {
    height: 220px;
  }

}

@media (max-width: 450px) {

  .contact .main-visual {
    height: 140px;
  }

}


#wpcf7-f93-o1 form p ,
#wpcf7-f93-p7-o1 form p {
  margin: 0 0 30px;
}

#wpcf7-f93-o1 form span strong ,
#wpcf7-f93-p7-o1 form span strong {
  display: inline;
  margin: 0 0 0 10px;
}

#wpcf7-f93-o1 form p span strong::before ,
#wpcf7-f93-p7-o1 form p span strong::before {
  /* 【必須】前で改行 */
  content: none;
  white-space: pre;
}

#wpcf7-f93-o1 .wpcf7-list-item  {
  display: block;
}


.contact-floatbtn a {
  display: block;
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 100;
  background: orange;
  ;
  padding: 10px 35px;
  border-radius: 5px;
  color: #fff;
  font-size: 25px;
}

@media (max-width: 768px) {
  .contact-floatbtn a {
    display: block;
    position: fixed;
    bottom: 6vw;
    right: 6vw;
    z-index: 100;
    background: orange;
    ;
    padding: 2.5% 5.5%;
    border-radius: 5px;
    color: #fff;
    font-size: 1.25em;
  }

}

.scrollbox {
  width: 250px;
  height: 250px;
  overflow: auto;
  padding: 10px;
  font-size: 14px;
  color: #333;
  border: 1px solid #ddd;
}

.scrollbox span {
  display: block;
  height: 1200px;
  color: #999;
  font-size: 11px;
}

/* 크롬 스크롤바 CSS  */


/*스크롤바의 너비*/
.scrollbox::-webkit-scrollbar {
  width: 15px;
}

/*스크롤바의 색상*/
.scrollbox::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  border: 1px solid transparent;
  background-color: #fff;
  border-color: #ddd;
}

/*스크롤바 트랙 색상*/
.scrollbox::-webkit-scrollbar-track {
  background-color: #faf5f5;
}

/*스크롤바 버튼 색상*/
::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
  display: block;
  height: 15px;
  border: 1px solid transparent;
  background-color: #fff;
  border-color: #ddd;
}

/* 익스프롤러 10이하 스크롤바 CSS  */
* {
  scrollbar-arrow-color: #666;
  scrollbar-face-color: #FFFFFF;
  scrollbar-shadow-color: #ddd;
  scrollbar-track-color: #faf5f5;
}



h2,
h3 {
  font-weight: bold;
}

dl,
dd,
dt {
  line-height: 1.7;
}

p {
  line-height: 1.7;
}

.comingsoonWrap {
  padding: 50px 20px;
}

.comingsoonWrap p {
  margin-bottom: 30px;
}


#page .headset {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto;
}

#page .headset-ti {
  margin-bottom: 0 !important;
}

#page .headset-sub {
  margin-bottom: 24px;
  font-size: 24px
}

#page .headset-txt:not(:last-child) {
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  #page .headset-ti {
    margin-bottom: 8px !important;
  }

  #page .headset-sub,
  #page .headset-txt {
    width: 100%;
    margin: 0;
  }

  #page .headset-sub {
    font-size: 24px;
    margin-bottom: 24px;
    line-height: 1.5;
  }

  #page .headset-txt {
    font-size: 20px;
  }

  #page .headset-txt:not(:last-child) {
    margin-bottom: 16px;
  }
}

.lp_linq-pad_lead {
  max-width: 1010px;
  margin: 0 auto;
  padding: 0 0 50px;
  border-bottom: 2px dashed #e0e0e0;
}
.lp_linq-pad_ti {
  word-break: keep-all;
  overflow-wrap: break-word;
}
.lp_linq-pad_ul {
  margin: 24px 0 !important;
  padding: 16px 16px 16px 40px  !important;
  border-radius: 8px;
  background-color: #f7f7f7;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lp_linq-pad_ul li {list-style-type: disc !important;}

/* button
==============================*/
.btn ,
#page .btn {
  text-decoration: none;
  width: fit-content;
  letter-spacing: 2.7px;
  font-weight: bold;
  border-radius: 6px;
  background: #2F4DA1;
  color: #fff;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  gap: 12px;
}
.btn.xm {
  padding: 12px 16px;
  padding-left: 40px;
  font-size: 18px;
}
.btn.position-right {margin-left: auto;}
.btn .ico-mui {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #fff;
  color: #2F4DA1;
  display: grid;
  place-items: center;
}
.btn:hover {opacity: .7;}
@media (770px >= width) {
  .btn {
    letter-spacing: 0;
    gap: 8px;
  }
  .btn.xm {
    padding: 6px 12px;
    font-size: 15px;
  }
}
.ico-mui,
.ico-aft::after,
.ico-bef::before {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: var(--typo-h4);
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  vertical-align: middle;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}



#wpcf7-f93-p7-o1 .contacts p {margin: 0;}
#wpcf7-f93-p7-o1 .contacts {margin: 32px 0 0;}
#wpcf7-f93-p7-o1 .contacts-row {
  margin-bottom: 40px;
  display: flex;
  gap: 32px;
}
#wpcf7-f93-p7-o1 .contacts-clm {
  width: 100%;
  display: flex;
  flex-direction: column;
}
#wpcf7-f93-p7-o1 .contacts-hgroup {
  width: 100%;
  height: 100%;
}
#wpcf7-f93-p7-o1 .contacts-ti {
  margin: 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
}
#wpcf7-f93-p7-o1 .contacts-ti span {
  margin: 0 0 0 8px;
  font-size: 16px;
  font-weight: normal;
  color: #f00;
}
#wpcf7-f93-p7-o1 .contacts-ti i {
  margin: 0 0 0 8px;
  font-size: 16px;
  font-weight: normal;
  font-style: normal;
  color: #666;
}
#wpcf7-f93-p7-o1 .contacts-helper {
  line-height: 1.5;
  font-size: 16px;
  opacity: .7;
}
#wpcf7-f93-p7-o1 .contacts-form {
  margin-top: auto;
  padding-top: 8px;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-form-control {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-text {
  padding: 12px;
  font-size: 16px;
  border-radius: 6px;
  border: 1px solid #e0e0e0;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 32px;
}
#wpcf7-f93-p7-o1 .contacts-form label {
  display: block;
  cursor: pointer;
}
#wpcf7-f93-p7-o1 .contacts-form .agreelabel label,
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-checkbox label {
  padding: 13px 8px;
  display: block;
  cursor: pointer;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-checkbox .wpcf7-list-item {
  margin: 0 !important;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-list-item:has(input[type="checkbox"]:checked) {
  border-color: #66bbee;
  background: #d6f0ff;
}
#wpcf7-f93-p7-o1 .contacts-form [type="checkbox"] {vertical-align: baseline;}
#wpcf7-f93-p7-o1 .contacts-form .agreelabel {
  width: fit-content;
  padding: 0 8px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
  display: block;
}
#wpcf7-f93-p7-o1 .contacts-form .agreelabel:has(input[type="checkbox"]:checked) {
  border-color: #66bbee;
  background: #d6f0ff;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-form-control[name="agree"] {
  width: auto;
  margin: 0 8px 0 0;
}
#wpcf7-f93-p7-o1 .contacts-form .wpcf7-textarea {
  padding: 12px;
  font-size: 16px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
}
.wpcf7-list-item {margin: 0 !important;}

.wpcf7 #spck {
  display: none;
  visibility: hidden;
}
@media (max-width: 768px) {
  .contact #page {background: transparent;}
  .contact #page .bg-normal {padding: 0;}
  .contact #page .cont-ul {background: #fff;}
  .contact #page h3 {max-width: 100%;}

  .contact .section-title-en {padding-top: 16px;}
  #wpcf7-f93-p7-o1 .contacts p {padding: 0;}
  #wpcf7-f93-p7-o1 .contacts-row {
    margin-bottom: 32px;
    flex-direction: column;
    gap: 32px;
  }
  #wpcf7-f93-p7-o1 .contacts-form .wpcf7-checkbox {grid-template-columns: repeat(1, 1fr);}
  #wpcf7-f93-p7-o1 .contacts-form .agreelabel label,
  #wpcf7-f93-p7-o1 .contacts-form .wpcf7-checkbox label {
    font-size: 14px;
    padding: 10px;
  }
  #wpcf7-f93-p7-o1 .contacts-form .agreelabel .agree {
    width: auto;
    display: inline;
  }
  #wpcf7-f93-p7-o1 form input[type="submit"] {
    width: 50%;
    padding: 8px;
    margin: auto;
    background: #ec6800;
  }
  #wpcf7-f93-p7-o1 .contacts-form .wpcf7-text[name="your-name"] {width: 180px;}
  #wpcf7-f93-p7-o1 .contacts-form .wpcf7-text[name="your-kana"] {width: 260px;}
  #wpcf7-f93-p7-o1 .contacts-form .wpcf7-text[name="tel"] {width: 170px;}
}


/*@import url('reset.css');*/

/* default
==============================*/
:root {
  --white:       rgb(255 255 255);
  --black:       rgb(0 0 0);

  --primary-main:  #2F4DA1;
  --primary-light: #bbdefb;
  --primary-dark:  #1045a1;
  --primary-bg:  #F4F6FC;
  --primary-50:  #e3f2fd;
  --primary-100: #bbdefb;
  --primary-200: #90c9f9;
  --primary-300: #63b4f6;
  --primary-400: #42a4f5;
  --primary-500: #2F4DA1;
  --primary-600: #1f87e5;
  --primary-700: #1a75d2;
  --primary-800: #1764c0;
  --primary-900: #1045a1;

  --secondary-main:  #ffeb3b;
  --secondary-light: #fff9c4;
  --secondary-dark:  #f57f16;
  --secondary-50:  #fffde7;
  --secondary-100: #fff9c4;
  --secondary-200: #fff59d;
  --secondary-300: #fef075;
  --secondary-400: #fceb55;
  --secondary-500: #ffeb3b;
  --secondary-600: #fdd835;
  --secondary-700: #fbc02d;
  --secondary-800: #f9a825;
  --secondary-900: #f57f16;

  --txt-main:     rgb(0 0 0 / .87);
  --txt-light:    rgb(0 0 0 / .60);
  --txt-disabled: rgb(0 0 0 / .28);
  --txt-link:     rgb(41 98 255);

  --radius-xs: 8px;
  --radius-xm: 12px;
  --radius-xl: 16px;
  --radius-round: 100vh;
  --radius-circle: 50%;

  --breakpoint-xl: 1280px;
  --breakpoint-xm: 960px;
  --breakpoint-xs: 770px;

  --heading-2xl: 7.5rem;   /*120px*/
  --heading-xl:  4rem;     /*64px*/
  --heading-xm:  2rem;     /*32px*/
  --heading-xr:  1.75rem;  /*28px*/
  --heading-xs:  1.5rem;   /*24px*/
  --heading-2xs: 1.375rem; /*22px*/

  --typo-xl:  1.25rem;     /*20px*/
  --typo-xm:  1.125rem;    /*18px*/
  --typo-xs:  1rem;        /*16px*/
  --cption:  0.875rem;     /*14px*/

  --button-xm:  1.125rem;  /*18px*/
}
html {font-size: 16px;}
body {
  padding-top: 155px;
  line-height: 2;
  font-size: var(--typo-bd);
  color: var(--txt-main);
  background: #f6f7f8;
}
a {
  text-decoration: none;
  color: inherit;
  transition: .2s;
}

/* font
==============================*/
.font-avenir {
  font-family: "Avenir Next", sans-serif;
  font-weight: 500;
}

/* icon
==============================*/
.ico-mui,
.ico-aft::after,
.ico-bef::before {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: var(--typo-h4);
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  vertical-align: middle;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}

/* maxWidth
==============================*/
[data-mw] {
  max-width: calc(100% - 48px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
}
[data-mw="xl"] {width: var(--breakpoint-xl);}
[data-mw="xm"] {width: var(--breakpoint-xm);}
@media (770px >= width) {
  [data-mw] {max-width: calc(100% - 32px);}
}

/* card
==============================*/
.card-white,
.card-blue {
  padding: 24px;
  border-radius: 12px;
}
.card-white {background: var(--white);}
.card-blue {background: var(--primary-bg);
}

/* layout
==============================*/
.cent {display: grid;place-items: center;}

[data-mgn="top8"] {margin-top: 8px;}
[data-mgn="top16"] {margin-top: 16px;}
[data-mgn="top24"] {margin-top: 24px;}
[data-mgn="top32"] {margin-top: 32px;}
[data-mgn="top40"] {margin-top: 40px;}
[data-mgn="top48"] {margin-top: 48px;}

[data-mgn="btm8"] {margin-bottom: 8px;}
[data-mgn="btm16"] {margin-bottom: 16px;}
[data-mgn="btm24"] {margin-bottom: 24px;}
[data-mgn="btm32"] {margin-bottom: 32px;}
[data-mgn="btm40"] {margin-bottom: 40px;}
[data-mgn="btm48"] {margin-bottom: 48px;}

[data-mgn="left-auto"] {margin-left: auto;}
[data-mgn="right-auto"] {margin-right: auto;}

/* text
==============================*/
#page .roots .p-wrap {margin-bottom: 24px;}

#page .roots .p-xl {
  font-size: var(--typo-xl);
  font-weight: 500;
}
#page .roots .p-xm {
  font-size: var(--typo-xm);
  font-weight: 500;
}
#page .roots .p-xs {
  font-size: var(--typo-xs);
  font-weight: 500;
}
#page .roots .h-xs ,
#page .roots .p-xm:not(:last-child) {margin-bottom: 16px;}
.bq {
  margin-top: 16px;
  padding: 8px;
  font-style: italic;
  border-radius: 8px;
  background: #f5f5f5;
}
.wbr {
  line-height: inherit;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* image
==============================*/
.sec-fig {
  max-width: 100%;
  margin: auto;
  overflow: hidden;
}
.fit ,
.sec-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* button
==============================*/
.btn ,
#page .btn {
  text-decoration: none;
  width: fit-content;
  letter-spacing: 2.7px;
  font-weight: bold;
  border-radius: 6px;
  background: var(--primary-main);
  color: var(--white);
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.10), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  gap: 12px;
}
.btn.xm {
  padding: 12px 16px;
  padding-left: 40px;
  font-size: var(--typo-xm);
}
.btn.position-right {margin-left: auto;}
.btn .ico-mui {
  width: 24px;
  height: 24px;
  border-radius: var(--radius-circle);
  background: var(--white);
  color: var(--primary-main);
  display: grid;
  place-items: center;
}
.btn:hover {opacity: .7;}
@media (770px >= width) {
  .btn {
    letter-spacing: 0;
    gap: 8px;
  }
  .btn.xm {
    padding: 6px 12px;
    font-size: 15px;
  }
}

.anc {
  color: var(--primary-main);
  text-decoration: underline;
}
.anc:hover {opacity: .7;}

/* numList
==============================*/
.numList {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.numList-li {
  counter-increment: num;
  display: flex;
  gap: 24px;
}
.numList-li-meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.numList-li-meta-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.numList-li-meta-ti {
  font-size: var(--heading-xs);
  font-weight: bold;
}
.numList-li-meta-ti:not(.nn)::before {
  content: counter(num, decimal-leading-zero);
  margin-right: 16px;
  font-size: 32px;
  font-weight: 500;
  font-family: "Avenir Next", sans-serif;
  color: var(--primary-main);
  vertical-align: bottom;
}
.numList-li-meta-dsc {font-size: var(--typo-xm);}
.numList-li-fig {
  width: 240px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  overflow: hidden;
}
.numList-li-logo ,
.numList-li-img {width: 100%;}
.numList-li-img {border-radius: 12px;}
@media (770px >= width){
  .numList-li {
    padding: 16px;
    flex-direction: column-reverse;
    position: relative;
  }
  .numList-li-fig {
    width: 100%;
    gap: 8px;
  }
  .numList-li-logo {
    width: auto;
    height: 60px;
    object-fit: contain;
  }
  .numList-li-img {height: 174px;}
  .numList-li-meta-wrap {gap: 0;}
  .numList-li-meta-ti {font-size: var(--heading-2xs);}
  .numList-li-meta-ti::before {
    margin-right: 8px;
    font-size: var(--heading-xs);
  }
}


/* notice
==============================*/
#page .roots .notice-head {
  margin-bottom: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
#page .roots .notice-head-icon {
  width: 160px;
  aspect-ratio: 1/1;
  font-size: 36px;
  font-weight: bold;
  background: var(--primary-main);
  color: var(--white);
  border-radius: var(--radius-circle);
  display: grid;
  place-items: center;
}
#page .roots .notice-head-meta-ti {
  font-size: var(--heading-xl);
  font-weight: bold;
  color: var(--primary-main);
}
#page .roots .notice-head-meta-tag_pc {
  font-size: var(--heading-xs);
  font-weight: bold;
}
#page .roots .notice-head-meta-tag_sp {display: none;}
#page .roots .notice-content {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
#page .roots .notice-content-fig {width: 200px;}
#page .roots .notice-content-txt {
  width: 820px;
  margin-bottom: 20px;
}
@media (1100px >= width) {
  #page .roots .notice-head-icon {
    min-width: 100px;
    max-width: 100px;
    font-size: 26px;
  }
  #page .roots .notice-head-meta-ti {font-size: var(--heading-xs);}
}
@media (770px >= width) {
  #page .roots .notice-head {
    margin-bottom: 16px;
    justify-content: flex-start;
    gap: 8px;
  }
  #page .roots .notice-head-icon {
    width: 60px;
    min-width: 60px;
    max-width: 60px;
    margin: 0;
    font-size: var(--typo-xs);
  }
  #page .roots .notice-head-meta-ti {
    max-width: 100%;
    margin: 0;
    font-size: var(--typo-xl);
    font-weight: bold;
  }
  #page .roots .notice-head-meta-tag_pc {display: none;}
  #page .roots .notice-head-meta-tag_sp {
    width: 100%;
    margin: 0 0 24px;
    font-size: var(--typo-xm);
    font-weight: bold;
    display: block;
  }
  #page .roots .notice-content {flex-direction: column;}
  #page .roots .notice-content-fig {order: 2;}
  #page .roots .notice-content-txt {
    order: 1;
    width: 100%;
    margin: 0;
    font-size: var(--typo-xs);
    font-weight: bold;
  }
}



/* common
==============================*/
.root {background: #fff;}
@media (1100px >= width) {
  body {padding-top: 10px!important;}
}
@media (770px >= width) {
  body {padding-top: 0 !important;}
  .root {padding: 30px 0 0;}
}

/* パンくずリスト
==============================*/
#page .roots .breadcrumb {
  max-width: 100%;
  margin-top: 16px;
  padding: 0 16px;
  overflow-x: auto;
  overflow-y: hidden;
}
#page .roots .breadcrumb-ul {
  width: max-content;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
#page .roots .breadcrumb-li:not(:last-child)::after {
  content: 'chevron_right';
  margin-left: 8px;
}
#page .roots .breadcrumb-li:last-child {font-weight: bold;}
#page .roots .breadcrumb-li-anc:hover {
  text-decoration: underline;
  color: var(--primary-main);
}


/* 第二階層 レイアウト
==============================*/
#page .roots .container-head {margin-bottom: 80px;}
#page .roots .hero {
  padding: 80px 0;
  text-align: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
#page .roots .hero-ti ,
#page .roots .hero-dsc {
  width: fit-content;
  margin: auto;
  padding: 0 16px;
  background: rgba(255 255 255 / .95);
}
#page .roots .hero-ti {
  font-size: var(--heading-xl);
  font-weight: bold;
  color: var(--primary-main);
}
#page .roots .hero-dsc {
  padding-bottom: 8px;
  font-size: var(--typo-xs);
  letter-spacing: 6px;
}
@media (770px >= width) {
  #page .roots .container-head {margin-bottom: 40px;}
  #page .roots .hero {padding: 40px 16px;}
  #page .roots .hero-ti {
    width: 100%;
    padding-top: 8px;
    text-align: center;
    font-size: var(--heading-xs);
  }
  #page .roots .hero-dsc {
    width: 100%;
    padding-bottom: 8px;
    font-size: var(--typo-xs);
    letter-spacing: 0;
  }
}
#page .roots .entry {
  padding: 32px 0;
  text-align: center;
  background: var(--page-color);
}
#page .roots .entry-ti {
  padding: 0;
  line-height: 1.25;
  letter-spacing: 0.1em;
  font-size: 2vw;
  font-weight: bold;
  color: #fff;
}
@media (770px >= width) {
  #page .roots .entry-ti {
    text-align: center;
    font-size: 30px;
  }
}

#page .roots .sec ,
#page .roots .sec-blue ,
#page .roots .sec-sky {
  margin: 0 auto 80px;
  padding: 0;
  position: relative;
}
#page .roots .sec-mgn0 {margin: 0 auto;}
#page .roots .sec-blue {
  padding: 80px 0;
  background: var(--primary-bg) url("/media/common/bg_sv1.png") no-repeat right top / 880px auto;
}
#page .roots .sec-sky {
  padding: 80px 0;
  background: #F0F5FF;
}
#page .roots .sec-head {
  margin: 0 0 24px;
  background: transparent !important;
}
#page .roots .sec-head.set-en {padding: 120px 0 0;}
#page .roots .sec-head-ti-en {
  font-size: var(--heading-2xl);
  font-weight: 500;
  white-space: nowrap;
  color: var(--primary-main);
  opacity: .1;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
#page .roots .sec-head-ti {
  width: fit-content;
  margin: 0 0 16px;
  padding: 0 16px 16px 0;
  line-height: 1.7;
  font-size: var(--heading-xm);
  font-weight: bold;
  border-bottom: 2px solid var(--primary-main);
  color: var(--primary-main);
}
.root.page-color .sec-head-ti {
  border-color: var(--page-color);
  color: var(--page-color);
}
#page .roots .sec-head-ti:has(.wbr) {
  width: min-content;
  max-width: 100%;
}
#page .roots .sec-head-ti .wbr {color: inherit;}
#page .roots .sec-head-dsc {font-size: var(--heading-xs);}
@media (770px >= width) {
  #page .roots .sec ,
  #page .roots .sec-blue,
  #page .roots .sec-sky {margin: 0 auto 40px;}
  #page .roots .sec-mgn0 {margin: 0 auto;}
  #page .roots .sec-head.set-en {padding: 40px 0 0;}
  #page .roots .sec-blue,
  #page .roots .sec-sky {padding: 64px 0;}
  #page .roots .sec-head-ti-en {
    font-size: 42px;
    top: -8px;
    left: 16px;
  }
  #page .roots .sec-head-ti {font-size: var(--heading-xs);}
  #page .roots .sec-head-ti:has(.wbr) {width: fit-content;}
  #page .roots .sec-head-ti .wbr {word-break: inherit;}
  #page .roots .sec-head-dsc {font-size: var(--heading-2xs);}
}

/* linq-pad
==============================*/
#page .roots .about-img {margin: 16px 0 0;}
#page .roots .series {
  background: url("/media/common/bg_sec-bottom.png");
  background-size: 100% auto;
}
#page .roots .value {padding: 120px 0;}
@media (770px >= width) {
  #page .roots .series {background-size: 300% auto;}
  #page .roots .value {padding: 64px 0}
  #page .roots .value .h-xs {
    line-height: 1.75;
    font-size: var(--typo-xl);
  }
}


/* 第三階層 レイアウト
==============================*/
.caseStudy-ti {
  text-align: center;
  font-size: var(--heading-xm);
  color: var(--page-color);
}
.caseStudy {
  width: var(--breakpoint-xl);
  max-width: 95%;
  margin: auto;
  padding: 24px;
  border-radius: 12px;
  background: var(--primary-bg);
  display: flex;
  gap: 32px;
  align-items: center;
  position: relative;
}
.caseStudy.link {padding-bottom: 112px;}
.caseStudy-meta {flex: 1;}
.caseStudy-shop {
  font-size: var(--heading-xs);
  font-weight: bold;
}
.caseStudy-txt {font-size: var(--typo-xm);}
.caseStudy-txt:not(:last-child) {margin-bottom: 16px;}
.caseStudy-fig {
  width: 320px;
  border-radius: 12px;
  overflow: hidden;
}
.caseStudy-btn {
  margin: auto;
  position: absolute;
  bottom: 24px;
  left: 0;
  right: 0;
}
@media (1100px >= width) {
  .caseStudy-fig {width: 260px;}
}
@media (770px >= width) {
  .caseStudy {flex-direction: column;}
  #page .caseStudy-shop {
    max-width: 100%;
    margin: 0 0 8px
  }
  #page .caseStudy-txt {
    width: 100%;
    margin: 0;
    font-size: var(--typo-xs);
  }
  .caseStudy-fig {width: 100%;}
}
.pctar {text-align: right;}
@media (770px >= width){.pctar {text-align: left;}}


.wpcf7-response-output {text-align: center;}
.wpcf7 .wpcf7-mail-sent-ok {
	background: #2f4da1;
	color: #fff;
}
