/* @import url('http://example.com/example_style.css'); */

/***********************************************/
/* CSS @imports must be at the top of the file */
/* Add them above this section                 */
/***********************************************/

/*****************************************/
/* Start your style declarations here    */
/*****************************************/
html { 
  font-size: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
@media only screen and (max-width: 750px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

a {
  -webkit-transition: 0.5s all !important;
  transition: 0.5s all !important;
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}
p {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin: 0;
  color: #444444;
  font-size: clamp(1rem, 1vw, 1rem);
  line-height: 160%;
}

h1,h2,h3,h4,h5,h6 {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}
h1{
  font-size:  3rem;
  font-weight: 600;
  text-align: left;
  line-height: 130%;
}

h2{
  font-size: clamp(1.9rem, 2.2vw, 2.2rem);
  text-align: center;
  font-weight: 500;
  letter-spacing: .1rem;
  margin: 0 0 40px 0;
}

h3{
  font-size: clamp(1.2rem, 1.2vw, 1.2rem);
  text-align: left;
  font-weight: 500;
  letter-spacing: .1rem;
  margin: 0 0 15px 0;
}

.h2_english{
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #46AFF0;
  font-size: clamp(1rem, 1vw, 1rem);
  text-align: center;
  letter-spacing: .1rem;
}



.clearfix:after{
  content:"";
  display:block;
  clear:both;
}

.sp_br {
  display: none;
}

@media only screen and (max-width: 750px) {
  .sp_br {
    display: block;
  }
}

ul li::marker,
ol li::marker{
  color: #46AFF0;
}

/* コンテンツサイズ共通 */
main > * {
  margin-top:0;
}

.contents_container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline:0.25rem;
  /* 	padding-inline: 4vw; */
}
.space_top {
  margin-top:clamp(2rem, 4vw, 5rem);
}
.space_bottom {
  padding-bottom:clamp(2rem, 4vw, 5rem);
}

.center_column {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
/* レイアウト共通 */
.layout_column-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3vw;
  img {
    width: 100%;
  }
}
@media only screen and (max-width: 1000px) {
  .contents_container {
    padding-inline: 7vw;
  }
}
@media only screen and (max-width: 750px) {
  .layout_column-2 {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
}

.content_color-back2 {
  padding: 4vw;
  background:#F0F9FE;
}

/* パンくず */
.breadcrumbs_top {
  margin-top:101px;
  padding: 1rem 0.25rem;
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}
.breadcrumbs_bottom {
  margin-top:100px;
  padding: 1rem 0.25rem;
}
.breadcrumbs {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
.breadcrumbs ul {
  list-style: none;
  padding: 0;
  margin:0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 8px;
}
.breadcrumbs ul::-webkit-scrollbar {
  display: none;
}
/* 各リストアイテム */
.breadcrumbs li {
  margin: 0 10px;
  font-size: clamp(.7rem, .9vw, .9rem);
  font-weight: 300;
  display: flex;
  align-items: center;
}
/* リンク付きのリストアイテム */
.breadcrumbs li a {
  text-decoration: none;
  color: #444;
  font-weight: 300;
  transition: all 0.2s ease;
}
.breadcrumbs li a.a--none-hover {
	pointer-events: none;
}
/* リンクのホバー効果 */
.breadcrumbs li a:hover {
  opacity: 0.7;
}
}
.breadcrumbs li a:hover.a--none-hover {
  opacity: 1;
}
/* 矢印のデコレーション */
.breadcrumbs li:not(:last-child)::after {
  display: block;
  content: "";
  margin-left: 20px;
  color: #999;
  width: 8px;
  height: 12px;
  background: url(https://47962248.fs1.hubspotusercontent-na1.net/hubfs/47962248/web/module/icon/common/ico_breadcrumbs_arrow.svg) no-repeat center / contain;
}
/* 現在のページ（リンクなし） */
.breadcrumbs li:last-child {
  color: #444;
}
.home_icon {
  width: clamp(.7rem, .7vw, .7rem);
  margin: 0 15px 0 0;
}
@media only screen and (max-width: 1000px) {
	.breadcrumbs_bottom {
		margin-top: 20px;
	}
}
@media only screen and (max-width: 750px) {
  .breadcrumbs ul{
    margin: 0;
		flex-wrap: nowrap;
		overflow-x: scroll;
		white-space: nowrap;
  }
  .breadcrumbs li:not(:last-child)::after {
    margin-left: 20px;
    width: 6px;
    height: 8px;
  }
}
/* ページ タイトル　page-type01.html */
.page_heading {
  padding-block:clamp(2rem, 4vw, 5rem);
  text-align: center;
  h1 {
    margin: 0 0 0.5rem 0;
    text-align: unset;
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
		font-family: "Montserrat", sans-serif;
  }
  .heading_english {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    color: #46AFF0;
    font-size: clamp(1rem, 1vw, 1rem);
    letter-spacing: .1rem;
    text-transform:uppercase;
  }
}
.page_heading2 {
  padding-top:clamp(2rem, 4vw, 5rem);
  text-align: center;
  h1 {
    margin: 0 0 0.5rem 0;
    text-align: unset;
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  }
  .heading_english {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    color: #46AFF0;
    font-size: clamp(1rem, 1vw, 1rem);
    letter-spacing: .1rem;
    text-transform:uppercase;
  }
}
.page_heading_contact {
  padding-top:clamp(2rem, 4vw, 5rem);
  padding-bottom:clamp(4rem, 0.909rem + 15.45vw, 12.5rem);
  text-align: center;
  h1 {
    margin: 0 0 0.5rem 0;
    text-align: unset;
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
  }
  .heading_english {
    font-family: "Montserrat", sans-serif;
    font-weight: 500;
    color: #46AFF0;
    font-size: clamp(1rem, 1vw, 1rem);
    letter-spacing: .1rem;
    text-transform:uppercase;
  }
}
/* ページ ビジュアル　page-type02.html */
.page_heading_visual {}

/* アンカーエリア */
.anchor_area {
  margin: 0 calc(50% - 49.6vw);
  padding-block:0.5rem;
  padding-inline:0.25rem;
  background: #46AFF0;
}
.anchor_nav {
  display: flex;
  width: fit-content;
  gap:1vw;
  margin: 0 auto;
  list-style: none;
}
.anchor_nav li a {
  display: grid;
  grid-template-columns: 1fr 1rem;
  gap:0.5rem;
  color:#FFFFFF;
  opacity: 1;
  transition: opacity .6s ease;
}
.anchor_nav li a:after {
  content:"";
  background-image: url('https://47962248.fs1.hubspotusercontent-na1.net/hubfs/47962248/web/module/icon/common/ico_arrow_anchor.svg');
  background-position: center;
  background-repeat: no-repeat;
}
.anchor_nav li a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 750px) {
  .anchor_nav {
    display: grid;
    grid-template-columns: 1fr;
    gap:0.5vw;
  }
	.page_heading {
		width: calc(100% - (20px * 2));
		margin-inline: auto;
		word-break: break-word;
	}
}

/* 投稿パーツ　見出し */


.heading_h1_ttl {/* モジュールで利用 */
  padding-left: 1.5rem;
  border-left: 4px solid #46AFF0;
  font-size: clamp(1.6rem, 2.5vw, 2.5rem);
}
.post-section_heading_type1 {
  font-size:3rem;
}

.heading_h2,
.post-section_heading_type2 {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  margin-top:5rem;
	font-size: 30px;
	line-height: 1.6;
/*   font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem); */
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
}
.heading_h2:after,
.post-section_heading_type2:after {
  content:"";
  position: absolute;
  top: 100%;
  width: 100%;
  height: 2px;
  background: #E6E6E6;
	left: 0;
	bottom: 0;
}
.heading_h2 span,
.post-section_heading_type2 span {
  position: relative;
  padding: 0 0 20px;
}
.heading_h2 span:after,
.post-section_heading_type2 span:after {
  content:"";
  position: absolute;
  z-index:1;
  top: 100%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #46AFF0;

}
.heading_h2.margin_none,
.post-section_heading_type2.margin_none {
  margin-top:0;
}
.post-section_heading_type3_small {
	margin-bottom: -1.2rem;
	display: block;
	width: fit-content;
  padding: 3px 15px 5px;
	color: #ffffff;
	background-color: #46AFF0;
	font-size: 15px;
	font-weight: 700;
	border-radius: 3px;
}
.heading_h3,
.post-section_heading_type3 {
  display: inline-grid;
  grid-template-columns: 1.5rem auto;
  gap: 0.5rem;
  margin-top:2.5rem;
  font-size:clamp(1rem, 0.818rem + 0.91vw, 1.5rem));
}
.heading_h3:before,
.post-section_heading_type3:before {
  content:"";
  background-image: url('https://47962248.fs1.hubspotusercontent-na1.net/hubfs/47962248/web/module/icon/common/icon_circle.svg');
  background-position: center;
  background-repeat: no-repeat;
	background-size: contain;
	width: 24px;
	height: 24px;
	position: relative;
	margin-top: 2px;
}
.heading_h4,
.post-section_heading_type4 {
  padding-left: 1rem;
  border-left: 4px solid #46AFF0;
  color: #46AFF0;
}
.heading_image_area {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}

@media only screen and (max-width: 750px) {
	.post-section_heading_type3_small {
		padding: 3px 10px 3px;
		font-size: 12px;
	}
  .heading_h2,
  .post-section_heading_type2 {
    margin-top:3rem;
  }
  .heading_h3,
  .post-section_heading_type3 {
    margin-top:2rem;
		gap: 0.4rem;
  }
	.heading_h3:before,
	.post-section_heading_type3:before {
		width: 1.5rem;
		height: 1.5rem;
		margin-top: 0.07rem;
	}
}

/* 投稿パーツ　ボタン */
.footer_button_area {
  display: flex;
  justify-content: center;
  margin-top:clamp(3rem, 4vw, 5rem);
}
.button_area {
  display: flex;
  justify-content: center;
}
.link_button_type01 {
  display: inline-grid;
	padding: 17px 40px 19px;		
  border: 1px solid #46aff0;
  border-radius: 100px;
  background:#FFFFFF;
  text-align: center;
  color:#46aff0;
	font-size: 15px;
	font-weight: 700;
}
.link_button_type01:hover {
  background:#46aff0;
  color:#FFFFFF;
  text-decoration: unset;
}
.link_button_type02 {
  display: inline-grid;
  justify-items: center;
  padding: 1.5rem 3rem;
  border: 1px solid #46aff0;
  border-radius: 100px;
  background:#46aff0;
  font-size: clamp(1rem, 0.795rem + 1.02vw, 1.5rem);
  color:#FFFFFF;
}
.link_button_type02:hover {
  background:#FFFFFF;
  color:#46aff0;
  text-decoration: unset;
}
.link_button_type02 small {
  font-size: 0.55em;
}
.icon_download {
  grid-template-columns: max-content 1fr;
  gap: 0.5rem;
}
.icon_download svg path {
  transition: .3s all ease-in-out;
}
.icon_download:hover svg path {
  fill: #ffffff;
}
.icon_download svg {
  /*   content:"";
  background-image: url('https://47962248.fs1.hubspotusercontent-na1.net/hubfs/47962248/web/module/icon/common/ico_download_color.svg');
  background-position: center;
  background-repeat: no-repeat; */
}
/* 投稿ピックアップ */

.select-post_box{
  display: grid;
  grid-template-columns: minmax(50%, 1fr) 1fr;
  gap: 2vw;
  width: 100%;
}
.select-post_box_img{
}
.select-post_img{
  width: 100%;
  border-radius: 8px;
}
.select-post_box_txt{

}
.select-post_h3{
  margin: 0 0 .6rem 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1.2rem, 1.2vw, 1.2rem);
  text-align: left;
  color: #444;
  letter-spacing: .05rem;
}
.select-post_p{
  color: #444;
}
.select-post_subtext{
  padding-block:0.25rem;
  font-size: clamp(1.1rem, 1vw, 1.15rem);
  font-weight:500;
}
.select-post_time{
  padding-block:0.25rem;
  font-weight:600;
  color: #46AFF0;
  font-family: "Montserrat", sans-serif;
}
.select-post_label_area {
  display: flex;
  gap: 0.25rem;
}
.select-post_label {
  padding: 2px 10px 4px;
  border:1px solid #46AFF0;
  border-radius: 3px;
  color: #46AFF0;
}
.select-post_txt_next{
  display: flex;
  align-items: center;
  font-weight: 500;
  color: #46AFF0;
  font-size: clamp(1rem, 1vw, 1rem);
}
.select-post_link_icon{
  margin: 3px 10px 0 0;
  width: clamp(2rem, 2vw, 2rem);
}
.select-post_link{
  transition: all .6s ease;
}
a.select-post_link:hover{
  opacity: 0.7;
  text-decoration: none;
}
@media only screen and (max-width: 750px) {
  .select-post_box{
    grid-template-columns: 1fr;
    gap: 1rem;
  }
	.link_button_type01 {
		padding: 1rem 2.5rem;		
		font-size: 15px;
	}
}

/* 投稿一覧 */
.post-container {
  width: 100%;
}
.post-wrapper {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem 2rem;
}
.post_box{
  width: 100%;
  height: auto;
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.post_link.post_link--b .post_box {
	background-color: #ffffff;
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
}
.post_box_img{
  width: 100%;
  height: auto;
  margin: 0 0 30px 0;
  position: relative;
  border-radius: 8px;
  display: block;
}
.post_link.post_link--b .post_box .post_box_img {
	aspect-ratio: 376 / 180;
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.post_link.post_link--b .post_box .post_box_img .post_img {
	position: absolute;
	margin: auto;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.post_hover_mask{
  width: 100%;
  height: auto;
  background: rgba(0, 0, 0, .5);
  border-radius: 8px;
  bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 1;
  transition: opacity .6s ease;
}
.post_img{
  width: 100%;
  max-width: 380px;
  height: 100%;
  aspect-ratio: 76 / 43;
  object-fit: cover;
  border:1px solid #E6E6E6;
  border-radius: 8px;
}
.post_box_txt{
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  height: auto;
  transition: all .6s ease;
  flex-grow: 1;
}
.post_link.post_link--b .post_box .post_box_txt {
	padding: 30px;
	box-sizing: border-box;
}
.post_h3{
  margin: 0 0 .6rem 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: clamp(1.2rem, 1.2vw, 1.2rem);
  text-align: left;
  color: #444;
  letter-spacing: .05rem;
}
.post_p{
  color: #999;
  line-height: unset;
}
.post_subtext,
.post_time{
  padding-block:0.25rem;
  font-weight:500;
  color: #46AFF0;
  line-height: unset;
}
.post_time {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
.post_label_area {
  display: flex;
  gap: 0.25rem;
}
.post_label {
  padding: 2px 10px 4px;
  border:1px solid #46AFF0;
  border-radius: 3px;
  font-size:0.8em;
  color: #46AFF0;
}
.post_txt_next{
	margin-top: 10px;
  display: flex;
  align-items: center;
  font-weight: 700;
  color: #46AFF0;
  font-size: clamp(1rem, 1vw, 1rem);
/* 	font-size: 18px; */
}
.post_link_icon{
  margin: 3px 10px 0 0;
  width: clamp(2rem, 2vw, 2rem);
}
.post_link_icon_download {
  margin: 3px 10px 0 0;
  width: clamp(1rem, 1vw, 1.1rem);
}
.post_link{
  transition: all .6s ease;
}
a.post_link:hover{
  opacity: 0.7;
  text-decoration: none;
}
@media only screen and (max-width: 1000px) {
  .post-wrapper {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    flex-direction:column;
    row-gap:40px;
  }
	.post_h3{
/* 		text-align: center; */
	}
	.post_link.post_link--b .post_box .post_box_txt {
		padding: 20px;
		box-sizing: border-box;
	}
}

/* ページャー */
.pagination-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-top:clamp(3rem, 4vw, 5rem);
  margin-bottom: clamp(1rem, 0.455rem + 2.73vw, 2.5rem);
}

.pagination-number,
.pagination-prev,
.pagination-next {
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid #ffffff;
  border-radius: 50%;
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #46AFF0;
}
.pagination-number:hover,
.pagination-prev:hover,
.pagination-next:hover {
  background: #46AFF0;
  color: #ffffff;
  text-decoration: none;
}
.pagination-prev .page_icon.page_icon,
.pagination-next .page_icon.page_icon {
  display: block;
  opacity: 1;
  transition: opacity .3s .0s ease-in-out, display .0s .3s ease-in-out; 
}
.pagination-prev .page_icon.page_icon circle,
.pagination-next .page_icon.page_icon circle {
  transition: .3s all ease-in-out;
}
.pagination-prev .page_icon.page_icon path,
.pagination-next .page_icon.page_icon path {
  transition: .3s all ease-in-out;
}
.pagination-prev .page_icon.page_icon:hover circle,
.pagination-next .page_icon.page_icon:hover circle {
  fill: #46AFF0;
}
.pagination-prev .page_icon.page_icon:hover path,
.pagination-next .page_icon.page_icon:hover path {
  fill: #ffffff;
}
.pagination-prev img.page_icon.page_icon--hover,
.pagination-next img.page_icon.page_icon--hover {
  display: none;
  opacity: 1;
  transition: opacity .3s .0s ease-in-out, display .0s .3s ease-in-out; 
}
.pagination-prev img.page_icon:hover,
.pagination-next img.page_icon:hover {
  filter: #FFFFFF;
  opacity: 0;
  display: none;
  transition: opacity .3s .0s ease-in-out, display .0s .3s ease-in-out; 
}
.pagination-prev:hover img.page_icon,
.pagination-next:hover img.page_icon {
  opacity: 0;
  display: none;
  transition: opacity .3s .0s ease-in-out, display .0s .3s ease-in-out; 
}
.pagination-prev:hover img.page_icon.page_icon--hover,
.pagination-next:hover img.page_icon.page_icon--hover {
  display: block;
  opacity: 1;
  transition: opacity .3s .0s ease-in-out, display .0s .3s ease-in-out; 
}
.pagination-number {
	color: #444444;
  font-size: 1rem;
	text-decoration: unset;
}

.pagination-number.active {
	color: #46AFF0;
  border: 1px solid #46AFF0;
}
.pagination-number.active:hover {
	color: #ffffff;
}

.pagination-dots {
  padding: 8px 12px;
  color: #777;
}
/* お問い合わせフォーム調整　他にも影響出るかも */
.hs_cos_wrapper:has(iframe),
.hs_cos_wrapper_widget:has(iframe),
.hs_cos_wrapper_type_module:has(iframe){
  max-width: 1045px;
  margin-inline:auto;
}

/* SOLUTION */

.solution_box{
  width: 100%;
  margin: 0;
  padding: 50px;
  position: relative;
  height: auto;
  background-color: #46AFF0;
  border-radius: 10px;
}

.solution_h2{
  width: 100%;
  text-align: center;
}

.solution_p{
  width: 65%;
  float: left;
}

.solution_p p{
  color: #fff;
  font-weight: 500;
  margin: 0 0 20px;
}

.solution_img{
  width: 30%;
  float: right;
}

@media only screen and (max-width: 750px) {
  .solution_box{
    padding: 40px;
  }

  .solution_p{
    width: 100%;
    margin: 0 0 60px;
    float: none;
  }
  .solution_img{
    width: 100%;
    float: none;
  }
}



/* DOWNLOAD */

.download_box{
  width: 100%;
  height: auto;
  padding: 0;
  position: relative;
  background-color: #f7f7f7;
}

.download_txt{
  width: 65%;
  float: left;
}

.download_label{
  padding: 0.3em 0.8em;
  background: #46AFF0;
  display: inline;
  color: #fff;
  font-size: clamp(0.9rem, 0.9vw, 0.9rem);
  font-weight: 600;
}

.download_h3{
  margin: 15px 0;
}

.download_img{
  width: 30%;
  float: right;
}

@media only screen and (max-width: 750px) {
  .download_box{
    padding: 0 20px 0;
  }
  .download_txt{
    width: 100%;
    margin: 0 0 30px;
    float: none;
  }
  .download_img{
    width: 100%;
    float: none;
  }
}

/* セクション背景青色 */
.row-fluid-wrapper.row-depth-1.dnd-section {
	position: relative;
}