/********** CSS **********/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

:root {
	--primary: #0066CC;
	--secondary: #E93C05;
	--tertiary: #555555;
	--light: #DFE4FD;
	--dark: #011A41;
	--cpcolor: #1E7FB7;
	--red: #ff0000;
	--beige: #E7E5E3;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:500;
}

.back-to-top {
	position: fixed;
	display: none;
	right: 30px;
	bottom: 30px;
	z-index: 99;
}

h1,
.h1,
h2,
.h2,
.fw-bold {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700 !important;
}

h3,
.h3,
h4,
.h4,
.fw-medium {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 600 !important;
}

h5,
.h5,
h6,
.h6,
.fw-semi-bold {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500 !important;
}

a {
	color: #1E7FB7;
	text-decoration: none;
}

.text-primary {
	color: #1E7FB7 !important;
}

.fs-12{
	font-size:12px !important;
}
.fs-10{
	font-size:10px !important;
}

.red{
	color:var(--red);
}

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

.bg_beige{ 
	background:var(--beige);
}

.spbr{
	display:none;
}
.disp_sp{
	display:none;
}
.sp_left{
	text-align:center;
}
@media screen and (max-width: 767px) {
	.spbr{
		display:block;
	}
	.pcbr{
		display:none;
	}
	.disp_pc{
		display:none;
	}
	.disp_sp{
		display:block;
	}

	.sp_left{
		text-align:left !important;
	}
}


/*** Spinner ***/
#spinner {
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease-out, visibility 0s linear .5s;
	z-index: 99999;
}

#spinner.show {
	transition: opacity .5s ease-out, visibility 0s linear 0s;
	visibility: visible;
	opacity: 1;
}


/*** Button ***/
.btn {
	transition: .5s;
	font-weight: 500;
	border-radius: 99px;
}

.btn-primary,
.btn-outline-primary:hover {
	color: var(--light);
	background: var(--cpcolor);
}

.btn-square {
	width: 38px;
	height: 38px;
}

.btn-sm-square {
	width: 32px;
	height: 32px;
}

.btn-lg-square {
	width: 48px;
	height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: normal;
}

.btn_round {
	display: flex;
	font-weight: 600;
	color: #1E7FB7;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	user-select: none;
	background-color: #fff;
	border: 5px solid #1E7FB7;
	height:68px;
	width:330px;
	font-size: 1rem;
	border-radius: 34px;
	transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
}

.btn_round_b {
	display: flex;
	font-weight: 600;
	color: #fff;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	user-select: none;
	background-color: #1E7FB7;
	border: 5px solid #1E7FB7;
		height:68px;
		width:330px;
	font-size: 1rem;
	border-radius: 34px;
	transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
}

@media (max-width: 599px) {
	.btn_round {
			height:50px;
			width:80%;
	}
}

.btnarea{
	padding:40px 0;
}

/*** Navbar ***/

.fixed-top {
	transition: .5s;
}

.top-bar {
	height: 45px;
	/*border-bottom: 1px solid rgba(53, 94, 252, .07);*/
}
.head_contact{
	background:#fff;
	border:1px solid #1E7FB7;
	padding:3px 16px 5px;
	line-height:1em;
}
.head_tel{
	font-size:24px;
	font-weight:700;
	padding-top:12px;
}

.logo{
	width:300px;
}

@media (max-width: 599px) {
	.logo{
		width:200px;
	}
}

.fixedtop{
  background: linear-gradient(-50deg, #fff 0%, #fff 60%, var(--cpcolor) 60%, var(--cpcolor) 100%);
}
.fixedtop .navbar-brand{
	padding:0;
}
.fixedtop .logo{
		transition: .5s;
	width:200px;
}

.navbar .dropdown-toggle::after {
	border: none;
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	vertical-align: middle;
	margin-left: 8px;
}

.navbar .navbar-nav .nav-link {
	padding: 25px 15px;
	color: var(--tertiary);
	font-weight: 500;
	outline: none;
text-shadow: 2px 2px 10px #ffffff ,
-2px 2px 10px #ffffff ,
2px -2px 10px #ffffff ,
-2px -2px 10px #ffffff;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active {
	color: var(--primary);
}

@media (max-width: 991px) {
	.top .navbar{
		background:var(--cpcolor);
	}
	.navbar h1{
		margin-bottom:0;
	}
}

@media (max-width: 991.98px) {
	.navbar .navbar-nav {
		margin-top: 10px;
		border-top: 1px solid rgba(0, 0, 0, .07);
		background: #FFFFFF;
	}

	.navbar .navbar-nav .nav-link {
		padding: 10px 0;
	}
}

@media (min-width: 992px) {
	.navbar .nav-item .dropdown-menu {
		display: block;
		visibility: hidden;
		top: 100%;
		transform: rotateX(-75deg);
		transform-origin: 0% 0%;
		transition: .5s;
		opacity: 0;
	}

	.navbar .nav-item:hover .dropdown-menu {
		transform: rotateX(0deg);
		visibility: visible;
		transition: .5s;
		opacity: 1;
	}
}

.navbar-light .navbar-toggler {
	border:none;
	color:#fff;
}
.navbar-light .navbar-toggler-icon {
    background-image: url("../img/common/sp_menu.png");
}
.navbar-toggler:focus {
    box-shadow: none;
}


/*** Header ***/
.pages header{
	background:#fff;
}


.carousel-caption {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: start;
	z-index: 1;
}

.carousel-control-prev,
.carousel-control-next {
	width: 3rem;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
	width: 3rem;
	height: 3rem;
	background-color: var(--primary);
	border: 10px solid var(--primary);
}

.carousel-control-prev-icon {
	border-radius: 0 3rem 3rem 0;
}

.carousel-control-next-icon {
	border-radius: 3rem 0 0 3rem;
}

.carousel-item:before {
  content: "";
  position: absolute;
  height: 800px;
  width: 300%;
  background: var(--cpcolor);
  top: -300px;
  left: -150%;
  -webkit-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  -o-transform: rotate(-50deg);
  transform: rotate(-50deg);
}

@media (max-width: 991px) {
	.carousel-item:before {
	  height: 800px;
	  width: 300%;
	  top: -300px;
	  left: -170%;
	}
}


@media (max-width: 991px) {

	.carousel-item:before {
		content:none;
	}


  #header-carousel .carousel-item {
	  position: relative;
	  min-height: 400px;
  }
  
  #header-carousel .carousel-item img {
	  /*position: absolute;*/
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
		object-position: right;
  }

	.carousel-caption {
		top: auto;
		left: 0;
		right: 0;
		bottom: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: start;
		padding:0 20px;
		z-index: 1;
	}
	.carousel-caption h1{
		font-size:20px;
		padding:10px;
		background:rgba(255,255,255,0.5);
	}

}

@media (max-width: 991px) {
  #header-carousel .carousel-item {
	  height: 450px;
  }

}

.page_head {
	margin-top: 137px;
	padding: 80px 0;
	background: var(--cpcolor);
	text-align:center;

	background-image:url("../img/common/bg_pagehead.png"),url("../img/common/bg_pagehead.png");
	background-repeat:no-repeat,no-repeat;
	background-position:left -100px center,right -100px center;
	background-size:500px auto,500px auto;

}

@media (max-width: 991px) {
	.page_head {
		margin-top: 60px;
		padding: 80px 0;
	}
}

.page_head h2{
	color:#fff;
	margin-bottom: 30px;
	position: relative;
	padding-bottom:5px;
}
.page_head h2:before{
  background-color: #eee; /* 線の色 */
  border-radius: 5px; /* 線の両端を丸く */
  bottom: -10px; /* 線の位置 */
  content: "";
  height: 3px; /* 線の高さ */
  left: 50%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-50%); /* 線の中央寄せ */
  width: 50px; /* 線の長さ */
}
/*
.page_head:before {
  content: "";
  position: absolute;
  height: 800px;
  width: 300%;
  background: var(--cpcolor);
  top: -300px;
  left: -150%;
  -webkit-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  -o-transform: rotate(-50deg);
  transform: rotate(-50deg);
}
*/

.page_head .breadcrumb{
	justify-content:center;
}
.page_head .breadcrumb-item,
.page_head .breadcrumb-item a {
	font-weight: 500;
	color: #fff;
	font-size:12px;
}

.page_head .breadcrumb-item+.breadcrumb-item::before {
	color: #fff;
}

.bg_right{
	background:url("../img/common/bg_body.png");
	background-repeat:no-repeat;
	background-position:right -150px top -300px;
	background-size:500px;
}
.bg_left{
	background:url("../img/common/bg_body.png");
	background-repeat:no-repeat;
	background-position:left -150px top -150px;
	background-size:600px;
}

.bg_left_bottom{
	background:url("../img/common/bg_body.png");
	background-repeat:no-repeat;
	background-position:left -150px top 0px;
	background-size:600px;
}


@media (max-width: 599px) {
	.bg_right{
		background-position:right -150px top -150px;
		background-size:300px;
	}
	.bg_left{
		background-position:left -150px top -150px;
		background-size:300px;
	}
	.bg_left_bottom{
		background-position:left -150px top 0px;
		background-size:300px;
	}

}

/*** Facts ***/
.facts {
	background: linear-gradient(rgba(53, 94, 252, .95), rgba(53, 94, 252, .95)), url(../img/bg.png);
}


/*** Callback ***/
.callback {
	position: relative;
}

.callback::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 50%;
	top: 0;
	left: 0;
	background: linear-gradient(rgba(53, 94, 252, .95), rgba(53, 94, 252, .95)), url(../img/bg.png);
	z-index: -1;
}


/*** Feature ***/
.feature .feature-box,
.feature .feature-box * {
	transition: .5s;
}

.feature .feature-box:hover {
	background: var(--primary);
	border-color: var(--primary) !important;
}

.feature .feature-box:hover * {
	color: #FFFFFF !important;
}


/*** Service ***/
.service .nav .nav-link {
	transition: .5s;
}

.service .nav .nav-link.active {
	border-color: var(--primary) !important;
	background: var(--primary);
}

.service .nav .nav-link.active h5 {
	color: #FFFFFF !important;
}

.service .nav .nav-link.active h5 i {
	color: #FFFFFF !important;
}


/*** Project ***/
.project-item,
.project-item .project-img {
	position: relative;
}

.project-item .project-img a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, .5);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	opacity: 0;
	transition: .5s;
}

.project-item:hover .project-img a {
	opacity: 1;
}

.project-item .project-title {
	position: absolute;
	top: 3rem;
	right: 0;
	bottom: 0;
	left: 3rem;
	border: 1px solid var(--light);
	border-radius: 8px;
	display: flex;
	align-items: flex-end;
	padding: 18px;
	z-index: -1;
	transition: .5s;
}

.project-item:hover .project-title {
	background: var(--primary);
	border-color: var(--primary);
}

.project-item .project-title h4 {
	transition: .5s;
}

.project-item:hover .project-title h4 {
	color: #FFFFFF;
}

.project-carousel .owl-nav {
	margin-top: 25px;
	display: flex;
	justify-content: center;
}

.project-carousel .owl-nav .owl-prev,
.project-carousel .owl-nav .owl-next {
	margin: 0 12px;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--primary);
	background: var(--light);
	border-radius: 45px;
	font-size: 22px;
	transition: .5s;
}

.project-carousel .owl-nav .owl-prev:hover,
.project-carousel .owl-nav .owl-next:hover {
	background: var(--primary);
	color: var(--light);
}


/*** Team ***/
.team-item {
	position: relative;
	padding: 4rem 0;
}

.team-item img {
	position: relative;
	z-index: 2;
}

.team-item .team-text {
	position: absolute;
	top: 0;
	right: 3rem;
	bottom: 0;
	left: 3rem;
	padding: 15px;
	border: 1px solid var(--light);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	transition: .5s;
	z-index: 1;
}

.team-item:hover .team-text {
	background: var(--primary);
	border-color: var(--primary);
}

.team-item .team-text h4 {
	transition: .5s;
}

.team-item:hover .team-text h4 {
	color: #FFFFFF;
}

.team-item .team-social .btn {
	background: var(--light);
	color: var(--primary);
}

.team-item:hover .team-social .btn {
	background: #FFFFFF;
}

.team-item .team-social .btn:hover {
	background: var(--primary);
	color: var(--light);
}


/*** Testimonial ***/
.testimonial-item {
	position: relative;
	text-align: center;
	padding-top: 30px;
}

.testimonial-item .testimonial-text {
	position: relative;
	text-align: center;
}

.testimonial-item .testimonial-text .btn-square {
	position: absolute;
	width: 60px;
	height: 60px;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}

.testimonial-item .testimonial-text::before {
	position: absolute;
	content: "";
	bottom: -60px;
	left: 50%;
	transform: translateX(-50%);
	border: 30px solid;
	border-color: var(--light) transparent transparent transparent;
}

.testimonial-item .testimonial-text::after {
	position: absolute;
	content: "";
	bottom: -59px;
	left: 50%;
	transform: translateX(-50%);
	border: 30px solid;
	border-color: #FFFFFF transparent transparent transparent;
}

.testimonial-carousel .owl-item img {
	margin: 0 auto;
	width: 100px;
	height: 100px;
}

.testimonial-carousel .owl-dots {
	margin-top: 25px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.testimonial-carousel .owl-dot {
	position: relative;
	display: inline-block;
	margin: 0 5px;
	width: 30px;
	height: 30px;
	border: 1px solid var(--light);
	border-radius: 30px;
	transition: .5s;
}

.testimonial-carousel .owl-dot::after {
	position: absolute;
	content: "";
	width: 16px;
	height: 16px;
	top: 6px;
	left: 6px;
	border-radius: 16px;
	background: var(--light);
	transition: .5s;
}

.testimonial-carousel .owl-dot.active {
	border-color: var(--primary);
}

.testimonial-carousel .owl-dot.active::after {
	background: var(--primary);
}


/*** Footer ***/
.footer{
	font-size:14px;
	padding-top:60px;
	margin-top:60px;
	position:relative;
	z-index:10;
}
.footer.footer_top{
	padding-top:80px !important;
	margin-top:-60px !important;
}
.footer .btn.btn-link {
	display: block;
	margin-bottom: 5px;
	padding: 0;
	text-align: left;
	color: var(--light);
	font-weight: normal;
	transition: .3s;
	font-size:14px;
}

.footer .btn.btn-link::before {
	position: relative;
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
}

.footer .btn.btn-link:hover {
	color: var(--primary);
	letter-spacing: 1px;
	box-shadow: none;
}

.footer h5{
	color:#fff;
	font-size:16px;
	border-bottom:1px solid #fff;
	margin-bottom:30px;
	padding:10px 0;
}

.foot_logo{
	width:100%;
	max-width:300px;
}
.copyright {
	color: var(--light);
	font-size:8px;
}
@media (max-width: 991px) {
	.footer h5{
		margin-top:60px;
	}
}
@media (max-width: 599px) {
	.foot_logo{
		width:80%;
	}
	.footer h5{
		margin-top:40px;
	}
	.footer_index h6{
		margin-top:20px;
	}
}

/*** top intro ***/
#sec_topintro{
	padding:60px 0 100px;
}
#sec_topintro h1{
	text-align:center;
	margin-bottom:40px;
}


.sec_topmerit{
  background: var(--cpcolor);
	color:#fff;
}
.sec_topmerit img{
	margin-top:-80px;
	margin-bottom:40px;
}
.sec_topmerit .merit_txt{
	padding:30px 15px;
}
.sec_topmerit h3{
	color:#fff;
	background:url("../img/common/midashi_mark_a.png");
	background-repeat:no-repeat;
	background-position:left center;
	padding-left:30px;
}
.sec_topmerit ul li{
	font-size:18px;
	padding:8px 0;
}

.topmerit_haken{
	margin-top:120px;
}


.bnr_topsaiyo{
	margin-top:60px;
	padding:30px 0;
	border:6px solid #1E7FB7;
	background-color:#fff;
	background-image:linear-gradient(to right, rgba(255,255,255,0) 0, #fff 50%),url("../img/top/bg_bnr_saiyo.jpg");
	background-repeat:no-repeat,no-repeat;
	background-position:right center,left center;
	background-size:100% auto,contain;
	position:relative;
	z-index:999;
}

@media (max-width: 599px) {
	.bnr_topsaiyo{
	  width:100%;
		margin-left:auto;
		margin-right:auto;
		background:none;
		background-color:#fff;
		background-image:url("../img/top/bg_bnr_saiyo.jpg");
		background-repeat:no-repeat;
		background-position:top center;
		background-size:100%;
		padding-top:280px;
	}
}


#sec_topkyujin{
	padding:60px 0 0;
	position:relative;
	overflow:hidden;
}
#sec_topkyujin:before {
  content: "";
  position: absolute;
  height: 600px;
  width: 300%;
  background: var(--cpcolor);
  top: -300px;
  right: -200%;
  -webkit-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  -o-transform: rotate(-50deg);
  transform: rotate(-50deg);
}

@media (max-width: 599px) {
	#sec_topkyujin:before {
	  content: none;
	}
}

#sec_gaiyo{
	padding:60px;
	background: var(--cpcolor);
	color:#fff;
}

#sec_gaiyo .midashi_cnr{
	color:#fff;
}


#sec_greeting{
	padding:60px;
}
#sec_history{
	padding:60px;
}
@media screen and (max-width: 599px) {
	#sec_gaiyo{
		padding:30px 15px;
	}
	#sec_greeting{
		padding:30px 15px;
	}
	#sec_history{
		padding:30px 15px;
	}
}
.company-overview {
  border-top: 1px solid #ddd;
}

.company-overview .item {
  padding: 24px 0;
  border-bottom: 1px solid #ddd;
}

@media screen and (min-width: 600px) {



  .company-overview .item {
    display: grid;
    /*項目名：名称の横幅比率*/
    grid-template-columns: 1fr 5fr;
    /*項目名：名称の間の余白*/
    column-gap: 32px;
    -webkit-column-gap: 32px;
    -moz-column-gap: 32px;
  }
}

#sec_gmap{
	padding:60px 0 20px;
}

.gmap {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#sec_type{
	padding:80px 0;
}

.type_ill_wrap{
	text-align:center;
	margin:20px;
}
.type_ill_wrap img{
	max-width:500px;
	width:100%;
	margin:30px auto;
}
.type_ill_wrap ul{
	text-align:left;
}
.type_ill_wrap h4{
  position: relative;
  line-height: 1.4;
  padding:0.25em 1em;
  display: inline-block;
  top:0;
}

.type_ill_wrap h4:before, .type_ill_wrap h4:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
.type_ill_wrap h4:before {
  border-left: solid 1px black;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
  left: 0;
}
.type_ill_wrap h4:after {
  content: '';
  border-top: solid 1px black;
  border-right: solid 1px black;
  border-bottom: solid 1px black;
  right: 0;
}


.merit_wrap {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px var(--cpcolor);
    border-radius: 8px;
}
.merit_wrap span {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: var(--cpcolor);
    font-weight: bold;
}
.merit_wrap ul {
    margin: 0; 
    padding: 20px;
}


.qa-list dl {
    position: relative;
    margin: 0;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
    border-bottom: 1px solid #000;
}
.qa-list dl:first-child {
    border-top: 1px solid #000;
}
.qa-list dl::before {
/*
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #000;
    border-right: 2px solid #000;
*/
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 50px;
    font-weight: bold;
    font-size: 20px;
}
.qa-list dl dt::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: 'Q.';
    color: #3285bf;
}
.qa-list dl dd::before {
    font-size: 22px;
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: 'A.';
    font-weight: bold;
    color: #3285bf;
}
.qa-list dl dd {
    position: relative;
    /*display: none;*/
    height: auto;
    margin: 20px 0 0;
    padding: 0 0 0 50px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
.qa-list dl {
    position: relative;
    padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
    top: 20px;
    right: 20px;
    width: 7px;
    height: 7px;
}
.qa-list dl dt {
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dt::before {
    font-size: 14px;
    top: 3px;
    left: 5px;
    content: 'Q.';
}
.qa-list dl dd::before {
    font-size: 14px;
    top: 5px;
    left: 5px;
    content: 'A.';
}
.qa-list dl dd {
    margin: 10px 0 0;
    padding: 0 0 0 30px;
    font-size: 14px;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}
}


#sec_saiyo{
	padding:60px 0 200px;
}

#sec_contact{
	padding:60px 0 200px;
}

.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow {
  padding-left: 0;
  border-bottom: solid 1px #E1E8ED;
}

.flow > li {
  list-style-type: none;
  display: flex;
  padding: 20px 0;
  border-top: solid 1px #E1E8ED;
}

.flow > li dl dt {
  font-size: 1.2em;
  line-height: 2;
  font-weight: bold;
  margin-bottom: 10px;
}

.flow > li .icon {
  line-height: 1;
  font-size: 2em;
  font-weight: bold;
  color: #E26B5D;
  text-align: center;
  width: 70px;
  position: relative;
  margin-top: 0;
}

.flow > li .icon::before {
  content: 'STEP';
  font-size: 0.3em;
  display: block;
  margin-bottom: 3px;
  letter-spacing: 1px;
}

.flow > li .icon::after {
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 40px);
  background-color: #858585;
  position: absolute;
  left: 0;
  right: 0;
  top: 60px;
  margin: auto;
}

.flow > li dl dd {
  margin: 0;
}

.flow > li dl {
  width: calc(100% - 70px);
  margin-top: 0.8em;
}

a.jump_point {
	height: 1px;
	display: block;
	padding-top: 100px;
	margin-top: -100px;
}

.intro_telbox{
	padding: 30px;
    border: 6px solid #1E7FB7;
	text-align:center;
	margin:30px 0;
}

.intro_telbox p{
	font-size:40px;
	margin:0;
	font-weight:700;
}

@media (max-width: 599px) {
	.intro_telbox p{
		font-size:36px;
		margin:0;
		font-weight:700;
	}
}

.greeting_wrap{
	display:flex;
align-items: flex-start;
}
.greeting_wrap img{
	width:40%;
	max-width:300px;
height: auto;
    vertical-align: bottom;
  box-shadow: 10px 10px 0 0 #1E7FB7;
}
.greeting_wrap p{
	padding:40px;
}
.greeting_wrap p span{
	display:block;
	text-align:right;
}

@media (max-width: 599px) {
	.greeting_wrap{
		display:block;
		text-align:center;
	}
	.greeting_wrap img{
		width:80%;
		margin:0 auto;
	}
	.greeting_wrap p{
		padding:40px 0;
		text-align:left;
	}
}


.timeline {
  list-style: none;
}
.timeline > li h3{
  font-size:16px;

}
.timeline > li {
  margin-bottom: 60px;
}

/* for Desktop */
@media ( min-width : 640px ){
  .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .timeline-date {
    width: 110px;
    float: left;
    /*margin-top: 20px;*/
  }
  .timeline-content {
    /*width: 75%;*/
	width: calc(100% - 110px);
    float: left;
    border-left: 3px #e5e5d1 solid;
    padding-left: 30px;
	padding-top:3px;
	padding-bottom:10px;
  }
  .timeline-content p{

  }
  .timeline-content:before {
    content: '';
    width: 12px;
    height: 12px;
    background: #1E7FB7;
    position: absolute;
    left: 106px;
    top: 6px;
    border-radius: 100%;
  }
}
.tlpb{
	padding-bottom:50px;
}
@media ( max-width : 639px ){
	.timeline {
	  padding-left: 0px;
	}
	.timeline > li {
	  margin-bottom: 20px;
	}
  .timeline-date {
		border-bottom:1px solid  #1E7FB7;
	}
	.tlpb{
		padding-bottom:30px;
	}
}

