@charset "utf-8";
/* CSS Document */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing:border-box;
}
.wc-webchat-ctn{display: none;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a{
  text-decoration: none;
	color:#000;
}
a.tel{
	pointer-events:none;
}
a:hover{
	opacity:.5;
	transition: 1s;
}
button {
	-webkit-appearance: none;
	border-radius: 0;
}
button:focus-within {
	outline: 0;
}
html{
	width:100%;
	overflow-x: hidden!important;
	overflow-y: scroll;
}
::-moz-selection {
  background-color: #0b2948;
  color: #fff;
}

::selection {
  background-color: #0b2948;
  color: #fff;
	-webkit-text-fill-color: #fff;
}
*{
min-width: 0;
min-height: 0;
}

body {
	margin: 0;
	font-family: 'Zen Old Mincho', serif;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased; 
}
body.is-drawerActive{
	width: 100%;
	height: 100%;
	position: fixed;
}
img {
	max-width: 100%;
}
a {
	text-decoration: none;
}
@media screen and (max-width: 767px) {
	a.tel{
		pointer-events:auto;
	}
}


/* 共通 */
#Page {
	overflow: hidden;
}

@media screen and (min-width: 1025px) {
	.wrapper {
		padding-left: 100px;
	}
}
h1.normal {
	margin-bottom: 75px;
	text-align: center;
	font-size: 46px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.03em;
}
h1.normal::before {
	display: block;
	margin-bottom: -50px;
	line-height: 1;
	font-size: 120px;
	font-weight: 400;
	color: rgba(11, 42, 73, .1);
	letter-spacing: 0.08em;
}
h1.normal .bg {
	display: inline-block;
	background: linear-gradient(to right, #4d3e2a, #ccbc81);
	padding: 5px 15px 10px;
	margin-top: 10px;
	color: #fff;
	font-size: 50%;
}
h1.normal .border {
	position: relative;
	display: inline-block;
}
h1.normal .border::after {
	content: "";
	display: block;
	height: 1px;
	margin-top: 10px;
	background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
}
h2 {
	margin-bottom: 100px;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.12em;
}
h2 .big {
	font-size: 54px;
}
h2 .bg {
	display: inline-block;
	background: linear-gradient(to right, #4d3e2a, #ccbc81);
	padding: 0 10px 5px;
	margin-top: 10px;
	color: #fff;
}
h2 .border {
	position: relative;
	display: inline-block;
	color: #544e38;
}
h2 .border::after {
	content: "";
	display: block;
	height: 1px;
	margin-top: 20px;
	background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
}
section {
	padding: 200px 0;
}
.textbox p {
	margin-bottom: 30px;
	font-size: 18px;
	font-weight: 600;
	line-height: 2;
}
.textbox p:last-child {
	margin-bottom: 0;
}
.container {
	max-width: 1000px;
	margin: 0 auto;
}
a.btn_point {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	background: #544e38;
	padding-left: 15px;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	border-right: 15px solid #3f3921;
}
a.btn_point > span {
	line-height: 1.2;
	display: block;
}
.block {
	display: block;
}
.br {
	display: inline-block;
}

@media screen and (max-width: 1200px) {
	.container {
		max-width: 90%;
	}
	a.btn_point {
		font-size: 15px;
	}
	h1.normal::before {
		margin-bottom: -35px;
		font-size: 10vw;
	}
}
@media screen and (max-width: 1024px) {
	h2 {
		font-size: 4vw;
	}
	h2 .big {
    font-size: 135%;
	}
	section {
		padding: 120px 0;
	}
	.textbox p {
		font-size: 16px;
	}
}
@media screen and (max-width: 768px) {
	h1.normal {
		margin-bottom: 50px;
	}
	h1.normal .bg {
		padding: 5px 15px;
	}
	h1.normal::before {
		font-size: 12vw;
	}
	h2 {
		margin-bottom: 60px;
		font-size: 5vw;
		letter-spacing: 0.08em;
	}
	h2 .border::after {
		margin-top: 5px;
	}
	section {
		padding: 80px 0;
	}
	.textbox p {
		font-size: 15px;
	}
	a.btn_point {
		font-size: 16px;
	}
}
@media screen and (max-width: 600px) {
	h2 {
		font-size: 6vw;
	}
}

/* nav */
header {
	position: fixed;
	height: 100%;
	z-index: 900;
	top: 0; left: 0;
	/* overflow: hidden; */
}
header .nav_bar {
	display: flex;
}
@media screen and (min-width: 1025px) {
	header .nav_bar {
		height: 100%;
	}
}
header .nav_bar .bg_white {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100px;
	background: #fff;
	box-shadow: 0px 0 20px rgb(11, 41, 72,.2);
	padding: 35px 0;
}
header .nav_bar .bg_white a {
	text-align: center;
}
header .nav_bar .bg_white a img {
	max-width: 70px;
}
header .nav_bar h1 {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.06em;
	font-size: 25px;
	font-weight: 600;
}
#manda_nav {
	position: fixed;
	top: 0; right: 0;
	background: #0b2948;
	color: #fff;
	z-index: 999;
}
#manda_nav .nav_button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background: transparent;
	border: 0;
	width: 120px;
	height: 120px;
	color: #fff;
	cursor: pointer;
	font-size: 12px;
	z-index: 1000;
}
#manda_nav .nav_button .menu {
	margin-top: 7px;
	letter-spacing: 0.06em;
	transition: all .4s ease;
}
.header__hamburger {
	width: 36px;
	padding: 0;
	margin: 0;
}
.hamburger span {
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: relative;
	transition: ease .4s;
	display: block;
}
.hamburger span:nth-child(1) {
	top: 0;
}
.hamburger span:nth-child(2) {
	margin: 12px 0;
}
.hamburger span:nth-child(3) {
	top: 0;
}
.is-drawerActive #manda_nav .nav_button p {
	opacity: 0;
	transition: all .4s ease;
}
.is-drawerActive .hamburger span:nth-child(1) {
	transform: rotate(45deg);
	top: 1px;
}
.is-drawerActive .hamburger span:nth-child(2) {
	display: none;
}
.is-drawerActive .hamburger span:nth-child(3) {
	transform: rotate(-45deg);
}

.nav_menu {
	height: 100vh;
	width: 500px;
	position: fixed;
	top: 0; right: 0;
	background: #0b2948;
	transform: translateX(500px);
	transition: all .4s ease;
	letter-spacing: 0.1em;
	z-index: 999;
}
.is-drawerActive .nav_menu {
	transform: translateX(0);
	transition: all .4s ease;
}
.nav_menu_inner {
	padding: 110px 60px;
}
.nav_menu a.logo {
	display: block;
	margin-bottom: 35px;
	text-align: center;
	color: #fff;
	font-size: 29px;
	font-weight: 600;
}
.nav_menu a.logo p {
	margin-bottom: 10px;
}
.nav_menu a.logo img {
	max-width: 230px;
}
.nav_menu ul.nav_link {
	margin-bottom: 70px;
	padding-top: 20px;
	border-top: 1px solid #fff;
	text-align: center;
}
.nav_menu ul.nav_link a {
	display: block;
	padding: 15px 10px;
	color: #fff;
	font-size: 20px;
	line-height: 1.2;
}
.nav_menu ul.nav_link a span {
	position: relative;
	display: inline-block;
	padding-left: 15px;
}
.nav_menu ul.nav_link a span::before {
	background: url(../image/triangle.svg) center / contain no-repeat;
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 5px; height: 10px;
}
.nav_menu a.link {
	position: relative;
	display: block;
	height: 80px;
	background: linear-gradient(to right, #4d3e2a, #ccbc81);
	text-align: center;
	color: #fff;
	font-size: 20px;
	line-height: 80px;
}
.nav_menu a.link::before {
	background: url(../image/arrow.svg) center / contain no-repeat;
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 30px; height: 10px;
}
@media screen and (max-width: 1024px) {
	header {
		height: 70px;
		width: calc(100% - 70px);
	}
	header .nav_bar {
		height: 100%;
	}
	header .nav_bar .bg_white {
		flex-direction: row;
		justify-content: flex-start;
		width: 100%;
		padding: 0 30px;
		box-shadow: none;
	}
	header .nav_bar .bg_white img {
		max-width: 65px;
	}
	header .nav_bar h1 {
		writing-mode: horizontal-tb;
		justify-content: flex-start;
		padding-left: 30px;
		margin: 0;
	}
	#manda_nav .nav_button {
		height: 70px; width: 70px;
	}
	.header__hamburger {
		width: 30px;
	}
	.hamburger span:nth-child(2) {
		margin: 9px 0;
	}
	#manda_nav .nav_button p {
    margin-top: 5px;
	}
	.nav_menu {
		width: 450px;
		transform: translateX(450px);
	}
	.nav_menu_inner {
    padding: 110px 40px;
	}
}
@media screen and (max-width: 768px) {
	header .nav_bar h1 {
		font-size: 22px;
	}
	.nav_menu_inner {
    padding: 110px 60px;
	}
	.nav_menu {
		width: 100%;
		transform: translateX(100%);
	}
	.nav_menu ul.nav_link a {
		font-size: 18px;
	}
}
@media screen and (max-width: 600px) {
	header .nav_bar .bg_white {
		padding: 0 20px;
	}
	header .nav_bar h1 {
		padding-left: 20px;
    font-size: 20px;
	}
	.nav_menu ul.nav_link {
		margin-bottom: 50px;
	}
	.nav_menu a.link {
		font-size: 16px;
	}
	.nav_menu a.link::before {
		width: 20px;
	}
}
@media screen and (max-width: 480px) {
	header .nav_bar h1 {
    font-size: 15px;
	}
	header .nav_bar .bg_white a img {
    max-width: 55px;
	}
	.nav_menu_inner {
    padding: 80px 30px;
	}
}


/* MV */
#manda_mv {
	padding: 0;
}
#manda_mv .mv_main {
	background: url(../image/mv_bg.jpg) center / cover no-repeat;
	padding: 270px 0;
}
#manda_mv .mv_main .webp { background-image: url("../image/mv_bg.webp"); }
#manda_mv .mv_container {
	max-width: 850px;
	margin: 0 auto;
}
#manda_mv .mv_container .bg_gra {
	text-align: center;
	background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
	padding: 12px 6px;
	margin-bottom: 30px;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
#manda_mv .mv_container h2 {
	margin-bottom: 0;
	text-align: center;
	color: #23364a;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff, 0 0 20px #fff;
}
#manda_mv .mv_container h2::after {
	content: "";
	display: block;
	height: 1px;
	background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
	margin: 30px 0;
}
#manda_mv .mv_container h2 .important {
	display: block;
	margin-top: 10px;
	font-size: 50px;
}
#manda_mv .mv_container h2 .gold {
	color: #7b6a54;
	letter-spacing: 0.06em;
}
#manda_mv .mv_container h2 .big {
	display: inline-block;
	font-size: 70px;
	font-weight: 900;
}
#manda_mv .mv_container h2 .kerning {
	letter-spacing: 0;
}
#manda_mv .mv_container .mv_text {
	font-size: 18px;
	font-weight: 900;
	line-height: 2;
	color: #23364a;
	text-shadow: 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff, 0 0 25px #fff;
}
@media screen and (max-width: 1200px) {
	#manda_mv .mv_container {
		max-width: 80%;
	}
	#manda_mv .mv_container h2 {
		font-size: 3.4vw;
	}
	#manda_mv .mv_container h2 .important {
		font-size: 125%;
	}
	#manda_mv .mv_container h2 .big {
		font-size: 140%;
	}
}
@media screen and (max-width: 1024px) {
	#manda_mv .mv_main {
		width: 100%;
		padding: 200px 0;
	}
}
@media screen and (max-width: 768px) {
	#manda_mv .mv_main {
		padding: 180px 0;
	}
	#manda_mv .mv_container .bg_gra {
		font-size: 22px;
	}
	#manda_mv .mv_container h2 {
    font-size: 4vw;
	}
	#manda_mv .mv_container .mv_text {
		font-size: 16px;
	}
}
@media screen and (max-width: 600px) {
	#manda_mv .mv_container .bg_gra {
    font-size: 20px;
	}
	#manda_mv .mv_container h2 {
    font-size: 4.4vw;
	}
}

@media screen and (max-width: 480px) {
	#manda_mv .mv_main {
    padding: 150px 0 120px;
	}
	#manda_mv .mv_container .bg_gra {
    font-size: 18px;
		letter-spacing: 0.03em;
	}
	#manda_mv .mv_container h2 {
    font-size: 4.8vw;
	}
}

/* 必要性 */
#necessity div.bg {
	background: url(../image/necessity_01.jpg) center left / contain no-repeat, url(../image/necessity_02.jpg) bottom right 140px / auto no-repeat;
}
#necessity div.bg .webp { background-image: url("../image/necessity_01.webp"), url("../image/necessity_02.webp"); }
#necessity .container {
	display: flex;
	align-items: center;
	padding: 90px 0;
}
#necessity h2 {
	width: 43%;
	margin: 0;
}
#necessity .textbox {
	width: 57%;
}
@media screen and (max-width: 1800px) {
	#necessity div.bg {
		background-position: center left, bottom right 3%;
	}
}
@media screen and (max-width: 1700px) {
	#necessity .container {
		flex-direction: column;
		padding: 50px 0 90px 20%;
	}
	#necessity h2 {
		width: 100%;
		margin: 0 0 50px -100px;
	}
	#necessity .textbox {
		width: 100%;
	}
}
@media screen and (max-width: 1400px) {
	#necessity div.bg {
		background: url(../image/necessity_01.jpg) center left / contain no-repeat;
	}
	#necessity div.bg .webp { background-image: url("../image/necessity_01.webp"); }
	#necessity .container {
		max-width: 55%;
		margin: 0 5% 0 auto;
		padding: 50px 0 90px;
	}
}
@media screen and (max-width: 1200px) {
	#necessity div.bg {
		background-position: center left -150px;
	}
}
@media screen and (max-width: 1024px) {
	#necessity .container {
		padding: 30px 0 50px;
	}
}
@media screen and (max-width: 768px) {
	#necessity div.bg {
		overflow: hidden;
		background-size: cover;
	}
	#necessity .container {
		max-width: 90%;
		margin: 30px 5%;
		padding: 30px;
		background: rgba( 255, 255, 255, .8);
	}
	#necessity h2 {
		margin: 0 auto 30px;
	}
}
@media screen and (max-width: 600px) {
	#necessity {
		padding: 0;
	}
	#necessity div.bg {
		padding: 80px 0;
	}
	#necessity .container {
		margin: 0 5%;
	}
}

/* 弁護士の役割 */
#duties {
	background: url(../image/duties_bg.jpg) center / cover no-repeat;
}
#duties .webp { background-image: url("../image/duties_bg.webp"); }
#duties h2 {
	text-align: center;
}
ul.duties_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
ul.duties_list li {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 48%;
	background: #fff;
	padding: 75px 55px 80px;
	overflow: hidden;
	z-index: 1;
}
ul.duties_list li:nth-child(1),
ul.duties_list li:nth-child(2) {
	margin-bottom: 40px;
}
ul.duties_list li::before {
	content: "";
    display: block;
    position: absolute;
    top: -90px;
    left: -90px;
    height: 180px;
    width: 180px;
    transform: rotate(-45deg);
    background: #082948;
    z-index: -1;
}
ul.duties_list li .num {
	position: absolute;
	top: 10px; left: 10px;
	display: flex;
	align-items: center;
	flex-direction: column;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}
ul.duties_list li .num span {
	font-size: 300%;
}
ul.duties_list li h3 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 150px;
	text-align: center;
	color: #082948;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.6;
}
ul.duties_list li h3::after {
	content: "";
	display: block;
  height: 3px;
	width: 60px;
  background: linear-gradient(to right, #0b2a49 0%, #0b2a49 50%, #9d9689 50%, #9d9689 100%);
  margin: 25px auto;
}
ul.duties_list li img {
	display: block;
	width: 75px;
	margin: 0 auto;
}
ul.duties_list li .textbox {
	margin: 30px 0 0;
}
ul.duties_list li .showmore {
	overflow: hidden;
	position: relative;
	text-align: justify;
	max-height: 10em;
	transition: all .3s ease;
}
ul.duties_list li .showmore::before {
	content: "…";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 35px; height: 30px;
	position: absolute;
	bottom: 8px;
  right: 3px;
	background: #fff;
}
ul.duties_list li .showmore.open {
	max-height: 100%;
	transition: all .3s ease;
}
ul.duties_list li .showmore.open::before {
	display: none;
}
ul.duties_list li .showmore_trigger {
	margin-top: auto;
	cursor: pointer;
}
ul.duties_list li .showmore_trigger span {
	display: inline-block;
	position: relative;
}
ul.duties_list li .showmore_trigger span::before {
	content: "続きを読む";
}
ul.duties_list li .showmore_trigger span::after {
  background: url(../image/triangle.svg) center / contain no-repeat;
    display: inline-block;
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
		-webkit-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
    width: 5px;
    height: 10px;
		transition: all .3s ease;
}
ul.duties_list li .showmore.open + .showmore_trigger span::before {
	content: "閉じる";
}
ul.duties_list li .showmore.open + .showmore_trigger span::after {
	-webkit-transform: translateY(-50%) rotate(-90deg);
  -ms-transform: translateY(-50%) rotate(-90deg);
  transform: translateY(-50%) rotate(-90deg);
	transition: all .3s ease;
}
ul.duties_list li .showmore_trigger .less img {
	transform: rotate(-90deg);
}
@media screen and (max-width: 1200px) {
	ul.duties_list li .showmore::before {
		right: 0;
		width: 18px;
	}
}
@media screen and (max-width: 1024px) {
	ul.duties_list li {
		padding: 75px 30px 50px;
	}
	ul.duties_list li h3 {
		font-size: 3vw;
	}
	ul.duties_list li .showmore::before {
		bottom: 5px;
	}
}
@media screen and (max-width: 768px) {
	ul.duties_list li {
    padding: 50px 30px 40px;
	}
	ul.duties_list li::before {
		top: -70px;
    left: -70px;
    height: 140px;
    width: 140px;
	}
	ul.duties_list li .num {
		top: 7px;
    left: 6px;
		font-size: 10px;
	}
	ul.duties_list li h3 {
		min-height: 140px;
    font-size: 3.4vw;
	}
	ul.duties_list li img {
		width: 55px;
	}
	ul.duties_list li .showmore::before {
		height: 25px;
		bottom: 7px;
	}
}
@media screen and (max-width: 600px) {
	ul.duties_list li {
		width: 100%;
	}
	ul.duties_list li h3 {
		font-size: 4.4vw;
	}
}
@media screen and (max-width: 480px) {
	ul.duties_list li h3 {
		min-height: 0;
		font-size: 5.4vw;
	}
}
/* 法務DD */
#houmudd  {
	padding-top: 0;
}
#houmudd .bg {
	position: relative;
	background: url(../image/dd_bg.jpg) center top / cover no-repeat;
	padding: 145px 0 450px;
	color: #fff;
	z-index: 1;
}
#houmudd .bg .webp { background-image: url("../image/dd_bg.webp"); }
#houmudd .sub {
    position: absolute;
    font-size: 120px;
    font-weight: 300;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    top: 30px; left: 5%; 
    line-height: 1;
    letter-spacing: -0.01em;
    color: rgba( 255, 255, 255, .1);
		transform: rotate(180deg);
    z-index: -1;
}
#houmudd .box {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#houmudd .box h2 {
	width: 45%;
}
#houmudd .box .textbox {
	width: 55%;
}
ul.dd_list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 65px;
}
ul.dd_list li {
	width: 32%;
	margin: 0 2% 20px 0;
}
ul.dd_list li:nth-child(3n) {
	margin-right: 0;
}
ul.dd_list li .btn_point {
	cursor: pointer;
}

#dd_slider {
	position: relative;
	margin-top: -340px;
	z-index: 1;
}
#slider_link {
	position: absolute;
	top: -100px;
}
ul.dd_slider li > div {
	position: relative;
	background: #fff;
	height: auto;
	padding: 70px 100px;
	margin: 0 50px;
	box-sizing: border-box;
}
ul.dd_slider li > div::before {
	content: "";
	display: block;
	height: 5px;
	background: linear-gradient(to right, #ccbc81, #4d3e2a);
	position: absolute;
	top: 0; left: 0; right: 0;
}

ul.dd_slider li h3 {
	text-align: center;
	font-size: 34px;
	font-weight: 700;
}
ul.dd_slider li h3::after {
	content: "";
	display: block;
	height: 3px;
	width: 60px;
	background: linear-gradient(to right, #0b2a49 0%, #0b2a49 50%, #9d9689 50%, #9d9689 100%);
	margin: 25px auto;
}
ul.dd_slider li .textbox {
	margin-top: 35px;
}
.slick_control {
	position: relative;
	max-width: 400px;
	margin: 60px auto 0;
	padding: 20px 0;
}
.slick_control .slick_dots {
	position: relative;
	max-width: 230px;
	margin: 0 auto;
	z-index: 1;
}
.slick_control .slick-dots {
	position: relative;
	bottom: auto;
}
.slick_control .slick-dots li {
	width: 10px;
	margin: 0 4px;
}
.slick_control .slick-dots li button {
	padding: 5px 0;
	width: 10px;
}
.slick_control .slick-dots li button:before {
	width: 10px;
	font-size: 18px;
	color: #c8d2da;
	opacity: 1;
}
.slick_control .slick-dots li.slick-active button:before {
	color: #604c32;
}

.slick_arrows {
	position: absolute;
	top: 0; bottom: 0; left: 0; right: 0;
}
.slick_arrows button {
	content: "";
	width: 65px;
	height: 65px;
	margin: auto;
	background: url(../image/arrow_left.svg) center / contain no-repeat;
	position: absolute;
	top: 0; bottom: 0;
	transition: all .2s ease;
}
.slick_arrows .slick-next {
	right: 0;
}
.slick_arrows .slick-prev {
	left: 0;
}
.slick_arrows button::before {
	display: none;
}
.slick_arrows .slick-next,
.slick_arrows .slick-next:focus, .slick_arrows .slick-next:hover {
	background-image:  url(../image/arrow_right.svg);
}
.slick_arrows .slick-prev:focus, .slick_arrows .slick-prev:hover {
	background-image:  url(../image/arrow_left.svg);
}
.slick_arrows .slick-next:hover,
.slick_arrows .slick-prev:hover {
	opacity: .4;
	transition: all .2s ease;
}
@media screen and (max-width: 1400px) {
	ul.dd_slider li > div {
		padding: 50px 60px;
	}
}
@media screen and (max-width: 1200px) {
	#houmudd .box h2 {
		font-size: 3.3vw;
	}
	
}
@media screen and (max-width: 1024px) {
	ul.dd_slider li > div {
		margin: 0 25px;
	}
	.slick_control {
		margin-top: 30px;
	}
}
@media screen and (max-width: 768px) {
	#houmudd .bg {
		padding: 100px 0 400px;
	}
	#houmudd .box {
		flex-direction: column;
		align-items: flex-start;
	}
	#houmudd .sub {
		-ms-writing-mode: initial;
		writing-mode: initial;
		transform: none;
		font-size: 12vw;
	}
	#houmudd .box h2 {
		width: 100%;
		margin-bottom: 30px;
		font-size: 5.3vw;
	}
	#houmudd .box h2 .block {
		display: inline-block;
	}
	#houmudd .box .textbox {
		width: 100%;
	}
	ul.dd_slider li > div {
		padding: 50px 40px;
	}
	ul.dd_slider li h3 {
		font-size: 5.4vw;
	}
	.slick_control {
		max-width: 350px;
    margin-top: 20px;
	}
	.slick_arrows button {
		width: 40px;
		height: 40px;
	}
}
@media screen and (max-width: 700px) {
	ul.dd_list li {
		width: 48%;
	}
	ul.dd_list li,
	ul.dd_list li:nth-child(3n) {
		margin-right: 4%;
	}
	ul.dd_list li:nth-child(even) {
		margin-right: 0;
	}
	ul.dd_slider li > div {
		padding: 50px 30px;
		margin: 0 15px;
	}
	ul.dd_slider li .textbox {
		margin-top: 20px;
	}
}
@media screen and (max-width: 600px) {
	#houmudd .box h2 {
		font-size: 6.3vw;
	}
}
@media screen and (max-width: 480px) {
	#houmudd .bg {
    padding-bottom: 150px;
	}
	#dd_slider {
		margin-top: -90px;
	}
	ul.dd_slider li > div {
		padding: 30px;
		/* margin: 0; */
	}
	.slick_control {
		max-width: 300px;
	}
	.slick_control .slick_dots {
		max-width: 200px;
	}
	.slick_control .slick-dots li {
		margin: 0 3px;
		width: 9px;
	}
	.slick_control .slick-dots li button:before {
		font-size: 15px;
	}
}
@media screen and (max-width: 420px) {
	ul.dd_list li {
		width: 100%;
		margin: 0 0 20px;
	}
	ul.dd_list li:nth-child(3n) {
		margin-right: 0;
	}
}
/* 選ばれる理由 */
#reason {
	background: url(../image/reason_bg.jpg) center top / contain no-repeat, #0a253f;
	padding: 460px 0 0;
}
#reason .webp { background-image: url("../image/reason_bg.webp"); }
#reason .container {
	position: relative;
	max-width: 100%;
	padding: 130px 0;
}
#reason .container::before {
	content: "";
	display: block;
	width: 90%; height: 100%;
	background: #fff;
	position: absolute;
	top: 0; bottom: 0; left: 0; right: 0;
	margin: 0 auto;
}
#reason h2 {
	position: relative;
	text-align: center;
}
#reason h2::before {
	content: "REASON";
	display: block;
	margin-bottom: -50px;
	line-height: 1;
	font-size: 120px;
	font-weight: 400;
	color: rgba(11, 42, 73, .1);
	letter-spacing: 0.08em;
}
ul.reason_list li {
	position: relative;
	margin: 0 auto 85px;
	padding-top: 50px;
	background: url(../image/reason_01.png) center / cover no-repeat;
}
ul.reason_list li .webp { background-image: url("../image/reason_01.webp"); }
ul.reason_list li:nth-child(2) {
	background-image: url(../image/reason_02.png);
}
ul.reason_list li:nth-child(2) .webp { background-image: url("../image/reason_02.webp"); }
ul.reason_list li:nth-child(3) {
	background-image: url(../image/reason_03.png);
}
ul.reason_list li:nth-child(3) .webp { background-image: url("../image/reason_03.webp"); }
ul.reason_list li:nth-child(4) {
	background-image: url(../image/reason_04.png);
}
ul.reason_list li:nth-child(4) .webp { background-image: url("../image/reason_04.webp"); }
ul.reason_list li .bg_gray {
	position: relative;
	max-width: 800px;
	margin: 0 auto;
	padding: 50px 95px 80px;
	background: #f4f6f8;
	box-sizing: border-box;
}
ul.reason_list li .bg_gray::before,
ul.reason_list li .bg_gray::after {
	content: "";
	display: block;
	width: 55px;
	height: 55px;
	position: absolute;
}
ul.reason_list li .bg_gray::before {
	border-top: 2px solid #0b2a49;
	border-right: 2px solid #0b2a49;
	right: 50px; top: 50px;
}
ul.reason_list li .bg_gray::after {
	border-left: 2px solid #0b2a49;
	border-bottom: 2px solid #0b2a49;
	left: 50px; bottom: 50px;
}
ul.reason_list li:last-child {
	margin-bottom: 0;
}
ul.reason_list li .num {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(to right, #4d3e2a, #ccbc81);
	height: 50px;
	width: 50px;
	margin: 0 auto;
	border-radius: 25px;
	font-size: 25px;
	font-weight: 700;
	color: #fff;
}
ul.reason_list li h3 {
	margin: 20px 0 0;
	text-align: center;
	font-size: 36px;
	font-weight: 900;
	color: #0a253f;
	line-height: 1.4;
}
ul.reason_list li h3::after {
	content: "";
  display: block;
  height: 1px;
  background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
  margin: 20px 0;
}
@media screen and (max-width: 1650px) {
	#reason {
		padding-top: 16vw;
	}
}
@media screen and (max-width: 1200px) {
	#reason .container {
		padding: 100px 0;
	}
	#reason h2::before {
		font-size: 10vw;
	}
	ul.reason_list li .bg_gray {
		max-width: 80%;
		padding: 50px 65px 65px;
	}
	ul.reason_list li .bg_gray::before {
		right: 40px;
    top: 40px;
	}
	ul.reason_list li .bg_gray::after {
		left: 40px;
		bottom: 40px;
	}
	ul.reason_list li h3 {
		font-size: 3vw;
	}
}
@media screen and (max-width: 1024px) {
	#reason h2 {
		margin-bottom: 70px;
	}
}
@media screen and (max-width: 768px) {
	#reason .container {
    padding: 60px 0;
	}
	#reason h2::before {
		margin-bottom: -25px;
    font-size: 12vw;
	}
	ul.reason_list li {
		padding: 0;
		margin-bottom: 50px;
	}
	ul.reason_list li,
	ul.reason_list li:nth-child(2),
	ul.reason_list li:nth-child(3),
	ul.reason_list li:nth-child(4) {
		background: none;
	}
	ul.reason_list li .bg_gray {
		padding: 50px;
	}
	ul.reason_list li .bg_gray::before,
	ul.reason_list li .bg_gray::after {
		width: 40px;
		height: 40px;
	}
	ul.reason_list li .bg_gray::before {
    right: 25px;
    top: 25px;
	}
	ul.reason_list li .bg_gray::after {
    left: 25px;
    bottom: 25px;
	}
	ul.reason_list li h3 {
    font-size: 4vw;
	}
}
@media screen and (max-width: 600px) {
	ul.reason_list li .bg_gray {
		max-width: 85%;
		padding: 50px 30px;
	}
	ul.reason_list li .bg_gray::before,
	ul.reason_list li .bg_gray::after {
    width: 25px;
    height: 25px;
	}
	ul.reason_list li .bg_gray::before {
    right: 20px;
    top: 20px;
	}
	ul.reason_list li .bg_gray::after {
    left: 20px;
    bottom: 20px;
	}
	ul.reason_list li .num {
		height: 40px;
    width: 40px;
		font-size: 18px;
	}
	ul.reason_list li h3 {
    font-size: 4.8vw;
	}
}
@media screen and (max-width: 480px) {
	ul.reason_list li h3 {
    font-size: 5.2vw;
	}
}

/* ALGとは */
#about h2 {
	text-align: center;
}
#about h2::before {
	content: "ABOUT";
	display: block;
    margin-bottom: -50px;
    line-height: 1;
    font-size: 120px;
    font-weight: 400;
    color: rgba(11, 42, 73, .1);
    letter-spacing: 0.08em;
}
#about h2 .border {
	color: #000;
}
ul.about_list li {
	display: flex;
	justify-content: space-between;
	min-height: 420px;
	margin-bottom: 80px;
}
ul.about_list li .img_box {
	width: 30%;
	background: url(../image/about_01.jpg) center / cover no-repeat;
}
ul.about_list li .img_box .webp { background-image: url("../image/about_01.webp"); }
ul.about_list li:nth-child(2) .img_box {
	background-image: url(../image/about_02.jpg);
}
ul.about_list li:nth-child(2) .img_box .webp { background-image: url("../image/about_02.webp"); }
ul.about_list li:nth-child(3) .img_box {
	background-image: url(../image/about_03.jpg);
}
ul.about_list li:nth-child(3) .img_box .webp { background-image: url("../image/about_03.webp"); }
ul.about_list li:nth-child(4) .img_box {
	background-image: url(../image/about_04.jpg);
}
ul.about_list li:nth-child(4) .img_box .webp { background-image: url("../image/about_04.webp"); }
ul.about_list li .textbox {
	width: 63%;
}
ul.about_list li h3 {
	display: flex;
	align-items: center;
	margin-bottom: 30px;
	font-size: 32px;
	font-weight: 700;
	color: #0a253f;
}
ul.about_list li h3::after {
	content: "";
  display: block;
  height: 1px;
  background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
	flex-grow: 1;
}
ul.about_list li h3 > span {
	display: inline-block;
	padding: 0 15px;
}
ul.about_list li h3 > span.adjust {
	margin-top: -20px;
}
ul.about_list li h3 .big {
	font-size: 162%;
}
ul.about_list li .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(to right, #4d3e2a, #ccbc81);
	width: 70px; height: 70px;
	border-radius: 35px;
	padding: 0;
}
ul.about_list li .icon img {
	max-height: 40px;
}
@media screen and (max-width: 1200px) {
	#about h2::before {
    font-size: 10vw;
	}
}
@media screen and (max-width: 768px) {
	#about h2::before {
    margin-bottom: -25px;
    font-size: 12vw;
	}
	ul.about_list li h3 {
		font-size: 3.4vw;
	}
	ul.about_list li .icon {
		width: 55px;
		height: 55px;
	}
	ul.about_list li .icon img {
    max-height: 32px;
	}
}
@media screen and (max-width: 700px) {
	ul.about_list li {
		flex-direction: column;
		margin-bottom: 50px;
	}
	ul.about_list li .img_box {
		width: 100%;
		height: 150px;
	}
	ul.about_list li .img_box {
    background-image: url(../image/about_01_sp.jpg);
	}
	ul.about_list li .img_box .webp { background-image: url("../image/about_01_sp.webp"); }
	ul.about_list li:nth-child(2) .img_box {
    background-image: url(../image/about_02_sp.jpg);
	}
	ul.about_list li:nth-child(2) .img_box .webp { background-image: url("../image/about_02_sp.webp"); }
	ul.about_list li:nth-child(3) .img_box {
    background-image: url(../image/about_03_sp.jpg);
	}
	ul.about_list li:nth-child(3) .img_box .webp { background-image: url("../image/about_03_sp.webp"); }
	ul.about_list li:nth-child(4) .img_box {
    background-image: url(../image/about_04_sp.jpg);
	}
	ul.about_list li:nth-child(4) .img_box .webp { background-image: url("../image/about_04_sp.webp"); }
	ul.about_list li .textbox {
    width: 100%;
		margin-top: 30px;
	}
	ul.about_list li h3 {
		margin-bottom: 20px;
    font-size: 4.4vw;
	}
}
@media screen and (max-width: 480px) {
	ul.about_list li h3 {
		margin-bottom: 15px;
    font-size: 5vw;
	}
	ul.about_list li .icon {
    width: 40px;
    height: 40px;
	}
	ul.about_list li h3 > span.adjust {
    margin-top: -15px;
	}
	ul.about_list li .icon img {
    max-height: 20px;
	}
}

/*footer*/
footer {
	background: #082948;
}
.cv_footer {
	position: relative;
	padding-top: 100px;
}
.cv_footer::before {
	content: "";
	background: url(../image/footer_contact.jpg) center / cover no-repeat;
	height: 400px;
	width: 100%;
	position: absolute;
	top: 0; left: 0; right: 0;
}
.cv_footer::before .webp { background-image: url("../image/footer_contact.webp"); }
.cv_footer h2 {
	position: relative;
	margin-bottom: 50px;
	text-align: center;
	font-size: 28px;
}
.cv_footer h2::before {
	content: "CONTACT";
	display: block;
	margin-bottom: -40px;
	line-height: 1;
	font-size: 120px;
	font-weight: 400;
	color: rgba(255, 255, 255, .1);
	letter-spacing: 0.08em;
}
.cv_footer h2 .border {
	display: inline-block;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	color: #fff;
}
.cv_footer h2 .border::after {
	display: none;
}
.cv_footer .bg_white {
	position: relative;
	background: #fff;
	padding: 50px 100px;
	box-sizing: border-box;
}
.cv_footer .contact {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.cv_footer .contact .tel {
	font-size: 22px;
	font-weight: 700;
}
.cv_footer .contact .tel span {
	font-size: 273%;
}
.cv_footer .contact .mail {
	position: relative;
  display: block;
  height: 80px;
	min-width: 300px;
  background: linear-gradient(to right, #4d3e2a, #ccbc81);
  text-align: center;
  color: #fff;
  font-size: 18px;
  line-height: 80px;
}
.cv_footer .contact .mail::before {
	background: url(../image/arrow.svg) center / contain no-repeat;
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 20px;
	height: 10px;
}
.cv_footer .bg_gray {
	display: flex;
	justify-content: center;
	background: #f4f6f8;
	margin-top: 30px;
	padding: 20px 40px;
}
.cv_footer .bg_gray .left {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	width: 35%;
	padding-right: 30px;
	box-sizing: border-box;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}
.cv_footer .bg_gray .left::after {
	content: "";
	position: absolute;
	top: 0; bottom: 0; right: 0;
	display: block;
	height: 100%;
	width: 1px;
	background: linear-gradient(to bottom, #4d3e2a, #ccbc81, #4d3e2a);
}
.cv_footer .bg_gray .right {
	width: 65%;
	padding-left: 30px;
	box-sizing: border-box;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
}
.footer_wrap {
	padding: 70px 0 0;
	color: #fff;
}
.footer_wrap .inner {
	display: flex;
	justify-content: space-between;
	margin: 0 0 5rem;
}
.footer_wrap .inner .left p {
	margin-bottom: 10px;
	font-size: 29px;
	font-weight: 900;
	line-height: 1.4;
	color: #fff;
}
.footer_wrap .inner .left img {
	max-width: 230px;
}
.footer_wrap .inner .right {
	width: 50%;
}
.footer_wrap .inner ul.footer_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_wrap .inner ul.footer_link li {
	width: 50%;
}
.footer_wrap .inner ul.footer_link li a {
	position: relative;
	display: block;
	padding: 5px 0 5px 15px;
	color: #fff;
	line-height: 1.4;
}
.footer_wrap .inner ul.footer_link li a::before {
	background: url(../image/triangle.svg) center / contain no-repeat;
	display: inline-block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 5px;
	height: 10px;
}
p.officiallink{
	text-align: center;
}
p.officiallink a{
	color:#fff;
	border-bottom:1px #fff dotted;
}
.footer_wrap .copy {
	margin: 40px 0 50px;
	padding:0 0 40px;
	text-align: center;
	border-bottom:1px #43586c solid;
}
@media screen and (max-width: 1200px) {
	.cv_footer h2::before {
    font-size: 10vw;
	}
	.cv_footer .bg_white {
		padding: 50px;
	}
	.cv_footer .contact .tel span {
		font-size: 5.2vw;
	}
}
@media screen and (max-width: 1024px) {
	.footer_wrap .inner {
		flex-direction: column;
	}
	.footer_wrap .inner .right {
		width: 100%;
		margin-top: 30px;
	}
}
@media screen and (max-width: 900px) {
	.cv_footer .contact {
		flex-direction: column;
	}
	.cv_footer .contact .tel {
		margin-bottom: 30px;
	}
	.cv_footer .contact .tel span {
		font-size: 6vw;
	}
	.cv_footer .contact .mail {
		height: 70px;
		line-height: 70px;
	}
	.cv_footer .bg_gray {
		padding: 20px 30px;
	}
	.cv_footer .bg_gray .left {
		padding-right: 15px;
	}
	.cv_footer .bg_gray .right {
		padding-left: 15px;
	}
}
@media screen and (max-width: 768px) {
	.cv_footer {
		padding-top: 70px;
	}
	.cv_footer h2::before {
		margin-bottom: -25px;
    font-size: 12vw;
	}
	.cv_footer .bg_gray {
		flex-direction: column;
	}
	.cv_footer .bg_gray .left {
		width: 100%;
		padding: 0;
	}
	.cv_footer .bg_gray .left::after {
		height: 1px;
		width: 100%;
		position: relative;
		top: auto; bottom: auto;
		background: linear-gradient(to right, #4d3e2a, #ccbc81, #4d3e2a);
		margin: 20px 0;
	}
	.cv_footer .bg_gray .right {
		width: 100%;
		padding: 0;
	}
	.footer_wrap .inner .left p {
		font-size: 18px;
	}
	.footer_wrap .copy {
		font-size: 14px;
	}
}
@media screen and (max-width: 600px) {
	.cv_footer .bg_white {
    padding: 30px;
	}
	.cv_footer .contact .tel span {
    font-size: 7.4vw;
	}
	.footer_wrap .inner ul.footer_link li {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.cv_footer .contact .mail {
		width: 100%;
		min-width: 0;
		font-size: 16px;
	}
}

/* フッター下部 */
.footer_message {
	padding: 20px 0 70px;
}
.footer_message h2 {
	position: relative;
	margin-bottom: 20px;
	font-size: 26px;
	font-weight: 400;
	color: #fff;
	text-align: center;
}
.footer_message h3 {
	position: relative;
	font-size: 40px;
	color: #fff;
	width: 100%;
	text-align: center;
	font-weight: normal;
	margin-bottom: 50px;
	letter-spacing: .06em;
	line-height: 1.2;
}
.footer_message h3::after {
	content: "";
	display: block;
	width: 40%; height: 1px;
	background: #fff;
	margin: 20px auto 0;
}
.footer_message p {
	color: #fff;
	font-weight: 400;
	font-size: 16px;
}
.footer_message .work_box {
	display: flex;
	font-weight: 600;
}
.footer_message .work_box .left {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40%;
	background: #3c6289;
	box-sizing: border-box;
	padding: 0 15px;
	text-align: center;
	font-size: 20px;
	line-height: 1.2;
	color: #fff;
}
.footer_message .work_box ul.right {
	width: 60%;
}
.footer_message .work_box ul.right li {
	background: #f4f6f8;
	padding: 20px 30px;
	border-bottom: 1px solid #a0aab3;
	color: #000;
	line-height: 1.4;
}
.footer_message .work_box ul.right li:last-child {
	border: 0;
}

@media screen and (max-width: 1024px) {
	.footer_message h2 {
		font-size: 24px;
	}
	.footer_message h3 {
		font-size: 4.2vw;
	}
	.footer_message .work_box .left {
		width: 30%;
	}
	.footer_message .work_box ul.right {
    width: 70%;
	}
	.footer_message .work_box ul.right li {
		padding: 15px 20px;
	}
}
@media screen and (max-width: 768px) {
	.footer_message h3 {
		font-size: 5.2vw;
	}
	.footer_message .work_box .left {
		font-size: 18px;
	}
}
@media screen and (max-width: 600px) {
	.footer_message h2 {
    font-size: 22px;
	}
	.footer_message h3::after {
		width: 80%;
	}
	.footer_message p {
		font-size: 14px;
	}
	.footer_message .work_box {
		flex-direction: column;
	}
	.footer_message .work_box .left {
		width: 100%;
		padding: 30px 20px;
	}
	.footer_message .work_box ul.right {
		width: 100%;
		font-size: 15px;
	}
}
@media screen and (max-width: 480px) {
	.footer_message h2 {
		margin-bottom: 10px;
    font-size: 20px;
	}
	.footer_message h3 {
		margin-bottom: 30px;
    font-size: 26px;
	}
}