@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%;}