@charset "UTF-8";

/*
Theme Name: daikeiren
Author: やまと経営者連盟
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Roboto:wght@400..700&display=swap');
/* リセット
================================================== */
* { margin:0; padding:0;}
*::after,
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;	box-sizing: border-box; }
ul{ padding: 0; margin: 0;}
li{ padding: 0; margin: 0; list-style:none;}
img{ border:none; vertical-align:top; }
a:focus, *:focus {  outline:none; }

/* 共通
================================================== */
a:link{ color: #000; text-decoration: none; }
a:visited{ color: #000; text-decoration: none; }
a:active{ color: #000; text-decoration: none; }
a:hover{ color: #c01d25; text-decoration: none; }
a img:hover{ filter: alpha(opacity=85);-moz-opacity:0.85;opacity:0.85; }

.pc_no, .pcm_no{ display:none; }
img a, a {
  -webkit-transition: .4s;
  transition: .4s;	
  outline: none;
}
img.w100{ width:100%; height:auto; }
/* フォント・文字装飾
================================================== */
.fw_500{font-weight: 500}
.fw_700{font-weight: 600}
.fw_700{font-weight: 700}

.fc_white{color:#fff}
.fc_gray{color:#999}
.fc_red{color:#c01d25}

.fs_13{font-size:13px; line-height: 1.5em;}
.fs_14{font-size:14px; line-height: 1.6em;}
.fs_16{font-size:16px}
.fs_18{font-size:18px}
.fs_20{font-size:20px}
.fs_24{font-size:24px}
.fs_30{font-size:30px}
.fs_34{font-size:34px}

.ls01{letter-spacing: 0.1em;}
.ls03{letter-spacing: 0.3em;}
.ls05{letter-spacing: 0.5em;}
.ls2{letter-spacing: 2em;}

/* 全体
================================================== */
body {
	font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  	font-weight: 500;
	color: #000;
	font-size: 15px;
	line-height: 2.2em;
	letter-spacing: 0.03em;
	-webkit-text-size-adjust: none;
	padding-top:130px;
}
body.menu-open{ overflow:hidden; }
html, body{ overflow-x:hidden; }

/* レイアウト
================================================== */
.fl_right{float: right;}
.fl_left{float: left;}

.flex_wp,
.flex_wp_sp,
.flex_wp_spmd{
	display:flex;
	justify-content: space-between;
}
.flex_center{align-items: center;}
.flex_end{align-items: flex-end;}
.flex_wrp{flex-wrap: wrap;}

.txt_center, .w-txt_center{text-align:center;}
.txt_left{text-align:left!important;}
.txt_right{text-align:right}
.ps_rel{position: relative}
.ps_abs{position: absolute}
.clear{clear: both;}

/* 背景
================================================== */
.bk_red{width:100%; background:#c01d25;}
.bk_gray{width:100%; background:#e3e3e3}

/* リンクボタン
================================================== */
.linkbtn_wp { width:100%; padding:25px 0; }
.linkbtn_right { width:100%; margin:25px auto 0; text-align:right; }

/* 赤背景ボタン */
a.red_btn{
	padding:1.3em 4.5em 1.3em 2.2em;
	background : url("images/arrow_wht.png") #c01d25 no-repeat right 2em center;
	background-size: 15px auto;
	font-size:15px;
	border-radius:50px;
	color:#fff;
	transition: 0.4s ease;
}
a.red_btn:hover{
	background : url("images/arrow_wht.png") #b5262d no-repeat right 1.8em center;
	background-size: 15px auto;
}
a.red_btn_l{
	padding:1.5em 5.3em 1.5em 3.5em;
	background : url("images/arrow_wht.png") #c01d25 no-repeat right 2.5em center;
	background-size: 20px auto;
	font-size:17px;
	border-radius:50px;
	color:#fff;
	transition: 0.4s ease;
}
a.red_btn_l:hover{
	background : url("images/arrow_wht.png") #b5262d no-repeat right 2.2em center;
	background-size: 20px auto;
}
a.red_btn span,
a.red_btn_l span{padding-right:1.3em; border-right:1px solid #fff}

/* 白背景＋赤ラインボタン */
a.wt_btn,
a.wtg_btn{
	padding:1.3em 4.5em 1.3em 2.2em;
	background : url("images/arrow_red.png") #fff no-repeat right 2em center;
	background-size: 15px auto;
	font-size:15px;
	font-weight:600;
	border-radius:50px;
	border:1px solid #c01d25;
	color:#c01d25;
	transition: 0.4s ease;
}
a.wt_btn:hover{
	background : url("images/arrow_wht.png") #c01d25 no-repeat right 1.8em center;
	background-size: 15px auto;
	color:#fff;
}
a.wtg_btn:hover{
	background : url("images/arrow_red.png") #ccc no-repeat right 1.8em center;
	background-size: 15px auto;
}
a.wt_btn span,
a.wtg_btn span{padding-right:1.3em; border-right:1px solid #c01d25}
a.wt_btn:hover span{border-right:1px solid #fff}

/* margin、padding
================================================== */
.mt15{margin-top:15px}
.mt20{margin-top:20px}
.mt30{margin-top:30px}
.mt50{margin-top:50px}
.mt70{margin-top:70px}

.mb15{margin-bottom:15px}
.mb20{margin-bottom:20px}
.mb30{margin-bottom:30px}
.mb70{margin-bottom:100px}

.pt20{padding-top:20px}
.pt50{padding-top:50px}
.pt70{padding-top:70px}
.pt100{padding-top:100px}

.pb20{padding-bottom:20px}
.pb50{padding-bottom:50px}
.pb70{padding-bottom:70px}
.pb100{padding-bottom:100px}

.ptb70{padding:70px 0}
.ptb80{padding:80px 0}
.ptb100{padding:100px 0}

/* TOPページ 雫からの波紋でオープン
================================================== */
.vision-opening2{
    position:fixed;
    inset:0;
    z-index:9999;
    pointer-events:none;
}
.vision-opening2 svg{
    width:100%;
    height:100%;
}
/* 落ちる水滴 */
.drop{
    fill:black;
    transform-origin:center;
    transform-box:fill-box;
    animation: drop 3.5s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes drop{
	0%{ transform: translateY(-60px) scale(1); opacity:0;}
	20%{ opacity:1; }
	70%{ transform: translateY(20px) scale(1);}
	/* 着水 */
	85%{transform: translateY(20px) scale(1.8,.5);}
	100%{transform: translateY(20px) scale(0); opacity:0;}
}
/*  波紋でオープン */
.ripple{
    fill:black;
    transform-origin:center;
    opacity:0;
}
.ripple1{ animation:ripple 8s ease-out 1.8s forwards;}
.ripple2{ animation:ripple 8s ease-out 2.3s forwards;}
.ripple3{ animation:ripple 8s ease-out 2.8s forwards;}

@keyframes ripple{
    0%{ transform:scale(.5); opacity:1;}
    100%{ transform:scale(250); opacity:1;}
}

/* =========================
赤いラインの波紋ループ 大
========================= */
.opening-ripple{
	position:absolute;
	top:45%;
	left:75%;
	transform:translate(-50%,-50%);
	width:700px;
	height:700px;
	z-index:101;
	pointer-events:none;
}
.opening-ripple svg{
	width:100%;
	height:100%;
}
.red-ripple{
	fill:none;
	stroke:#c01d25;
	stroke-width:2.5;
	stroke-dasharray:260 160;
	transform-origin:center;
	opacity:0;
}
/* 波紋ごとのズレ */
.r1{
	stroke-dashoffset:0;
	animation:redWave1 8s linear infinite;
	animation-delay:2.8s;
}
.r2{
	stroke-dashoffset:70;
	animation:redWave2 8s linear infinite;
	animation-delay:3.1s;
}
.r3{
	stroke-dashoffset:150;
	animation:redWave3 8s linear infinite;
	animation-delay:3.4s;
}
.r4{
	stroke-dashoffset:220;
	animation:redWave4 8s linear infinite;
	animation-delay:3.7s;
}
.r5{
	stroke-dashoffset:310;
	animation:redWave5 8s linear infinite;
	animation-delay:4s;
}
/* 外側から順番に消える */
@keyframes redWave1{
	0%{ transform:scale(.3); opacity:.35; }
	50%{ opacity:.22; }
	70%{ opacity:0; }
	100%{ transform:scale(2); opacity:0; }
}
@keyframes redWave2{
	0%{	transform:scale(.3); opacity:.35;}
	55%{ opacity:.22;}
	75%{ opacity:0; }
	100%{ transform:scale(2); opacity:0; }
}
@keyframes redWave3{
	0%{ transform:scale(.3); opacity:.35; }
	60%{ opacity:.22; }
	80%{ opacity:0; }
	100%{ transform:scale(2); opacity:0; }
}
@keyframes redWave4{
	0%{ transform:scale(.3); opacity:.35; }
	65%{ opacity:.22; }
	85%{ opacity:0;	}
	100%{ transform:scale(2); opacity:0; }
}
@keyframes redWave5{
	0%{ transform:scale(.3); opacity:.35; }
	70%{ opacity:.22; }
	90%{ opacity:0;	}
	100%{ transform:scale(2); opacity:0; }
}
@media screen and (max-width:980px){
	.opening-ripple{
		left:80%;
		top:40%;
		width:450px;
		height:450px;
	}
	.red-ripple{ stroke-width:2; }
	@keyframes redWave1{
		0%{ transform:scale(.3); opacity:.35; }
		50%{ opacity:.22; }
		70%{ opacity:0; }
		100%{ transform:scale(1.6); opacity:0; }
	}
	@keyframes redWave2{
		0%{ transform:scale(.3); opacity:.35; }
		55%{ opacity:.22; }
		75%{ opacity:0; }
		100%{ transform:scale(1.6); opacity:0; }
	}
	@keyframes redWave3{
		0%{ transform:scale(.3); opacity:.35; }
		60%{ opacity:.22; }
		80%{ opacity:0; }
		100%{ transform:scale(1.6); opacity:0; }
	}

	@keyframes redWave4{
		0%{ transform:scale(.3); opacity:.35; }
		65%{ opacity:.22; }
		85%{ opacity:0; }
		100%{ transform:scale(1.6); opacity:0; }
	}
	@keyframes redWave5{
		0%{ transform:scale(.3); opacity:.35; }
		70%{ opacity:.22;}
		90%{ opacity:0;}
		100%{ transform:scale(1.6); opacity:0; }
	}
}
/* =========================
赤いラインの波紋ループ 小
========================= */
.opening-ripple-small{
	position:absolute;
	top:20%;
	left:60%;
	transform:translate(-50%,-50%);
	width:450px;
	height:450px;
	z-index:100;
	pointer-events:none;
}
.red-ripple-small{
	fill:none;
	stroke:#c01d25;
	stroke-width:3.5;
	opacity:0;
	transform-origin:center;
}
.s1{
	stroke-dasharray:180 120;
	stroke-dashoffset:20;
	animation:redWaveSmall 8s linear 4.5s infinite;
}
.s2{
	stroke-dasharray:240 140;
	stroke-dashoffset:120;
	animation:redWaveSmall 8s linear 5s infinite;
}
.s3{
	stroke-dasharray:200 180;
	stroke-dashoffset:250;
	animation:redWaveSmall 8s linear 5.5s infinite;
}
@keyframes redWaveSmall{
	0%{	transform:scale(.3); opacity:.28; }
	70%{ opacity:.12; }
	100%{ transform:scale(1.7); opacity:0;}
}
@media screen and (max-width:980px){
	.opening-ripple-small{
		width:280px;
		height:280px;
		left:48%;
		top:25%;
	}
	.red-ripple-small{ stroke-width:5; }
	@keyframes redWaveSmall{
		0%{ transform:scale(.3); opacity:.28; }
		70%{ opacity:.12; }
		100%{ transform:scale(1); opacity:0; }
	}
}

/* ヘッダー
================================================== */
.site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index:1000;
	padding:20px 0 10px;
    transition: background-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.site-header.scrolled{
    background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,.08);
	z-index:1800;
}
.site-header.hide{ transform:translateY(-100%); }
.header-inner {
    width: 87%;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
@media screen and (max-width: 1400px) {.header-inner {width: 90%;}}
@media screen and (max-width: 1300px) {.header-inner {width: 93%;}}
.globalnav-wp{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}
.site-logo{ flex-shrink:0; padding-bottom:10px}
.site-logo img{
    display:block;
    width:clamp(200px, 22vw, 250px);
    height:auto;
}
.header-buttons ul{
    display:flex;
    gap:15px;
	margin-bottom:3px;
}
.header-buttons ul li{
    display:inline-flex;
    align-items:center;
    justify-content:center;	
}
a.btn-login{
    padding:2px 25px;
    border-radius:30px;
    font-size:13px;
	border:1px solid #999;
    color:#333;
	transition: .4s ease;
}
a.btn-login:hover{
	background:#333;
	color:#fff;
}
a.btn-contact{
	background : url("images/consul_icon.png") #c01d25 no-repeat left 20px center;
	background-size: 23px auto;
    padding:5px 25px 5px 55px;
    border-radius:30px;
    font-size:15px;
	color:#fff;
	transition: .4s ease;
}
a.btn-contact:hover{
	background : url("images/consul_icon.png") #b01c22 no-repeat left 20px center;
	background-size: 23px auto;
}
/*  PC用ナビメニュー  */
ul.nav-list {
    display: flex;
    gap: 40px;
		background:#fff;
	padding:8px 20px;
	border-radius:30px;
}
ul.nav-list li a {
    color: #000;
	font-size:16px;
	letter-spacing:0.07em;
    font-weight: 600;
	transition: .4s ease;
}
ul.nav-list li a:hover{color:#c01d25}
/*  Hamburger  */
.hamburger {
    display:none;
    background:transparent;
    border:none;
    cursor:pointer;
    width:40px;
    height:45px;
    padding:0;
    position:relative;
    z-index:2000;
}
.menu-text {
    display:block;
    font-size:10px;
    letter-spacing:.1em;
    line-height:1;
    color:#c01d25;
    text-align:center;
    margin-bottom:7px;
}
.hamburger-icon{
    position:relative;
    width:35px;
    height:25px;
}
.hamburger-icon span{
    display:block;
    position:absolute;
    left:0;
    width:35px;
    height:2px;
    background:#c01d25;
    transition:.4s ease;
}
.hamburger-icon span:nth-child(1){ top:0; }
.hamburger-icon span:nth-child(2){ top:10px; }
.hamburger-icon span:nth-child(3){ top:20px; }

/*  閉じる アニメーション */
.hamburger.active{
    position:relative;
    z-index:100001;
}
.hamburger.active .hamburger-icon span:nth-child(1){
    top:10px;
    transform:rotate(135deg);
}
.hamburger.active .hamburger-icon span:nth-child(2){
    width:0;
    left:50%;
}
.hamburger.active .hamburger-icon span:nth-child(3){
    top:10px;
    transform:rotate(-135deg);
}
/* SPボタンはPC非表示 */
.sp-buttons{ display:none;}

/*  980px以下ナビメニュー  */
@media screen and (max-width: 980px) {
	body { padding-top:90px; }
	.site-header.menu-open{ z-index:3000; }
	.site-logo{ padding-bottom:0; }
	.globalnav-wp{ display:block; }
	.header-buttons{ display:none; }
    .hamburger {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
    }
    .global-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
		height:100vh;
        background: #fff;
        transform: translateX(100%);
        transition: .4s ease;
        overflow-y: auto;
		 z-index:2000;
    }
    .global-nav.active { transform: translateX(0); }
     .global-nav ul.nav-list{
		width:90%;
		margin:0 auto;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:0;
        padding-top:80px;
    }
    .global-nav ul.nav-list li {
        width: 100%;
        text-align: left;
    }
    .global-nav ul.nav-list a {
        display: block;
        padding: 15px;
        border-bottom: 1px solid #eee;
    }
	/* SP用ボタン表示 */
	.sp-buttons{display:block;}
    .sp-buttons ul{
		width:90%;
		max-width:350px;
		margin:30px auto 50px;
        display:flex;
        justify-content: space-between;
		flex-wrap: wrap;
    }
	.sp-buttons ul li.half{width:48%; margin-bottom:15px}
	.sp-buttons ul li.full{width:100%}
    .sp-buttons a{
		display:block;
        text-align:center;
    }
	a.btn-login{
		padding:10px 20px;
		border-radius:50px;
		font-size:14px;
		border:none;
		color:#fff;
		background:#333;
	}
	a.btn-login:hover{background:#000;}
	a.btn-contact{
		background : url("images/consul_icon.png") #c01d25 no-repeat left 80px center;
		background-size: 30px auto;
		padding:13px 0 13px 30px;
		border-radius:50px;
	}
	a.btn-contact:hover{
		background : url("images/consul_icon.png") #b01c22 no-repeat left 80px center;
		background-size: 30px auto;
	}
}

/* TOPページ　メインビジュアル
================================================== */
.top_main{
	width:100%;
	background: linear-gradient(to bottom, transparent 90%, #c01d25 90%);
	padding-bottom:30px;
}
#viewer_wp{
	width:100%;
	margin: 0 auto;
	position: relative;
}
.circle_bk{
	background : url("images/top/circle_img.png") no-repeat right top;
	background-size:40% auto;
}
.circle_effect{
	width:73%;
	position:absolute;
	left:15%;
	top:0;
	padding-top:350px;
	z-index:10;	
}
.slider_msg p.slider_title{
	font-size:90px;
	line-height:1;
	margin-bottom:40px;
	font-weight:600;
}
.slider_msg h1{
	font-size:42px;
	margin-bottom:0.7em;
	position: relative;
	display: inline-block;
	line-height: 1.2;
	font-weight: 700;
}
.line1, .line2 { display: block; }
.line2 { margin-left: 250px; }
/* 区切りの斜線 */
.slider_msg h1::after {
	content: "";
	position: absolute;
	width: 170px;      /* 線の長さ */
	height: 1px;
	background: #c01d25;
	top: 2.2em;
	left: 4.8em;
	transform: rotate(-37deg);
	transform-origin: left center;
}
.slider_msg p.slider_text{font-size:18px;}
@media screen and (max-width: 1400px){ .slider_msg{left:5%;} }
.sliderwp{
	position: relative;
	width: 65%;
	margin: 0;
	padding: 0;
}
.flex_right {
	display: flex;
	justify-content: flex-end;
}
.sliderwp2{
	width:45%;
	margin-top:60px;
	padding-right:5%;
}
.sliderwp .fadeslider li{
	width: 100%;
	height: 480px;
	overflow: hidden;	
	position:absolute;
}
.sliderwp2 .fadeslider li{
	width: 100%;
	height: 300px;
	overflow: hidden;	
	position:absolute;
}
.fadeslider img.slider_img{
	width:100%;
	height: 100%;
	object-fit: cover;
	vertical-align:top;
	border-radius:0 50px 50px 0;
 }
.sliderwp .fadeslider li img{ border-radius:0 50px 50px 0; }
.sliderwp2 .fadeslider li img{ border-radius:50px 0 50px 0; }
@media screen and (max-width: 980px) {
	.circle_effect{
		width:80%;
		min-height:850px;
		left:5%;
		padding-top:200px;
	}
	.top_main{
		position:relative;
		overflow:hidden;
	}
	.slider_msg p.slider_title{
		font-size:72px;
		margin-bottom:20px;
	}
	.slider_msg h1{
		font-size:30px;
		margin-bottom:0.7em;
	}
	.line2 { margin-left: 180px;}
	/* 区切りの斜線 */
	.slider_msg h1::after {
		width: 130px;      /* 線の長さ */
		top: 2.5em;
		left: 4.3em;
	}
	.slider_msg p.slider_text{font-size:15px;}
	.sliderwp{width: 80%;}
	.sliderwp2{	width:50%; margin-top:80px; padding-right:0; }
	.sliderwp .fadeslider li{ height: 400px; }
	.sliderwp2 .fadeslider li{ height: 250px; }
}
/* TOPページ　イベント情報
================================================== */
.top_event{
	max-width:950px;
	display:flex;
	align-items: flex-start;
	color:#fff;
	margin-left:auto;
	margin-right:5%;
	padding-bottom:25px;
}
.tpev_title{
	width:200px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
}
.tpev_title h2{ font-size:20px; font-weight:500; margin-bottom:0.5em}
.tpev_list{
	flex:1;
	min-width:0;
	overflow:hidden;
}
p.tpev_listcat span{
	font-size:13px;
	padding:0.3em 0.7em;
	border:1px solid #fff;
}
p.tpev_listtl span.day{ margin-right:15px; }
/* slickの高さ崩れ防止 */
ul.event-slider{ margin:0; padding:0 10px 10px; height:78px; border-bottom:1px solid #a47474; }
ul.event-slider .slick-list,
ul.event-slider .slick-track{ height:78px; }
ul.event-slider li a{ opacity:0; color:#fff; }
ul.event-slider li a:hover{ color:#eee; }
.slick-dotted.slick-slider{margin-bottom:10px}
/* アニメーション */
.event-slider .slick-slide a{ opacity:0;}
.event-slider .slick-active a{ animation:eventFadeUp .6s ease forwards;}

@keyframes eventFadeUp{
  from{ opacity:0; transform:translateY(25px); }
  to{ opacity:1; transform:translateY(0); }
}
/* ドット */
.tpev-dots .slick-dots{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0;
  padding:0;
  position:static;
  list-style:none;
}
.tpev-dots .slick-dots li{
  width:8px;
  height:8px;
  margin:0;
}
/* slick標準をリセット */
.tpev-dots .slick-dots li button{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  outline:none;
  font-size:0;
}
.tpev-dots .slick-dots li button:before{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(255,255,255,.3);
  opacity:1;
  position:static;
}
.tpev-dots .slick-dots li.slick-active button:before{ background:#fff;}

/* リンク */
.tpev_loglink{text-align:right;}
.tpev_loglink a{
	background : url("images/arrow_c_gray.png") no-repeat right 0.6em center;
	background-size: 23px auto;
	font-size:14px;
	padding: 5px 45px 5px 0;
	color:#fff;
	transition: 0.4s ease;
}
.tpev_loglink a:hover{
	background : url("images/arrow_c_gray.png") no-repeat right 0.3em center;
	background-size: 23px auto;
}
/* TOPページ　流れる企業ロゴ
================================================== */
.top_logo_slider {
	width: 100%;
	background:#fff;
	padding:50px;
	overflow: hidden;
}
.logo-track {
	display: flex;
	width: max-content;
	animation: logoloop 60s linear infinite;
}
.logo-track img {
	flex-shrink: 0;
	height:30px;
	width:auto;
	margin-right:60px;
}
@keyframes logoloop {
	to { transform: translateX(-50%); }
}
/* TOPページ　アドバイザー
================================================== */
.top_adviser_wp{
	width:85%;
	max-width:1550px;
	margin-left:auto;
	margin-top:50px;
	background: linear-gradient(to bottom, #e3e3e3 60%, #fff 60%);
	position:relative;
	padding:40px 0;
}
.adv_title{
	position:absolute;
	top:100px;
	left:-130px;
	text-align:center;
}
.adv_title h2{
	font-weight:600;
	font-size:30px;
	color:#c01d25;
	margin-bottom:1.3em;
}
.adv_list{width:95%; padding-left:150px; margin-top:25px;}
ul.adv-slider{
	margin:0;
	padding-left:50px;
}
ul.adv-slider .slick-slide{
	padding:0 25px;
	box-sizing:border-box;
}
ul.adv-slider li img{border-radius:10px}
.adv_namebox{
	position:relative;
	padding:20px;
	text-align:center;
}
.adv_no{
	position:absolute;
	top:-40px;
	left:-25px;
	width:65px;
	height:65px;
	border-radius:50%;
	background:#c01d25;
	display:flex;
	align-items:center;
	justify-content:center;
	color:#fff;
}
.adv_no p{
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1.5;
}
.adv_no .en{
  display:block;
  font-size:9px;
  font-weight:400;	
}
.adv_no .num{
  display:block;
  font-size:20px;
  line-height:1;
  font-weight:400;
}
.adv_namebox p.ps_title{font-size:14px; line-height:1.2}
.adv_namebox p.ps_name{font-size:18px; letter-spacing:0.1em}
.adv_namebox p.ps_name span{font-size:14px; margin-left:0.3em}
.adv_head{
  margin-right:10%;
  display:flex;
  justify-content:flex-end;
}
.adv_arrows{
  display:flex;
  gap:35px;
}
.adv-prev,
.adv-next{
  padding:0;
  border:none;
  background:none;
  cursor:pointer;
}
.adv-prev img,
.adv-next img{
  display:block;
  width:40px;
  height:auto;
}
/* TOPページ　大経連とは～私たちの活動
================================================== */
.top_about_wp{
	width:100%;
	margin:100px auto 50px;
	display:flex;
	align-items: center;
	gap:100px;
}
.top_about_img{	flex:0 0 50%;}
.top_about_img img{
	width: 100%;
	height: 480px;
	object-fit: cover;
	border-radius:0 40px 40px 0;
}
.top_about_text{
	flex:1;
	max-width:430px;
	min-width:0;
}
p.sub_tl{font-size:14px; color:#c01d25; margin-bottom:0.8em}
h2.main_tl{font-size:36px; font-weight:600; line-height:1.6em}
.inner_text{width:100%; margin:35px 0}
.inner_text p{margin-bottom:1.5em}
.top_element_wp{
	width:100%;
	background: linear-gradient(to bottom, #fff 30%, #f3f3f3 30%);
	padding-bottom:130px;
}
.top_contents{
	width:87%;
	max-width:1250px;
	margin:0 auto;
}
.element_tl{width:55%; padding-left:50px; padding-top:50px}
.element_img{width:40%; padding-right:5%}
.element_detail{
	width:100%;
	margin:30px auto;
	display:flex;
	justify-content: space-between;	
}
.detail_inner{
	width:32%;
	background:#fff;
	padding:60px 30px 25px;
	border-radius:10px;
	position:relative;
	text-align:center;
}
.detail_inner img{
	width:65px;
	height:auto;
	position:absolute;
	top:-20px;
	left: 0;
	right: 0;
	margin: auto;
}
.detail_inner h3{font-size:20px; font-weight:700; margin-bottom:0.7em}
.detail_inner p{text-align:left; line-height:1.6em; margin-bottom:0.5em}
.detail_inner p span{
	background:#eee;
	padding:0.4em 0.8em;
	border-radius:15px;
	margin-right:0.7em;
	font-weight:600;
}
.fellow_wp{
	width:100%;
	max-width:1400px;
	min-height:630px;
	margin:0 auto;
	background: url("images/top/about_bkimg.jpg") no-repeat right bottom;
	background-size: auto 100%;
	display:flex;
	align-items: center;
}
.fellow_text{ flex:0 0 55%; padding-left:10%; color:#fff;}
.fellow_text p.sub_tl{color:#eee;}
.fellow_slider{
	flex:1;
	min-width:0;
	height:630px;
	overflow:hidden;
	position:relative;
}
.fellow_slider_track{
	width:100%;
	max-width:300px;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	animation:fellow 30s linear infinite;
}
.fellow_img{ margin-bottom:20px; }
.fellow_img img{
	width:100%;
	height:auto;
	display:block;
	border-radius:10px;
}
@keyframes fellow{
  from{ transform:translateY(0); }
  to{ transform:translateY(-50%); }
}
/* TOPページ　会員の声
================================================== */
.top_voice_tl{
	width:87%;
	margin:0 auto 30px;
	padding-top:130px;
	text-align:center;
}
h2.top_title{font-size:30px; font-weight:600; margin-bottom:0.3em}
p.top_en_title{font-size:14px; letter-spacing:0.05em}
.top_voice_wp{
	width:87%;
	margin:0 auto;
	padding-bottom:100px;
}
ul.voice-slider{padding:0; margin:30px auto 50px;}
ul.voice-slider .slick-track{display:flex;}
ul.voice-slider .slick-list{ margin:0 -30px;}
ul.voice-slider .slick-slide{
	height:auto!important;
	margin:0 30px;
	box-sizing:border-box;
}
ul.voice-slider li{
	background:#fff;
	border-radius:10px;
	padding:20px 25px 30px 90px;
	position:relative;
}
ul.voice-slider li img.voice_img{
	width:100px;
	height:100px;
	border-radius:50%;
	position:absolute;
	top:50px;
	left:-30px;
}
.voice_no{padding:0 0.3em 0.5em;}
.voice_no p{color:#c01d25}
.voice_no p span.en{font-size:15px;}
.voice_no p span.num{font-size:20px; margin-left:0.3em}
.voice_inner h3{
	font-size:16px;
	font-weight:600;
	line-height:1.6em;
	padding:0 0.3em;
}
.voice_name{
	margin-top:1.2em;
	padding:1em 0.5em 0;
	border-top:1px dotted #c01d25;
}
.voice_name p.company_name{font-size:13px; line-height:1.4em}
.voice_name p.name{font-size:15px; font-weight:600;}
.voice_name p.name span.name_tl{font-size:14px; font-weight:400; margin-right:1em}
.voice_name p.name span.hono{font-size:14px; margin-left:0.3em}
.voice_arrows{
	width:200px;
	margin:0 auto;
	display:flex;
	justify-content:center;
	align-items:center;
	gap:10px 35px;
}
.voice-prev,
.voice-next{
	padding:0;
	border:none;
	background:none;
	cursor:pointer;
}
.voice-prev img,
.voice-next img{
	display:block;
	width:40px;
	height:auto;
}
/* TOPページ　関わり方～会員について
================================================== */
.involve_wp{
	width:87%;
	max-width:1200px;
	margin:70px auto 40px;
	display:flex;
	align-items:flex-end;
	gap:30px;
}
.involve_title{	flex:0 0 400px;}
.involve_text{flex:1; min-width:0;}
.member_wp{
	width:87%;
	max-width:1250px;
	margin:130px auto 40px;
	border:3px solid #c01d25;
	border-radius:20px;
	position:relative;
	padding:70px 20px 60px;
}
.member_wp img.illust_01{
	width:55px;
	height:auto;
	position:absolute;
	bottom:20px;
	left:-25px;
}
.member_wp img.illust_02{
	width:60px;
	height:auto;
	position:absolute;
	top:40px;
	right:-15px;
}
.member_wp img.illust_03{
	width:100px;
	height:auto;
	position:absolute;
	bottom:-50px;
	right:28%;
}
.member_title{
	width:300px;
	position:absolute;
	top:-40px;
	left:0;
	right:0;
	margin:auto;
	background:#fff;
	padding:10px;
	text-align:center;
}
ul.member_list{
	width:100%;
	display:flex;
}
ul.member_list li{
	flex: 1;
	padding:15px 30px 25px;
	border-right:1px solid #c01d25;
	text-align:center;
}
ul.member_list li:last-child{border-right:none;}
ul.member_list img{width:70px; height:auto; margin-bottom:0.7em}
ul.member_list h3{
	font-size:23px;
	font-weight:700;
	letter-spacing:0.07em;
	margin-bottom:0.3em;
}
.member_price{
	margin-top:0.5em;
	padding-top:0.5em;
}
ul.member_list li.member_01{color:#a47e29}
ul.member_list li.member_02{color:#253773}
ul.member_list li.member_03{color: #c01d25}
ul.member_list li.member_01 .member_price{border-top:1px dotted #a47e29;}
ul.member_list li.member_02 .member_price{border-top:1px dotted #253773;}
ul.member_list li.member_03 .member_price{border-top:1px dotted #c01d25;}
.member_price span.fee{letter-spacing:0.08em}
.member_price span.price{font-size:18px;}

/* TOPページ　お知らせ
================================================== */
.top_news_contents{
	width:87%;
	max-width:1200px;
	margin:0 auto;
	padding:80px 0;
}
.top_news_wp{
	width:100%;
	padding:70px 0;
	display:flex;
	justify-content: space-between;
}
.top_news_tl{width:300px;}
.top_news_list{width:calc(100% - 350px);}
.top_news_tl h3{
	font-size:23px;
	font-weight: 600;
}
.top_news_tl p.entl_s{
	font-size:14px;
	color:#c01d25;
	letter-spacing:0.05em;
}
.top_news_btn{margin-top:20px}
.top_news_btn a{
	background : url("images/arrow_c_red.png") #fff no-repeat right 23px center;
	background-size: 28px auto;
	border:1px solid #c01d25;
	font-size:14px;
	color:#c01d25;
	padding:1em 4.5em 1em 2em;
	border-radius:50px;
}
.top_news_btn a:hover{
	background : url("images/arrow_c_wht.png") #c01d25 no-repeat right 20px center;
	background-size: 28px auto;
	color:#fff;
}
.event_flex{
	display: flex;
	gap: 5%;
}
.top_event_post{width: 30%;}
.top_event_post img{
	width:100%;
	height:auto;
	border-radius:5px;
	margin-bottom:0.7em;
}
p.news_meta span.news_date{
	font-size:15px;
	font-weight:400;
	letter-spacing:0;
	padding:0.6em 0;
	color:#c01d25;
}
p.news_meta span.news_cat{
	font-size:10px;
	font-weight:400;
	padding:0.6em 1.3em;
	border:1px solid #999;
	border-radius:3px;
	margin-left:15px;
	color:#666;
}
.top_event_post p.news_title{font-size:14px; line-height:1.7em; margin-top:0.5em}
ul.event_post{ border-top: 1px dotted #999;}
ul.event_post li{
  padding: 30px 0;
  border-bottom: 1px dotted #999;	
}
ul.event_post li h3.event_title{font-size:15px; font-weight:600; margin-bottom:0.5em}
ul.event_post li p.event_excerpt{font-size:14px; line-height:1.7em; color:#666}

/* フッター
================================================== */
.ft_faq_wp{
	background: url("images/footer/faq_back_pc.jpg") no-repeat center center;
	background-size:cover;
	padding:80px 50px;
	text-align:center;
}
.ft_faq_wp img.faq_link{
	width:75%;
	max-width:650px;
	height:auto;
	display:block;
	margin:20px auto;
	transform: translateX(-3%);
}
.contact_wp{
	width:100%;
	background: url("images/footer/circle_img.png") left center / 30% auto no-repeat, linear-gradient( to right, #c01d25 80%, #a12020 80%);
	padding:70px 0;
}
.contact_flex{
	width:87%;
	max-width:1100px;
	margin:0 auto;
	display:flex;
    justify-content: space-between;
}
.contact_text{
	width:calc(100% - 550px);
	padding-top:90px;
	position:relative;
	color:#fff;
}
h2.main_tl_m {
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 0.3em;
}
.contact_text img.free_bubble{
	width:80px;
	height:auto;
	position:absolute;
	top:0;
	left:-15px;
}
.contact_text h3{
	font-size:28px;
	font-weight:500;
	margin-bottom:0.7em;
	padding:0 0.5em 0.5em;
	border-bottom:1px solid #fff;
}
.contact_text p{padding:0 0.5em;}
.contact_link{width:500px;}
.link_btn{margin-bottom:20px}
.consultation-btn {
	display: flex;
	width: 100%;
	max-width: 500px;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}
.btn-image {
	width: 140px;
	flex-shrink: 0;
}
.btn-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.btn-contact {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 30px 55px 25px 50px;
	background : url("images/arrow_c_red.png") #fff no-repeat right 30px center;
	background-size: 40px auto;
	transition: .4s ease;
}
.consultation-btn:hover .btn-contact {
	background : url("images/arrow_c_red.png") #eee no-repeat right 25px center;
	background-size: 40px auto;
}
.btn-join {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 30px 55px 25px 50px;
	background : url("images/arrow_c_bk.png") #fff no-repeat right 30px center;
	background-size: 40px auto;
	transition: .4s ease;
}
.consultation-btn:hover .btn-join {
	background : url("images/arrow_c_bk.png") #eee no-repeat right 25px center;
	background-size: 40px auto;
	color:#333;
}
.btn-text p.jp {font-size: 18px; font-weight: 700;}
.btn-text p.en {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color:#999;
}
.footer_wp{
	width:87%;
	max-width:1200px;
	margin:0 auto;
	padding:70px 0 50px;
	text-align:center;
}
.footer_wp img.ft_logo{
	width:75%;
	max-width:270px;
	height:auto;
}
ul.ft_sns_list{
	width:80%;
	max-width:220px;
	margin:40px auto 30px;
	display:flex;
	gap:40px;
}
ul.ft_sns_list li{flex:1;}
ul.ft_menu,
/* ul.ft_submenu{display: flex; justify-content:center} */
ul.ft_menu li,
ul.ft_submenu li{
  position: relative;
  padding-right: 1.4em;
  margin-right: 1.4em;
}
ul.ft_menu li:last-child,
ul.ft_submenu li:last-child{
  padding-right: 0;
  margin-right: 0;	
}
ul.ft_menu li::after,
ul.ft_submenu li::after{
  content: "｜";
  position: absolute;
  right: -0.7em;
  top: 50%;
  transform: translateY(-50%);
}
ul.ft_menu li:last-child::after,
ul.ft_submenu li:last-child::after{ content: none;}
.ft_banner {
	width: 80%;
	max-width: 300px;
	margin: 40px auto 30px;
	display: flex;
	gap: 30px;
}

.ft_banner img {
	border-radius: 5px;
}

.ft_banner img.at1 {
	border: 1px solid #ddd;
}

.ft_banner_link {
	flex: 1;
	display: block;
}
.ft_login a{
	padding:1em 2em 1em 4em;
	background : url("images/footer/login_red.png") #fff no-repeat left 2em center;
	background-size: 15px auto;
	font-size:14px;
	border-radius:50px;
	border:1px solid #c01d25;
	color:#c01d25;
	transition: 0.4s ease;
}
.ft_login a:hover{
	background : url("images/footer/login_wt.png") #c01d25 no-repeat left 2em center;
	background-size: 15px auto;
	color:#fff;
}
.footer_end{
	background:#c01d25;
	padding:25px 0 35px;
	text-align:center;
}
.footer_end ul.ft_submenu li,
.footer_end ul.ft_submenu li a{color:#fff;}
.footer_end ul.ft_submenu li a:hover{color:#ccc}
.footer_end p.copy{
	margin-top:1em;
	font-size:12px;
	color:#fff;
	letter-spacing:0.07em;
	font-weight:400;
}

/*　clearfix */
.clearfix:after{
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix{
  min-height: 1px;
}

* html .clearfix{
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* 202607 ヘッダー スクロール制御 */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  transition:
    transform 0.35s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease !important;
}

/* 下スクロール時にヘッダーを隠す */
.site-header.hide {
  transform: translateY(-100%) !important;
}

/* スクロール後の白背景 */
.site-header.scrolled {
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08) !important;
}

/* メニュー開いている時は隠さない */
.site-header.menu-open {
  transform: translateY(0) !important;
}

/* ==================================================
   フッター：1200px以下
================================================== */

@media screen and (max-width: 1200px) {

	.contact_link {
		width: 450px;
	}

	.contact_text img.free_bubble {
		width: 70px;
	}

	.contact_text h3 {
		font-size: 24px;
	}
}


/* ==================================================
   フッター：980px以下
================================================== */

@media screen and (max-width: 980px) {

	.contact_link {
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
	}

	.contact_flex {
		width: 87%;
		display: block;
		text-align: center;
	}

	.contact_text {
		width: 100%;
		padding-top: 65px;
		margin-bottom: 25px;
	}

	.contact_text img.free_bubble {
		left: 20%;
		top: -13px;
	}
	ul.ft_menu li{margin-right:0;}
	ul.ft_submenu{ justify-content:space-between;}
	.ft_banner{        width: 100%;
        max-width: 500px;
        margin: 20px auto 20px;
        display: flex;
        gap: 10px 15px;}
}





/*2607　追加*/
@charset "UTF-8";

/*
Theme Name: daikeiren
Author: やまと経営者連盟
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..700&family=Roboto:wght@400..700&display=swap');
/* リセット
================================================== */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0;}
ul, ol{ margin: 0; padding: 0; list-style: none;}
input, button, textarea, select { font: inherit; }
a:focus, *:focus {  outline:none; }

/* 共通
================================================== */
a:link{ color: #000; text-decoration: none; }
a:visited{ color: #000; text-decoration: none; }
a:active{ color: #000; text-decoration: none; }
a:hover{ color: #c01d25; text-decoration: none; }
a img:hover{ filter: alpha(opacity=85);-moz-opacity:0.85;opacity:0.85; }

.pc_no, .pcm_no{ display:none;}
@media screen and (max-width: 1200px) { .pcm_br{ display:none; } }

/* 画像
================================================== */
img{ border:none; vertical-align:top; }
img a, a {
  -webkit-transition: .4s;
  transition: .4s;	
  outline: none;
}
img.w100{ width:100%; height:auto; }

/* フォント・見出し
================================================== */
.fw_500{font-weight: 500}
.fw_700{font-weight: 600}
.fw_700{font-weight: 700}

.fc_white{color:#fff}
.fc_gray{color:#999}
.fc_lgray{color:#ccc}
.fc_red{color:#c01d25}

.ls01{letter-spacing: 0.1em;}
.ls03{letter-spacing: 0.3em;}
.ls05{letter-spacing: 0.5em;}

h2.main_tl_xl{font-size:36px; font-weight:600; line-height:1.6em}
h2.main_tl_l{ font-size:32px; font-weight:600; line-height:1.7em; margin-bottom:0.3em}
h2.main_tl_m{font-size:30px; font-weight:600; margin-bottom:0.3em}
h2.main_tl_s{ font-size:28px; font-weight:600; margin-bottom:0.3em}

p.sub_tl{font-size:14px; color:#c01d25; margin-bottom:0.8em}
p.en_title{font-size:14px; font-weight:400; letter-spacing:0.05em}

@media screen and (max-width: 767px) {
	h2.main_tl_xl{font-size:24px;}
	h2.main_tl_l{font-size:24px;}
	h2.main_tl_m,
	h2.main_tl_s{font-size:20px;}
	
	p.sub_tl{margin-bottom:0}		
	p.en_title{font-size:13px; line-height:1.3}		
}

/* 全体
================================================== */
body {
	font-family: "Roboto", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  	font-weight: 500;
	color: #000;
	font-size: 15px;
	line-height: 2.2em;
	letter-spacing: 0.03em;
	-webkit-text-size-adjust: none;
	padding-top:130px;
}
body.menu-open{ overflow:hidden; }
html, body{ overflow-x:hidden; }

/* レイアウト
================================================== */
.fl_right{float: right;}
.fl_left{float: left;}

.flex_wp,
.flex_wp_sp,
.flex_wp_spmd{
	display:flex;
	justify-content: space-between;
}
.flex_center{align-items: center;}
.flex_end{align-items: flex-end;}
.flex_wrp{flex-wrap: wrap;}

.txt_center, .w-txt_center{text-align:center;}
.txt_left{text-align:left!important;}
.txt_right{text-align:right}
.ps_rel{position: relative}
.ps_abs{position: absolute}
.clear{clear: both;}

/* margin、padding
================================================== */
.mt15{margin-top:15px}
.mt20{margin-top:20px}
.mt30{margin-top:30px}
.mt50{margin-top:50px}
.mt70{margin-top:70px}

.mb15{margin-bottom:15px}
.mb20{margin-bottom:20px}
.mb30{margin-bottom:30px}
.mb70{margin-bottom:70px}

.pt20{padding-top:20px}
.pt50{padding-top:50px}
.pt70{padding-top:70px}
.pt100{padding-top:100px}

.pb20{padding-bottom:20px}
.pb50{padding-bottom:50px}
.pb70{padding-bottom:70px}
.pb100{padding-bottom:100px}

/* 背景
================================================== */
.bk_red{width:100%; background:#c01d25;}
.bk_gray{width:100%; background:#e3e3e3}

/* リンクボタン
================================================== */
.linkbtn_wp { width:100%; padding:25px 0; }
.linkbtn_right { width:100%; margin:25px auto 0; text-align:right; }

/* 赤背景ボタン */
a.red_btn{
	padding:1.3em 4.5em 1.3em 2.2em;
	background : url("images/arrow_wht.png") #c01d25 no-repeat right 2em center;
	background-size: 15px auto;
	font-size:15px;
	border-radius:50px;
	color:#fff;
	transition: 0.4s ease;
}
a.red_btn:hover{
	background : url("images/arrow_wht.png") #b5262d no-repeat right 1.8em center;
	background-size: 15px auto;
}
a.red_btn_l{
	padding:1.5em 5.3em 1.5em 3.5em;
	background : url("images/arrow_wht.png") #c01d25 no-repeat right 2.5em center;
	background-size: 20px auto;
	font-size:17px;
	border-radius:50px;
	color:#fff;
	transition: 0.4s ease;
}
a.red_btn_l:hover{
	background : url("images/arrow_wht.png") #b5262d no-repeat right 2.2em center;
	background-size: 20px auto;
}
a.red_btn span,
a.red_btn_l span{padding-right:1.3em; border-right:1px solid #fff}

/* 白背景＋赤ラインボタン */
a.wt_btn,
a.wtg_btn{
	padding:1.3em 4.5em 1.3em 2.2em;
	background : url("images/arrow_red.png") #fff no-repeat right 2em center;
	background-size: 15px auto;
	font-size:15px;
	font-weight:600;
	border-radius:50px;
	border:1px solid #c01d25;
	color:#c01d25;
	transition: 0.4s ease;
}
a.wt_btn:hover{
	background : url("images/arrow_wht.png") #c01d25 no-repeat right 1.8em center;
	background-size: 15px auto;
	color:#fff;
}
a.wtg_btn:hover{
	background : url("images/arrow_red.png") #ccc no-repeat right 1.8em center;
	background-size: 15px auto;
}
a.wt_btn span,
a.wtg_btn span{padding-right:1.3em; border-right:1px solid #c01d25}
a.wt_btn:hover span{border-right:1px solid #fff}

/* ヘッダー
================================================== */
.site-header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index:1000;
	padding:20px 0 10px;
    transition: background-color .3s ease, box-shadow .3s ease, transform .3s ease;
}
.site-header.scrolled{
    background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,.08);
	z-index:1800;
}
.site-header.hide{ transform:translateY(-100%); }
.header-inner {
    width: 87%;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
@media screen and (max-width: 1400px) {.header-inner {width: 90%;}}
@media screen and (max-width: 1300px) {.header-inner {width: 93%;}}
.globalnav-wp{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}
.site-logo{ flex-shrink:0; padding-bottom:10px}
.site-logo img{
    display:block;
    width:clamp(180px, 22vw, 250px);
    height:auto;
}
.header-buttons ul{
    display:flex;
    gap:15px;
	margin-bottom:3px;
}
.header-buttons ul li{
    display:inline-flex;
    align-items:center;
    justify-content:center;	
}
a.btn-login{
    padding:2px 25px;
    border-radius:30px;
    font-size:13px;
	border:1px solid #999;
    color:#333;
	transition: .4s ease;
}
a.btn-login:hover{
	background:#333;
	color:#fff;
}
a.btn-contact{
	background : url("images/consul_icon.png") #c01d25 no-repeat left 20px center;
	background-size: 23px auto;
    padding:5px 25px 5px 55px;
    border-radius:30px;
    font-size:15px;
	color:#fff;
	transition: .4s ease;
}
a.btn-contact:hover{
	background : url("images/consul_icon.png") #b01c22 no-repeat left 20px center;
	background-size: 23px auto;
}
/*  PC用ナビメニュー  */
ul.nav-list {
    display: flex;
    gap: 40px;
		background:#fff;
	padding:8px 20px;
	border-radius:30px;
}
ul.nav-list li a {
    color: #000;
	font-size:16px;
	letter-spacing:0.07em;
    font-weight: 600;
	transition: .4s ease;
}
ul.nav-list li a:hover{color:#c01d25}
/*  Hamburger  */
.hamburger {
    display:none;
    background:transparent;
    border:none;
    cursor:pointer;
    width:40px;
    height:45px;
    padding:0;
    position:relative;
    z-index:2000;
}
.menu-text {
    display:block;
    font-size:10px;
    letter-spacing:.1em;
    line-height:1;
    color:#c01d25;
    text-align:center;
    margin-bottom:7px;
}
.hamburger-icon{
    position:relative;
    width:35px;
    height:25px;
}
.hamburger-icon span{
    display:block;
    position:absolute;
    left:0;
    width:35px;
    height:2px;
    background:#c01d25;
    transition:.4s ease;
}
.hamburger-icon span:nth-child(1){ top:0; }
.hamburger-icon span:nth-child(2){ top:10px; }
.hamburger-icon span:nth-child(3){ top:20px; }

/*  閉じる アニメーション */
.hamburger.active{
    position:relative;
    z-index:100001;
}
.hamburger.active .hamburger-icon span:nth-child(1){
    top:10px;
    transform:rotate(135deg);
}
.hamburger.active .hamburger-icon span:nth-child(2){
    width:0;
    left:50%;
}
.hamburger.active .hamburger-icon span:nth-child(3){
    top:10px;
    transform:rotate(-135deg);
}
/* SPボタンはPC非表示 */
.sp-buttons{ display:none;}

/*  980px以下ナビメニュー  */
@media screen and (max-width: 980px) {
	body { padding-top:90px; }
	.site-header.menu-open{ z-index:3000; }
	.site-logo{ padding-bottom:0; }
	.globalnav-wp{ display:block; }
	.header-buttons{ display:none; }
    .hamburger {
        display:flex;
        flex-direction:column;
        align-items:center;
        justify-content:center;
    }
    .global-nav {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
		height:100vh;
        background: #fff;
        transform: translateX(100%);
        transition: .4s ease;
        overflow-y: auto;
		 z-index:2000;
    }
    .global-nav.active { transform: translateX(0); }
     .global-nav ul.nav-list{
		width:90%;
		margin:0 auto;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:0;
        padding-top:80px;
    }
    .global-nav ul.nav-list li {
        width: 100%;
        text-align: left;
    }
    .global-nav ul.nav-list a {
        display: block;
        padding: 15px;
        border-bottom: 1px solid #eee;
    }
	/* SP用ボタン表示 */
	.sp-buttons{display:block;}
    .sp-buttons ul{
		width:90%;
		max-width:350px;
		margin:30px auto 50px;
        display:flex;
        justify-content: space-between;
		flex-wrap: wrap;
    }
	.sp-buttons ul li.half{width:48%; margin-bottom:15px}
	.sp-buttons ul li.full{width:100%}
    .sp-buttons a{
		display:block;
        text-align:center;
    }
	a.btn-login{
		padding:10px 20px;
		border-radius:50px;
		font-size:14px;
		border:none;
		color:#fff;
		background:#333;
	}
	a.btn-login:hover{background:#000;}
	a.btn-contact{
		background : url("images/consul_icon.png") #c01d25 no-repeat left 80px center;
		background-size: 30px auto;
		padding:13px 0 13px 30px;
		border-radius:50px;
	}
	a.btn-contact:hover{
		background : url("images/consul_icon.png") #b01c22 no-repeat left 80px center;
		background-size: 30px auto;
	}
}

/* フッター
================================================== */
.ft_faq_wp{
	background: url("images/footer/faq_back_pc.jpg") no-repeat center center;
	background-size:cover;
	padding:80px 50px;
	text-align:center;
}
.ft_faq_wp img.faq_link{
	width:75%;
	max-width:650px;
	height:auto;
	display:block;
	margin:20px auto;
	transform: translateX(-3%);
}
.contact_wp{
	width:100%;
	background: url("images/footer/circle_img.png") left center / 30% auto no-repeat, linear-gradient( to right, #c01d25 80%, #a12020 80%);
	padding:70px 0;
}
.contact_flex{
	width:87%;
	max-width:1100px;
	margin:0 auto;
	display:flex;
    justify-content: space-between;
}
.contact_text{
	width:calc(100% - 550px);
	padding-top:90px;
	position:relative;
	color:#fff;
}
.contact_text img.free_bubble{
	width:80px;
	height:auto;
	position:absolute;
	top:0;
	left:-15px;
}
.contact_text h3{
	font-size:28px;
	font-weight:500;
	margin-bottom:0.7em;
	padding:0 0.5em 0.5em;
	border-bottom:1px solid #fff;
}
.contact_text p{padding:0 0.5em;}
.contact_link{width:500px;}
.link_btn{margin-bottom:20px}
.consultation-btn {
	display: flex;
	width: 100%;
	max-width: 500px;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}
.btn-image {
	width: 140px;
	flex-shrink: 0;
}
.btn-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.btn-contact {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 30px 55px 25px 50px;
	background : url("images/arrow_c_red.png") #fff no-repeat right 30px center;
	background-size: 40px auto;
	transition: .4s ease;
}
.consultation-btn:hover .btn-contact {
	background : url("images/arrow_c_red.png") #eee no-repeat right 25px center;
	background-size: 40px auto;
}
.btn-join {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 30px 55px 25px 50px;
	background : url("images/arrow_c_bk.png") #fff no-repeat right 30px center;
	background-size: 40px auto;
	transition: .4s ease;
}
.consultation-btn:hover .btn-join {
	background : url("images/arrow_c_bk.png") #eee no-repeat right 25px center;
	background-size: 40px auto;
	color:#333;
}
.btn-text p.jp {font-size: 18px; font-weight: 700;}
.btn-text p.en {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.05em;
	color:#999;
}
@media screen and (max-width: 1200px) {
	.contact_link{width:450px;}
	.contact_text img.free_bubble{width:70px;}
	.contact_text h3{font-size:24px;}
}
@media screen and (max-width: 980px) {
	.contact_link{
		width:100%;
		max-width:500px;
		margin:0 auto;
	}
	.contact_flex{
		width:87%;
		display:block;
		text-align:center;
	}
	.contact_text{
		width:100%;
		padding-top:65px;
		margin-bottom:25px
	}
	.contact_text img.free_bubble{left:20%; top:-13px;}
}
.footer_wp{
	width:87%;
	max-width:1200px;
	margin:0 auto;
	padding:70px 0 50px;
	text-align:center;
}
.footer_wp img.ft_logo{
	width:75%;
	max-width:270px;
	height:auto;
}
ul.ft_sns_list{
	width:80%;
	max-width:220px;
	margin:40px auto 30px;
	display:flex;
	gap:40px;
}
ul.ft_sns_list li{flex:1;}
ul.ft_menu,
ul.ft_submenu{display: flex; justify-content:center}
ul.ft_menu li,
ul.ft_submenu li{
  position: relative;
  padding-right: 1.4em;
  margin-right: 1.4em;
}
ul.ft_menu li:last-child,
ul.ft_submenu li:last-child{
  padding-right: 0;
  margin-right: 0;	
}
ul.ft_menu li::after,
ul.ft_submenu li::after{
  content: "｜";
  position: absolute;
  right: -0.7em;
  top: 50%;
  transform: translateY(-50%);
}
ul.ft_menu li:last-child::after,
ul.ft_submenu li:last-child::after{ content: none;}
.ft_banner{
	width:80%;
	max-width:300px;
	margin:40px auto 30px;
	display: flex;
	gap:30px;
}
.ft_banner img{border-radius:5px;}
.ft_banner img.at1{border:1px solid #dddddd;}
.ft_banner_link{flex: 1; display: block;}
.ft_login a{
	padding:1em 2em 1em 4em;
	background : url("images/footer/login_red.png") #fff no-repeat left 2em center;
	background-size: 15px auto;
	font-size:14px;
	border-radius:50px;
	border:1px solid #c01d25;
	color:#c01d25;
	transition: 0.4s ease;
}
.ft_login a:hover{
	background : url("images/footer/login_wt.png") #c01d25 no-repeat left 2em center;
	background-size: 15px auto;
	color:#fff;
}
.footer_end{
	background:#c01d25;
	padding:25px 0 35px;
	text-align:center;
}
.footer_end ul.ft_submenu li,
.footer_end ul.ft_submenu li a{color:#fff;}
.footer_end ul.ft_submenu li a:hover{color:#ccc}
.footer_end p.copy{
	margin-top:1em;
	font-size:12px;
	color:#fff;
	letter-spacing:0.07em;
	font-weight:400;
}

/*　clearfix */
.clearfix:after{
  content: " ";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix{
  min-height: 1px;
}
* html .clearfix{
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* ▼ スマホ(767px以下)の場合 */ 
@media screen and (max-width: 767px) {
	/* 共通 */
	.pc_no, .pcm_br{display:block !important;}
	.sp_no{display:none !important;}
	
	/* レイアウト */
	.fl_right, .fl_left{float: none;}
	.flex_wp{display:block;}
	.flex_wrp_sp{flex-wrap: wrap;}

	@media screen and (max-width: 459px) {
		.flex_wp_spmd{display:block;}
	}
	.txt_center{text-align:left;}
	.sp_center{text-align:center;}
	
	/* SP用　margin、padding */
	.mt15, .mt20, .mt30, .mt50, .mt70{margin-top:0}
	.mb15, .mb20, .mb30, .mb70{margin-bottom:0}
	.pt20, .pt50, .pt70, .pt100{padding-top:0}
	.pb20, .pb50, .pb70, .pb100{padding-bottom:0}

	.spmt15{margin-top:15px}
	.spmt20{margin-top:20px}
	.spmt30{margin-top:30px}
	.spmt40{margin-top:40px}

	.spmb20{margin-bottom:20px}
	.spmb30{margin-bottom:30px}
	.spmb40{margin-bottom:40px}

	.sppt15{padding-top:15px}
	.sppt30{padding-top:30px}
	.sppt50{padding-top:50px}
	.sppt70{padding-top:70px}

	.sppb10{padding-bottom:10px}
	.sppb30{padding-bottom:30px}
	.sppb50{padding-bottom:50px}

	/* リンクボタン */
	.linkbtn_right{	margin:35px auto 0; text-align:center;}
	/* 赤背景ボタン */
	a.red_btn,
	a.red_btn_l{
		padding:1.2em 4em 1.2em 2em;
		background : url("images/arrow_wht.png") #c01d25 no-repeat right 1.7em center;
		background-size: 15px auto;
		font-size:15px;
		font-weight:500;
	}
	a.red_btn:hover,
	a.red_btn_l:hover{
		background : url("images/arrow_wht.png") #b5262d no-repeat right 1.7em center;
		background-size: 15px auto;
	}
	a.red_btn span,
	a.red_btn_l span{padding-right:1em; border-right:1px solid #fff}

	/* 白背景＋赤ラインボタン */
	a.wt_btn,
	a.wtg_btn{
		padding:1.2em 4em 1.2em 2em;
		background : url("images/arrow_red.png") #fff no-repeat right 1.7em center;
		background-size: 15px auto;
		font-size:15px;
		font-weight:500;
	}
	a.wt_btn:hover{
		background : url("images/arrow_wht.png") #c01d25 no-repeat right 1.7em center;
		background-size: 15px auto;
		color:#fff;
	}
	a.wtg_btn:hover{
		background : url("images/arrow_red.png") #ccc no-repeat right 1.7em center;
		background-size: 15px auto;
	}
	a.wt_btn span,
	a.wtg_btn span{padding-right:1em;}

	/* 全体 */
	body { font-weight: 400; line-height: 2.0em; }

	/* フッター */
	.ft_faq_wp{
		background: url("images/footer/faq_back_sp.jpg") no-repeat center center;
		background-size:cover;
		padding:50px 25px;
	}
	.ft_faq_wp img.faq_link{
		width:100%;
		max-width:500px;
		margin:10px auto;
		transform: translateX(-1%);
	}
	.contact_wp{
		background: url("images/footer/circle_img.png") left center / 60% auto no-repeat, linear-gradient( to right, #c01d25 80%, #a12020 80%);
		padding:20px 0 35px;
	}
	.contact_flex{ text-align:left;	}
	.contact_text img.free_bubble{
		width:60px;
		height:auto;
		position:absolute;
		top:0;
		left:-10px;
	}
	.contact_text h3{font-size:18px;}
	.contact_text p{font-size:14px; line-height:1.7em}
	.consultation-btn { max-width: 500px;}
	.btn-image { width: 100px;}

	.btn-contact {
		padding: 20px 45px 20px 25px;
		background : url("images/arrow_c_red.png") #fff no-repeat right 20px center;
		background-size: 25px auto;
	}
	.consultation-btn:hover .btn-contact {
		background : url("images/arrow_c_red.png") #eee no-repeat right 20px center;
		background-size: 25px auto;
	}
	.btn-join {
		padding: 20px 45px 20px 25px;
		background : url("images/arrow_c_bk.png") #fff no-repeat right 20px center;
		background-size: 25px auto;
	}
	.consultation-btn:hover .btn-join {
		background : url("images/arrow_c_bk.png") #eee no-repeat right 20px center;
		background-size: 25px auto;
	}
	.btn-text p.jp {font-size: 16px; font-weight:600; line-height:1.2; margin-bottom:0.5em}
	.btn-text p.en {
		font-size: 10px;
		font-weight: 400;
		line-height:1;
	}	
	.footer_wp{
		width:87%;
		padding:40px 0 30px;
	}
	.footer_wp img.ft_logo{
		width:60%;
		max-width:200px;
	}
	ul.ft_sns_list{
		width:100%;
		max-width:200px;
		margin:30px auto 30px;
		display:flex;
		gap:40px;
	}
	ul.ft_sns_list li{flex:1;}
	ul.ft_menu{
		max-width:250px;
		margin:0 auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		}
	ul.ft_menu li {
		display:block;
		width:50%;
	  padding:0;
	  margin-right:0;
		margin-bottom:0.5em;
		text-align:left;
		font-size:14px;
		padding-left:20px;
	}
	ul.ft_menu li::after {
	  content: none;
	}

	.ft_banner{
		width:100%;
		max-width:300px;/*202607 ns*/
		margin:20px auto 20px;
		display: flex;
		gap:10px 15px;
	}
	.ft_login a{
		padding:0.7em 2em 0.7em 4em;
	}
	.footer_end{
		padding:20px 0 35px;
	}
	.footer_end ul.ft_submenu li,
	.footer_end ul.ft_submenu li a{font-size:14px;}	
	.footer_end p.copy{
		font-size:11px;
		letter-spacing:0.03em;
	}

}

/*---------------270730 NS イベントバナー追加-----------------*/
@media screen and (min-width:768px){#fixed-banner {
  position: fixed!important;
  bottom: 20px!important;
  right: 0px!important;
  z-index: 9999!important;
  width: 200px!important; 
}}
@media screen and (max-width:767px){#fixed-banner {
	  position: fixed!important;
  bottom: 20px!important;
  right: 0px!important;
  z-index: 9999!important;
  width: 170px!important; 
opacity:1!important;
}
#fixed-banner :hover{
opacity:1!important;
}}

#fixed-banner a img{width: 100%; height: 100%;}
ul.voice-slider li img.voice_img img{width: 100%;height: 100%;}