@charset "UTF-8";

/*----------　タイトル背景画像（企業情報）　----------*/
.company-image {
	background-image: url(../images/company-view.jpg);
}

/*----------　タイトル背景画像（サービス）　----------*/
.service-image {
	background-image: url(../images/service-view.jpg);
}

/*----------　タイトル背景画像（リクルート）　----------*/
.recruit-image {
	background-image: url(../images/recruit-view.jpg);
}

/*----------　タイトル背景画像（第3階層）　----------*/
.belt-image {
	background-image: url(../images/belt-view.jpg);
}

/*----------　top-view2　----------*/
.top-view2 {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 200px 0;
	position: relative;
}

.top-view2::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
}

.top-copy2 {
	position: relative;
	width: auto;
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
	text-align: center;
}

.top-copy2 h1 {
	font-size: 50px;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #ffffff;
}

/*----------　top-view3　----------*/
.top-view3 {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 30px 0;
	position: relative;
}

.top-view3::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(10,63,192,0.8);
}

.top-copy3 {
	position: relative;
	width: auto;
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
	text-align: center;
}

.top-copy3 h1 {
	font-size: 30px;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #ffffff;
}

/*----------　パンくずリスト　----------*/
.breadcrumb-box {
	width: auto;
	max-width: 1040px;
	padding: 0 20px;
	margin: 20px auto;
	text-align: left;
}

.breadcrumb {
	color: #263238;
	font-size: 14px;
	font-weight: 300;
}

.breadcrumb a {
	color: #0A3FC0;
}

.breadcrumb a:visited {
	color: #0A3FC0;
}

/*----------　menu-box（メニュー）　----------*/
.menu-box {
	width: auto;
	max-width: 1040px;
	padding: 0 20px;
	margin: 50px auto 70px;
	text-align: center;
}

.menu-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

.menu-company {
	background-image: url(../images/menu-company.jpg);
}

.menu-philosophy {
	background-image: url(../images/menu-philosophy.jpg);
}

.menu-access {
	background-image: url(../images/menu-access.jpg);
}

.menu-ownedmedia {
	background-image: url(../images/menu-ownedmedia.jpg);
}

.menu-recruitmentsupport {
	background-image: url(../images/menu-recruitmentsupport.jpg);
}

.menu-recruitingmedia {
	background-image: url(../images/menu-recruitingmedia.jpg);
}

.menu-syoukai {
	background-image: url("../images/menu-syoukai.png");
}

.menu-creative {
	background-image: url(../images/menu-creative.jpg);
}

.menu-newgraduate {
	background-image: url(../images/menu-newgraduate.jpg);
}

.menu-midcareea {
	background-image: url(../images/menu-midcareea.jpg);
}

.menu-interview {
	background-image: url(../images/menu-interview.jpg);
}

.menu-item {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 280px;
	height: 200px;
	margin-right: 40px;
	position: relative;
}

.menu-item::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.5);
	border-top: 10px solid #0A3FC0;
	border-bottom: 10px solid #0A3FC0;
}

.service-bottom {
	margin-bottom: 30px;
}

.menu-item:last-child {
	margin-right: 0;
}

.menu-item h2 {
	position: relative;
	font-size: 26px;
	font-weight: 400;
	letter-spacing: 0.1em;
	color: #ffffff;
	margin-top: 30px;
}

.menu-item h2 span {
	letter-spacing: 0;
}

.menu-item p {
	position: relative;
	font-size: 18px;
	font-weight: normal;
	letter-spacing: 0.1em;
	color: #ffffff;
	margin-top: 14px;
}

.btn-menu-form {
	margin: 0 auto;
	border: 3px solid #fff;
	padding: 15px 30px;
	font-size: 15px;
	font-weight: bold;
	line-height: 100px;
	letter-spacing: 0.14em;
	transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.btn-menu-form::after {
	content: '';
	position: absolute;
	top: 0;
	right: 13px;
	bottom: 0;
	width: 10px;
	margin: auto;
	background: url(../images/ico_arrow_right.svg) no-repeat 50% 50%;
	background-size: contain;
	transition: all 0.1s ease-in-out;
}

.btn-menu-form:hover {
	background: #fff;
	color: #263238;
}

.btn-menu-form::after:hover {
	color: #263238;
}

.btn-menu-form a {
	background-color: transparent;
}

.menu-button {
	cursor: pointer;
	position: relative;
	border-radius: 4em;
	background-image: none;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	text-decoration: none;
	user-select: none;
}

/*----------　about-box（会社概要）　----------*/
.about-box {
	width: auto;
	max-width: 1040px;
	padding: 0 80px;
	margin: 50px auto 70px;
	text-align: left;
	font-weight: 200;
}

.about-box table {
	width: 100%;
	font-size: 16px;
	font-weight: 200;
	line-height: 1.6;
	color: #263238;
}

.about-box th {
	vertical-align: 0!important;
	border-top: #dee2e7 solid 1px!important; 
	border-bottom: #dee2e7 solid 1px!important; 
	border-left: none!important;
	border-right: none!important;
	border-collapse: collapse!important;
	height: auto!important;
}
.about-box td {
	vertical-align: 0;
	border-top: #dee2e7 solid 1px; 
	border-bottom: #dee2e7 solid 1px; 
	border-collapse: collapse;
}

.about-box th {
	padding: 40px 20px;
}
.about-box td {
	padding: 40px 20px;
}

.about-box th {
	
	font-weight: 400;
	width: 20%;
}

.supplier-list-container {
	display: flex;
	margin-bottom: 30px;
}

.supplier-list-item {
	margin-left: 30px;
	width: 50%;
}

.supplier-list-item:first-child {
	margin-left: 0;
}

.company-list span {
	display: block;
}
.company-info-list {
	margin-bottom: 20px;
}
.company-info-list li {
	text-indent: -1em!important;
	padding-left:1em!important;
	margin-top: 12px!important;
}
.company-info-list li:first-child {
	margin-top: 0px!important;
}

/*----------　philosophy-box（企業理念）　----------*/
.philosophy-box {
	width: auto;
	max-width: 1040px;
	padding: 0 20px;
	margin: 50px auto 70px;
	text-align: center;
	letter-spacing: 0.08em;
}

.philosophy-text {
	margin-bottom: 50px;
}

.philosophy-text:last-child {
	margin-bottom: 0;
}

.philosophy-text p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
	color: #263238;
	max-width: 670px;
	margin: 0 auto;
	text-align: left;
}

.philosophy-theme {
	margin-bottom: 50px;
}

.philosophy-theme p {
	font-size: 2.8em;
	font-weight: 500;
	line-height: 1.6;
	color: #263238;
	max-width: 650px;
	margin: 0 auto;
	text-align: center;
}

.philosophy-mission {
	margin-bottom: 50px;
}

.philosophy-mission:last-child {
	margin-bottom: 0;
}


.philosophy-mission p {
	font-size: 1.4em;
	font-weight: 500;
	line-height: 1.6;
	color: #263238;
	max-width: 650px;
	margin: 0 auto;
	text-align: center;
}

.philosophy-mission ul,
.philosophy-standard ul {
	max-width: 650px;
	margin: 0 auto;
}

.philosophy-mission li {
	list-style: outside;
	margin-left: 30px;
	margin-bottom: 10px;
	list-style-type: disc;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	color: #263238;
	text-align: left;
}

.philosophy-standard li {
	list-style: outside;
	margin-left: 30px;
	margin-bottom: 10px;
	list-style-type: decimal;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	color: #263238;
	text-align: left;
}

.philosophy-content {
	text-align: center;
	margin: 0 auto;
	margin:90px auto 60px auto;
	max-width: 650px;
}
.philosophy-content h2 {
	font-size: 2.8em;
	line-height: 80%;
	font-weight: 700;
	color: #0098D8;
}
.philosophy-content h2 span {
	font-size: 0.4em;
	font-weight: 300!important;
}

.philosophy-content img {
	height: 50px;
}

/*----------　access-box（アクセス）　----------*/
.access-box {
	width: auto;
	max-width: 1040px;
	padding: 0 80px;
	margin: 50px auto 70px;
	text-align: left;
}

.access-box table {
	width: 100%;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.6;
	color: #263238;
}

.access-box tr {
	vertical-align: 0;
	border-color: #dee2e7;
	border-style: solid;
	border-width: 2px 0;
}

.access-box tr:first-child {
	border-top: none;
}

.access-box tr:last-child {
	border-bottom: none;
}

.access-box th, .access-box td {
	padding: 20px;
}

.access-box th {
	white-space: nowrap;
	border: none!important;
	width: 20%;
}

.map-link {
	border-bottom: solid 1px #0A3FC0;
	padding-bottom: 1px;
	color: #0A3FC0;
	white-space: nowrap;
}

.map-link:visited {
	color: #0A3FC0;
}

.access-map {
	margin-top: 40px;
	margin-bottom: 20px;
	width: 100%;
}

.map-btn {
	color: #0A3FC0;
	text-align: center;
}

/*----------　policy-box（個人情報保護方針）　----------*/
.policy-box {
	width: auto;
	max-width: 1040px;
	padding: 0 80px;
	margin: 50px auto 70px;
	text-align: left;
	color: #263238;
	line-height: 1.6;
	letter-spacing: .05em;
}

.policy-header {
	margin-bottom: 50px;
}

.policy-header h2 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
}

.policy-header p {
	font-size: 14px;
	font-weight: normal;
}

.policy-content {
	margin-bottom: 50px;
}

.policy-content h3 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 10px;
}

.policy-content p {
	font-size: 14px;
	font-weight: normal;
	margin-bottom: 20px;
	padding-left: 16px;
}

.policy-content li {
	text-indent: -2em;
}
.policy-content table {
	margin: 20px 0;
	width: 100%;
}
.policy-content td, th {
    border: 1px solid #A3A3A3;
    padding: 12px;
    font-size: 14px;
	width: 50%;
}

.policy-footer p {
	font-size: 14px;
	font-weight: normal;
	text-align: right;
}

/*----------　sitemap-box（サイトマップ）　----------*/
.sitemap-box {
	width: auto;
	max-width: 1040px;
	padding: 0 80px;
	margin: 50px auto 70px;
	text-align: left;
	color: #263238;
	line-height: 2;
	letter-spacing: .05em;
}

.sitemap-box a {
	color: #263238;
}

.sitemap-box a:visited {
	color: #263238;
}

.sitemap-defaultlist
,.sitemap-defaultlist li{
	padding:0px;
	margin:0px;
}

.sitemap-defaultlist li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 5px 0px 5px 0px !important;
}

.sitemap-list1 li{
	position:relative;
	padding-left:20px;
}

.sitemap-list1 li:before{
	content:''; 
	display:block; 
	position:absolute; 
	box-shadow: 0 0 2px 2px rgba(255,255,255,0.2) inset;
	top:12px; 
	left:2px; 
	height:0; 
	width:0; 
	border-top: 6px solid transparent;
	border-right: 7px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 9px solid #aaa;
}

.sitemap-child-element li::before {
	border-top: 5px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #aaa;
	top:9px;
}

.sitemap-child-element {
	padding-left: 20px;
}

.parent-element-text {
	font-size: 18px;
	font-weight: bold;
}

.child-element-text {
	font-size: 15px;
	font-weight: normal;
}

/*----------　newgraduate-box（新卒採用）　----------*/
.newgraduate-top-view {
	background-image: url(../images/newgraduate-top-view.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 500px;
}

.newgraduate-message-view {
	background-image: url(../images/footer-view.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 50px 0;
	position: relative;
}

.newgraduate-message-view::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	background-color: rgba(10,63,192,0.7);
}

.newgraduate-message {
	position: relative;
	width: auto;
	max-width: 1040px;
	padding: 0 80px;
	margin: 0 auto;
	text-align: center;
}

.newgraduate-message h2 {
	font-size: 28px;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4;
	color: #ffffff;
	margin-bottom: 40px;
}

.newgraduate-message p {
	font-size: 18px;
	font-weight: normal;
	color: #ffffff;
	line-height: 1.8;
	text-align: left;
}

/*----------　newgraduate-title（新卒採用タイトル）　----------*/
.newgraduate-title {
	display: flex;
	align-items: center;
	margin-bottom: 50px;
}

.newgraduate-white {
	color: #ffffff;
}

.newgraduate-black {
	color: #263238;
}

.newgraduate-title:before,
.newgraduate-title:after {
	border-top: 3px solid;
	content: "";
	flex-grow: 1;
}
.newgraduate-title:before {
	margin-right: 1rem;
}
.newgraduate-title:after {
	margin-left: 1rem;
}

.newgraduate-title h2 {
	font-size: 32px;
	font-weight: bold;
}

/*----------　senior-interview（新卒採用：インタビュー）　----------*/
.senior01 {
	background: linear-gradient(135deg, #CCD7F3 0%, #CCC5F3 100%);
}

.senior02 {
	background: linear-gradient(135deg, #F5DDC3 0%, #F2DBE5 100%);
}

.senior03 {
	background: linear-gradient(135deg, #9BCEC4 0%, #C8C5AC 100%);
}

.interview {
	width: auto;
	max-width: 1040px;
	padding: 50px 20px 70px;
	margin: 0 auto;
	text-align: left;
	color: #000000;
}

.senior-header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin-bottom: 50px;
	position: relative;
}

.senior-header-image {
	width: 80%;
}

.senior-header-image img {
	width: 100%;
	height: auto;
}

.senior-header-textarea {
	position: absolute;
	top: 50%;
	right: 0;
	background-color: #ffffff;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	width: 400px;
	height: 250px;
	padding: 30px 0 0 40px;
	box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.2);
}

.senior-number {
	font-size: 20px;
	font-weight: bold;
	line-height:130% ;
	letter-spacing: .08em;
	color: #717071;
	padding-bottom: 10px;
}

.senior-number span {
	font-size: 40px;
}

.senior-name {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: .08em;
	color: #263238;
}

.senior-profile {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: .2em;
	color: #263238;
}

.customer-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	text-align: center;
}

.customer-item {
	background-color: #ffffff;
	width: 32%;
	height: 320px;
	padding: 20px;
	color: #263238;
	position: relative;
}

.customer-hight03 {
	height: 350px;
}

.customer-item h3 {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
}

.customer-image {
	position: absolute;
	top: 110px;
	right: 0;
	left: 0;
	width: 75px;
	height: auto;
	margin: 0 auto;
}

.customer-item p {
	position: absolute;
	top: 230px;
	right: 10px;
	left: 10px;
	font-size: 15px;
	font-weight: normal;
	line-height: 1.5;
}

.interview-main {
	margin: 50px 0 0;
}

.interview-block {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 50px;
	
}

.interview-block-reverse {
	flex-direction: row-reverse;
}

.interview-block:last-child {
	margin-bottom: 0;
}

.text-right {
	margin-right: 20px;
}

.text-left {
	margin-left: 20px;
}

.interview-block-image img {
	width: 300px;
}

.interview-block-text {
	font-size: 18px;
	font-weight: normal;
	line-height: 1.8;
}

/*----------　occupation（新卒採用：募集職種）　----------*/
.occupation {
	background: linear-gradient(135deg, #6c9fb7 0%, #bbc5a4 100%);
	padding: 50px 0 70px 0;
}

.occupation-box {
	width: auto;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 20px;
	text-align: center;
}

.occupation-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}

.occupation-item {
	border: solid 1px rgba(255, 255, 255, 0.8);
	width: 100%;
	padding: 40px;
	color: #ffffff;
}

.occupation-item h3 {
	font-size: 25px;
	font-weight: bold;
	color: #ffffff;
	letter-spacing: .15em;
	margin-bottom: 40px;
	position: relative;
}

.occupation-item h3::after {
	bottom: -12px;
	width: 48px;
	height: 3px;
	content: '';
	display: block;
	position: absolute;
	right: 0;
	left: 0;
	margin: 0 auto;
	background: #ffffff;
}

.occupation-item p {
	font-size: 18px;
	font-weight: normal;
	color: #ffffff;
	line-height: 1.6;
	letter-spacing: .15em;
}

.occupation-image {
	width: 100px;
	height: auto;
	margin: 0 auto 30px;
}

/*----------　guidelines-box（新卒採用：募集要項）　----------*/
.guidelines {
	width: auto;
	max-width: 1040px;
	padding: 0 20px;
	margin: 50px auto 70px;
	text-align: center;
}

.guidelines-box {
	padding: 0 80px;
	text-align: left;
}

.guidelines-box table {
	width: 100%;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.6;
	color: #263238;
}

.guidelines-box tr {
	vertical-align: 0;
	border-color: #888888;
	border-style: solid;
	border-width: 2px 0;
}

.guidelines-box th, .guidelines-box td {
	padding: 20px;
}

.guidelines-box th {
	white-space: nowrap;
	background-color: #E1E6EA;
}

.guidelines-images {
	margin: 60px auto 20px;
}

.guidelines-images img {
	width: 100%;
	max-width: 300px;
	height: auto;
}

.guidelines-btn {
	color: #0A3FC0;
	text-align: center;
}

/*----------　中途採用（募集中止中）　----------*/
.midcareer h2{
	font-size: 26px;
    font-weight: bold;
    margin-bottom: 35px;
    color: #0053A6;
    text-align: center;
    clear: both;
    border-top: solid 2px #0053A6;
    border-bottom: solid 2px #0053A6;
    padding: 12px 0 10px;
}

.midcareer p {
	font-size: 16px;
	font-weight: normal;
	line-height: 1.6;
	color: #263238;
	max-width: 650px;
	margin: 0 auto;
	text-align: left;
}

/*----------　コラムアーカイブCSS　----------*/
.archive-column-container {
	display: flex;
	padding: 20px 0;
	border-bottom: 1px solid #626262;
}

.archive-column-container:first-child {
	border-top: 1px solid #626262;
}

.archive-column-container:last-child {
	border-bottom: none;
}

.archive-column-article {
	padding-left: 20px;
}

.archive-column-image img {
	width: 300px;
	height: 120px;
	object-fit: cover!important;
}

.archive-column-title h2 {
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
	color: #4489BB;
	margin-bottom: 10px;
}

.archive-column-text p {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.3;
	color: #666666;
	margin-bottom: 10px;
}

.archive-column-date time {
	font-size: 16px;
	font-weight: 300;
	color: #263238;
}

.column-hashtag {
	margin-top: 10px;
}

/*----------　ブログ記事の「前の記事へ」と「次の記事へ」のリンク　----------*/
.page-feed {
  text-align: center;
  padding: 1em 0;
  width: 100%;
	border-top: 1px solid #e0e0e0;
	padding-top: 30px;
	padding-left: 130px;
	padding-right: 130px;
}
.page-feed-top {
  float:left;
  width:24%;
  text-align:center;
}
.page-feed-left {
  float:left;
  width:38%;
  text-align:left;
  word-break:break-all;
}
.page-feed-right {
  float:right;
  width:38%;
  text-align:right;
  word-break:break-all;
}

/*----------section：contact-form7-box　----------*/
.contact-form7-box {
	width: auto;
	max-width: 1040px;
	padding: 0 220px;
	margin: 50px auto 70px;
}

/*----------　コンタクトフォーム7　----------*/
.wpcf7 p span {
	font-size: 14px;
}

.wpcf7 p {
	margin-top: 30px;
}

/* 必須マーク */
.must{
	color: #fff;
	margin-right: 10px;
	padding: 4px 10px;
	background: #FF1A00;
	border-radius: 5px;
}

/* 任意マーク */
.free {
	color: #fff;
	margin-right: 10px;
	padding: 4px 10px;
	background: #2A62A8;
	border-radius: 5px;
}

/* 項目名を太字にする */
form p {
	font-weight: 600;
}

/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea,
select.wpcf7-form-control.wpcf7-select {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 必須項目の入力欄を水色にする */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
	background: #F4F9FB;
}

/* エラーメッセージを見やすくする */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}

/* 送信ボタンを見やすくする */
.wpcf7-submit {
	width:100%;
	padding:15px;
	border-radius:10px;
	-webkit-border-radius: 10px;  
	-moz-border-radius: 10px;
	border: none;
	box-shadow: 0 3px 0 #ddd;
	background-color: #E24780;
	transition: 0.3s;
	color: #ffffff;
	font-size: 20px;
}

.wpcf7-submit:hover {
	background-color: #E86C99;
	transform: translate3d(0px, 3px, 1px);
	-webkit-transform: translate3d(0px, 3px, 1px);
	-moz-transform: translate3d(0px, 3px, 1px);
}

.privacy-txt {
	margin: 12px auto;
	border: #B4B4B4 solid 1px;
	padding: 20px;
	font-size: 0.8em!important;
	line-weight: 30%!important;
	color: #3E3E3E;
	height: 300px;
	overflow: auto;
	overflow-y: scroll;
	overflow-x: hiden;
}
.privacy-txt ol {
		padding: 0 20px;
}
.privacy-txt li {
	margin: 18px 0;

}








/*　PC用CSS　ここまで　*/

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
900px以下　　タブレット用CSS
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

@media screen and (max-width: 900px) {
	
	/*----------　top-view2　----------*/
	.top-view2 {
		height: auto;
		padding: 100px 0;
	}

	.top-copy2 {
		max-width: 720px;
		margin: 0 auto;
	}

	.top-copy2 h1 {
		font-size: 35px;
	}
	
	/*----------　menu-box（メニュー）　----------*/
	.menu-box {
		width: auto;
		max-width: 720px;
	}
	
	.menu-item {
		width: 210px;
		height: 180px;
		margin-right: 20px;
	}
	
	.menu-two {
		width: 280px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.service-bottom {
		margin-bottom: 20px;
	}
	
	.menu-item h2 {
		font-size: 24px;
		margin-top: 25px;
	}

	.menu-item p {
		font-size: 16px;
		margin-top: 12px;
	}
	
	/*----------　about-box（会社概要）　----------*/
	.about-box {
		padding: 0 20px;
	}
	
	/*----------　philosophy-box（企業理念）　----------*/
	.philosophy-content img {
		max-width: 100%;
		text-align: left;
	}
	
	.philosophy-mission p {
		font-size: 2.0em;
		text-align: center!important;
		font-weight: 500;
	}
	
	.philosophy-mission li {
		font-size: 18px;
	}
	
	/*----------　access-box（アクセス）　----------*/
	.access-box {
		padding: 0 20px;
	}
	
	/*----------　policy-box（プライバシーポリシー）　----------*/
	.policy-box {
		padding: 0 20px;
	}
	
	/*----------　newgraduate-box（新卒採用）　----------*/
	.newgraduate-top-view {
		height: 300px;
	}
	
	.newgraduate-message-view {
		height: auto;
		padding: 40px 0;
	}
	
	.newgraduate-message {
		max-width: 720px;
		margin: 0 auto;
		padding: 0 20px;
	}
	
	.newgraduate-message h2 {
		margin-bottom: 25px;
	}
	
	/*----------　senior-interview（新卒採用：インタビュー）　----------*/
	
	.senior-header-image {
		width: 70%;
	}
	
	.senior-header-textarea {
		width: 330px;
		height: 180px;
		padding: 20px 0 0 40px;
	}
	
	.senior-number {
		font-size: 18px;
		padding-bottom: 5px;
	}

	.senior-number span {
		font-size: 30px;
	}

	.senior-name {
		font-size: 35px;
		line-height: 1.6;
	}

	.senior-profile {
		font-size: 16px;
	}
	
	.customer-item h3 {
		font-size: 18px;
	}
	
	.interview-block-image img {
		width: 260px;
	}
	
	/*----------　guidelines-box（新卒採用：募集要項）　----------*/
	.guidelines-box {
		padding: 0 20px;
	}
	
	/*----------　ブログ記事の「前の記事へ」と「次の記事へ」のリンク　----------*/
	.page-feed {
		padding-left: 150px;
		padding-right: 150px;
	}
	
	/*----------section：contact-form7-box　----------*/
	.contact-form7-box {
		padding: 0 80px;
	}
	
	
	
}


/*　タブレット用CSS　ここまで　*/

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
750px以下　　スマートフォン用CSS
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

@media screen and (max-width: 750px) {
	
	/*----------　top-view2　----------*/
	.top-copy2 {
		max-width: 425px;
	}

	.top-copy2 h1 {
		font-size: 30px;
	}
	
	/*----------　top-view3　----------*/
	.top-copy3 {
		max-width: 425px;
	}

	.top-copy3 h1 {
		font-size: 25px;
	}
	
	/*----------　パンくずリスト　----------*/
	.breadcrumb-box {
		display:none;
	}
	
	/*----------　menu-box（メニュー）　----------*/
	.menu-box {
		max-width: 100%;
	}
	
	.menu-container {
		display: block;
	}
	
	.menu-item {
		width: 100%;
		height: 180px;
		margin-right: 0;
		margin: 0 auto 30px;
	}
	
	.service-bottom {
		margin-bottom: 0;
	}
	
	.menu-item:last-child {
		margin-bottom: 0;
	}
	
	.menu-item h2 {
		padding-top: 25px;
	}
	
	/*----------　about-box（会社概要）　----------*/
	.about-box th, .about-box td {
		padding: 20px 10px;
	}
	
	.supplier-list-container  {
		display: block;
	}
	
	.supplier-list-item {
		margin-left: 0;
		width: 100%;
	}
	
	/*----------　access-box（アクセス）　----------*/
	.access-box th, .access-box td {
		padding: 20px 10px;
	}
	..access-box th {
		width: 15vw;
	}
	
	.access-map {
		margin-top: 20px;
	}
	
	/*----------　sitemap-box（サイトマップ）　----------*/
	.sitemap-box {
		padding: 0 20px;
		line-height: 2.5;
	}
	
	.parent-element-text {
		font-size: 22px;
	}

	.child-element-text {
		font-size: 18px;
	}
	
	.sitemap-list1 li:before{
		top:21px; 
	}
	
	.sitemap-child-element li::before {
		top:18px;
	}
	
	/*----------　newgraduate-box（新卒採用）　----------*/
	.newgraduate-top-view {
		height: 38vh;
	}
	
	.newgraduate-message h2 {
		font-size: 24px;
	}

	.newgraduate-message p {
		font-size: 16px;
	}
	
	/*----------　newgraduate-title（新卒採用タイトル）　----------*/
	.newgraduate-title {
		margin-bottom: 30px;
	}
	
	.newgraduate-title h2 {
		font-size: 28px;
	}
	
	/*----------　senior-interview（新卒採用：インタビュー）　----------*/
	.senior-header {
		display: block;
		position: static;
		margin-bottom: 30px;
	}
	
	.senior-header-image {
		width: 100%;
		font-size: 0;
	}
	
	.senior-header-textarea {
		position: static;
		transform: none;
		-webkit-transform: none;
		width: 100%;
		height: auto;
		padding: 20px 40px;
		box-shadow: none;
		text-align: center;
	}
	
	.customer-container {
		display: block;
	}
	
	.customer-item {
		width: 100%;
		height: 280px;
		padding: 20px;
		margin-bottom: 30px;
	}
	
	.customer-hight03 {
		height: 300px;
	}
	
	.customer-item h3 {
		font-size: 20px;
	}

	.customer-image {
		top: 100px;
	}

	.customer-item p {
		top: 200px;
		font-size: 18px;
	}
	
	.interview-block {
		display: block;
		margin-bottom: 30px;
	}
	
	.text-right {
		margin-right: 0;
	}
	
	.text-left {
		margin-left: 0;
	}
	
	.interview-block-image img {
		width: 100%;
	}
	
	.interview-block-textarea {
		margin-bottom: 30px;
	}
	
	.interview-block-text {
		font-size: 16px;
	}
	
	/*----------　occupation（新卒採用：募集職種）　----------*/
	.occupation-container {
		display: block;
	}
	
	.occupation-item {
		width: 100%;
		padding: 20px;
		margin-bottom: 30px;
	}
	
	.occupation-item:last-child {
		margin-bottom: 0;
	}
	
	.occupation-item h3 {
		font-size: 23px;
		margin-bottom: 30px;
	}
	
	.occupation-item p {
		font-size: 16px;
		line-height: 1.8;
		letter-spacing: .1em;
	}
	
	/*----------　guidelines-box（新卒採用：募集要項）　----------*/
	.guidelines-box {
		padding: 0;
	}
	
	.guidelines-box th, .guidelines-box td {
		padding: 20px 10px;
	}
	
	/*----------　中途採用（募集中止中）　----------*/
	.midcareer h2{
		font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    color: #0053A6;
    text-align: center;
    clear: both;
    border-top: solid 2px #0053A6;
    border-bottom: solid 2px #0053A6;
    padding: 10px 0 10px;
	}
	
	
	
	/*----------　コラムアーカイブCSS　----------*/
	.archive-column-container {
		display: block;
	}

	.archive-column-image img {
		width: 100%;
		height: auto;
		margin-bottom: 20px;
	}

	.archive-column-article {
		padding-left: 0;
	}
	
	/*----------　ブログ記事の「前の記事へ」と「次の記事へ」のリンク　----------*/
	.page-feed {
		padding-left: 0;
		padding-right: 0;
	}
	
}



/************************************
** レスポンシブページネーション
************************************/
.pagination{
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0;
}
 
.pagination,
.pagination li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
 
.pagination a {
  font-weight: 300;
  padding-top: 1px;
  text-decoration:none;
  border: 1px solid #ddd;
  border-left-width: 0;
  min-width:36px;
  min-height:36px;
  color: #333;
}
 
.pagination li:not([class*="current"]) a:hover {
  background-color: #eee;
}
 
.pagination li:first-of-type a {
  border-left-width: 1px;
}
 
.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}
 
.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}
 
.pagination li.first a::before { content: "\f100"; }
.pagination li.last a::after { content: "\f101"; }
 
.pagination li.previous a::before { content: "\f104"; }
.pagination li.next a::after { content: "\f105"; }
 
.pagination li.current a {
 background-color: #ddd;
 cursor: default;
 pointer-events: none;
}
 
.pagination > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
 
.pagination > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
 
@media only screen and ( max-width: 680px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .pagination li.previous a { border-left-width: 1px; }
}
 
@media only screen and ( max-width: 500px ) {
  .pagination li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .pagination li.current,
  .pagination li.first,
  .pagination li.last,
  .pagination li.previous,
  .pagination li.next{
    position: initial;
    top: initial;
    left: initial;
  }
 
  .pagination li.previous a { border-left-width: 0; }
}
 
@media only screen and ( max-width: 400px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .pagination li.previous a { border-left-width: 1px; }
}
 
@media only screen and ( max-width: 240px ) { /* For watches? */
  .pagination li { width: 50%;}
 
  .pagination li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
  }
}


/************************************
** アーカイブページ：news
************************************/
.c-post_list {
    border-top: 1px solid #d0dced;
    margin-bottom: 50px;
}
.c-post_list li { border-bottom: 1px solid #d0dced; }
.c-post_list li a {
    position: relative;
    display: block;
    padding: 15px 15px 15px 60px;
}
.c-post_list li a:after {
	position: absolute;
	content: "\e903";
	font-size: 16px;
	font-weight: bold;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	content: "\f105";
	font-family: FontAwesome;
}
.c-post_list li a:hover { background-color: #f4e5ed; }
.c-post_list li div {
    font-weight: bold;
    margin-bottom: 5px;
}
.c-post_list li div span {
    font-weight: normal;
    margin-right: 1em;
}
.c-post_list li h3 {
    font-size: 20px;
    line-height: 1.3;
	font-weight: 400!important;
}

.archive-monthly {
	margin-bottom: 20px;
	color: #263238;
	font-size: 26px;
}

.archive-page-font .c-post_list h3 {
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
	color: #0e3f80;
}

.archive-page-font .c-post_list li div {
	font-weight: bold;
	margin-bottom: 5px;
	color: #0e3f80;
}

.archive-page-font .c-post_list li div span {
	font-weight: normal;
	margin-right: 1em;
}





/************************************
** 個別投稿ページ
************************************/
.article-content {
  margin-bottom: 2rem;
	color: #333333;
}
 
.article-content .article-info {
  margin-bottom: 1rem;
}
 
.article-content .cat-data a {
	font-size: 1rem;
	margin-right: .5rem;
	padding: .2rem .5rem;
	text-decoration: none;
	color: #263238;
	background-color: #E8EBED;
	border-radius: 5px;
}

.cat-data li {
	margin-bottom: .5rem;
}
 
.article-content .article-info .article-date,
.article-content .article-info .article-author {
	font-size: 1rem;
	display: inline-block;
	margin-right: .5rem;
	margin-bottom: .5rem;
	color: #888;
}
 
.article-content .article-info .article-author i {
  margin-right: .3rem;
}
 
.article-content p,
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
  font-size: 1rem;
  line-height: 1.7;
  letter-spacing: 1px;
}
 
.article-content p,
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
  margin-bottom: 2rem;
}
 
.article-content h1 {
  font-size: 1.9rem;
  margin: 0 0 2rem;
  letter-spacing: 1px;
	font-weight: 400;
	line-height: 40px;
}
 
.article-content h2 {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.5;
	margin-top: 50px;
	margin-bottom: 30px;
	padding: 20px;
	background: rgba(101,194,233,.2);
	border-left: 4px solid #65c2e9;
}

.article-content h3 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 1.5;
	margin: 40px 0 20px;
	padding: 10px 0;
	border-bottom: solid 3px #65c2e9;
}
 
.article-content h4 {
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	margin: 25px 0 18px;
	padding: 0 10px;
	border-left: solid 7px #65c2e9;
	background: transparent;
}
 
.article-content h5 {
  font-size: 1.1rem;
  margin: 0 0 .3rem;
  letter-spacing: 1px;
}
 
.article-content .article-img {
  margin-bottom: 2rem;
}
 
.article-content .article-img img {
  display: block;
  margin: 0 auto;
}

.article-img img {
	width: 100%;
	height: auto;
}

.media-image img {
	width: 50% !important;
	height: auto;
	margin: 0 auto!important;
}
 
.article-content ul {
  margin-left: 0;
  list-style: none;
}
 
.article-content ol {
  margin-left: 2rem;
  list-style: decimal;
}
 
.article-content table {
  border-collapse: collapse;
}
 
.article-content th,
.article-content td {
  padding: 1.2rem;
  vertical-align: middle;
  border: 1px solid #ddd;
}
 
.article-content figure {
  max-width: 100%;
}
 
.article-tag {
  text-align: right;
}
 
.article-tag ul {
  font-size: 0;
  margin-bottom: 0;
}
 
.article-tag ul li {
  font-size: .9rem;
  display: inline-block;
  margin-right: .5rem;
  vertical-align: middle;
}
 
.article-tag ul li:last-child {
  margin-right: 0;
}
 
.article-tag ul li a {
  padding: .2rem .5rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
}
 
.article-tag ul li a:hover {
  opacity: .6;
}

@media(max-width: 600px) {
  .article-content h1 {
    font-size: 1.6rem;
  }
 
  .article-content h2 {
    font-size: 1.4rem;
  }
 
  .article-content h3 {
    font-size: 1.3rem;
  }
 
  .article-content h4 {
    font-size: 1.2rem;
  }
	
	.article-content img {
		width: 100%;
		height: auto;
	}
	
	.media-image img {
	width: 100% !important;
	height: auto;
	}
}

/************************************
** カスタムフィールド設定
************************************/
.reference_url-content {
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}

.reference_url-text {
	min-width: 120px;
}

.writer-container {
	border-top: 1px solid #e0e0e0;
	padding-top: 30px;
	display: flex;
}

.writer-container p {
	margin-bottom: 0;
}

.writer-image {
	width: 120px;
	height: auto;
}

.writer-profile-content {
	margin-left: 30px;
}

.writer-subject {
	margin-bottom: 30px !important;
	font-size: 14px !important;
	font-weight: bold;
}

.writer-name {
	margin-bottom: 10px !important;
	font-size: 16px !important;
	font-weight: bold;
}

.writer-affiliation {
	margin-bottom: 0 !important;
	font-size: 14px !important;
}


@media (max-width: 750px) {
 .reference_url-section table {
 width: 100%;
 }
	
 .reference_url-section td {
 display: block;
 text-align: left;
 width: 100%;
 }
}

/************************************
** 1カラム
************************************/
.main-background {
	background-color: #EAEDF1;
}

.one-container {
	display: flex;
	max-width: 1040px;
	padding: 50px 20px 70px;
	margin: 0 auto;
}

.one-content {
	width: 100%;
	background-color: white;
	border-radius: 20px;
	padding: 25px 25px 10px 25px;
	margin-right: 0px;
	
}
.one-content th {
	width: 20%!important;
}
.one-content h1 {
	font-weight: 500;
	font-size: 1.3em!important;
}

@media screen and (max-width: 900px) {
	.post-container {
		flex-direction: column;
	}
	
	.post-content {
		width: 100%;
		margin-right: 0;
	}
	.one-content th {
	width: 30%!important;
}
}

/************************************
** 2カラム
************************************/
.main-background {
	background-color: #EAEDF1;
}

.post-container {
	display: flex;
	max-width: 1040px;
	padding: 50px 20px 70px;
	margin: 0 auto;
}

.post-content {
	width: calc( 100% - 240px );
	background-color: white;
	border-radius: 20px;
	padding: 25px 25px 10px 25px;
	margin-right: 20px;
	
}

@media screen and (max-width: 900px) {
	.post-container {
		flex-direction: column;
	}
	
	.post-content {
		width: 100%;
		margin-right: 0;
	}
}

/************************************
** サイドバーCSS
************************************/
.aside {
	width: 240px;
	padding: 0;
}

.widget {
	margin-bottom: 30px;
}

#widget01,
#widget02 {
	background-color: white;
	padding: 25px 10px 10px 10px;
	border-radius: 20px;
	margin-bottom: 30px;
}

#widget01:last-child,
#widget02:last-child {
	margin-bottom: 0;
}

.aside h3 {
	border-bottom: 3px solid #65c2e9;
	padding: 0 13px 5px;
	margin-bottom: 16px;
	font-weight: 400;
}

.aside ul {
	padding: 10px 10px 30px;
}

.aside ul li {
	border-bottom: dotted 1px #ccc;
	padding: 8px 0;
}

.aside ul li:first-child {
	padding: 0 0 8px;
}

.aside ul li a {
	color: #666;
	font-size: 14px;
	font-weight: 400;
}

.aside .tagcloud {
	padding: 10px 10px 30px;
}

.aside .tagcloud a {
	display:block;
	color: #666;
	font-size: 14px !important;
	font-weight: bold;
	margin: 3px;
	padding:6px;
	
}

@media screen and (max-width: 900px) {
	.aside {
		width: 100%;
		padding: 0;
		margin-top: 30px;
	}
	
	#widget01,
	#widget02 {
		padding: 25px 25px 10px 25px;
	}
	
}


/************************************
** 20240122 追加css　ボタン
************************************/

/*--シンプルな長方形の枠線のボタン--*//*--シンプルな長方形の枠線のボタン--*/
.border_btn01 {
  display: inline-block;
  width: 100%;
  max-width: 350px; /* ボタン幅 */
  color: #4D9BC1; /* 文字色 */
  border: 2px solid #4D9BC1; /* 線幅・種類・色 */
  background: #fff; /* 背景色 */
  padding: 1em 2em;
  font-weight: bold; /* 文字の太さ */
  text-decoration: none;
  text-align: center;
  transition: 0.3s;
}

/* マウスオーバーした際のデザイン */
.border_btn01:hover {
  color: #fff; /* 文字色 */
  background: #4D9BC1; /* 背景色 */
}
/*--シンプルな長方形の枠線のボタンここまで--*//*--シンプルな長方形の枠線のボタンここまで--*/


/*--吹き出しでコメントが付いたボタン--*//*--吹き出しでコメントが付いたボタン--*/

.dl_btn{
}
.cta_btn05 {
  font-weight: bold; /* 文字の太さ */
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1em 2em 1em calc(5em - 15px);
  transition: 0.3s;
  text-decoration: none;
  color: #fff; /* 文字色 */
  border-radius: 0.5rem;
  background: #45B173; /* 背景色 */
  box-shadow: 0 5px 0 #19934e;
  margin-left: 10px;
}

.cta_btn05 p {
  margin: 0;
}

.cta_btn05 .cta_btn05_copy {
  position: absolute;
  bottom: 0.5em;
  left: -10px;
  display: inline-block;
  width: 5em;
  height: 5em;
  line-height: 5em;
  text-align: center;
  color: #45B173;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #45B173;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-10deg);
}

.cta_btn05 .cta_btn05_copy::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}

/* マウスオーバーした際のデザイン */
.cta_btn05:hover {
  transform: translate(0, 3px);
  background: #45B173; /* 背景色 */
  box-shadow: 0 2px 0 #19934e;
}
/*--吹き出しでコメントが付いたボタンここまで--*//*--吹き出しでコメントが付いたボタンここまで--*/


/*--角丸で影付きのボタン--*//*--角丸で影付きのボタン--*/
.dl_btn{
	text-align: center!important;
	margin-bottom: 30px;
}

.border_btn08 {
  position: relative;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  width: 100%;
  max-width: 350px; /* ボタンの最大幅 */
}

.border_btn08::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 4px;
  left: 4px;
  width: 100%;
  height: 100%;
  -moz-border-radius: 100vh;
  -webkit-border-radius: 100vh;
  border-radius: 100vh;
  background-color: #4D9BC1; /* 後ろの背景色 */
}

.border_btn08 span {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: bold; /* 文字の太さ */
  border-radius: 100vh;
  border: solid 1px #4D9BC1; /* 線の色 */
  color: #4D9BC1; /* 文字色 */
  padding: 1em 2em;
  background-color: #FFFF00; /* 背景色 */
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

/* マウスオーバーした際のデザイン */
.border_btn08:hover span {
  background-color: #FFF; /* 背景色 */
  transform: translate(4px, 4px);
  transition: all 0.3s ease-in-out;
}
/*--角丸で影付きのボタンここまで--*//*--角丸で影付きのボタンここまで--*/


/*--ボタン上デザイン--*//*--ボタン上デザイン--*/
.btn-copy {
  font-size: 1.0rem;
  font-weight: bold;
  position: relative;
  margin-bottom:5px;
  text-align: center;
}

.btn-copy:before {
  margin-right: 1rem;
  content: '＼';
}

.btn-copy:after {
  margin-left: 1rem;
  content: '／';
}
/*--ボタン上デザインここまで--*//*--ボタン上デザインここまで--*/

/*--左上にアクセントのあるタイトルデザイン--*//*--左上にアクセントのあるタイトルデザイン--*/
.ttl_frame1 {
  font-weight: bold;
  font-size: 18px;
  padding: 0.5em 2em;
  border: 3px solid #4c9ac0;
  overflow: hidden;
  position: relative;
  margin-bottom: 5px;
}
.ttl_frame1::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  border-width: 25px 25px 0 0;
  border-style: solid;
  border-color: #4c9ac0 #fff #4c9ac0;
}
/*--左上にアクセントのあるタイトルデザインここまで--*//*--左上にアクセントのあるタイトルデザインここまで--*/

/*--テキスト黄色マーカー--*//*--テキスト黄色マーカー--*/
span.marker {
   background:linear-gradient(transparent 60%, #ffff9c 60%);
   font-weight: bold;
}
/*--テキスト黄色マーカーここまで--*//*--テキスト黄色マーカーここまで--*/

span.red{
	color: #c1272d;
	font-weight: bold;
}

span.underline_wavy{
text-decoration:underline wavy #c1272d;
}

/*--お問い合わせはこちらボタン--*//*--お問い合わせはこちらボタン--*/
.buttonIconText__reverse {
  flex-direction: row-reverse;
  padding: 8px 8px 8px 40px;
}

/* buttonタグのリセットCSS（不要な場合、セレクタごと削除してください） */
button {
  padding: 0;
  font-family: inherit;
  appearance: none;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

/* ボタンのスタイル */
.buttonIconText {
  display: flex;
  gap: 8px;
  align-items: center;
  width: 100%;
  max-width: 320px;
  height: 64px;
  padding: 8px 40px 8px 8px;
  font-family: sans-serif;
  font-size: 16px;
  color: #fff;
  text-align: center;
  overflow-wrap: anywhere;
  background-color: #4D9BC1;
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
  text-decoration: none;
  margin: 0 auto 40px auto;
  font-weight: bold;
}

.buttonIconText__reverse {
  flex-direction: row-reverse;
  padding: 8px 8px 8px 40px;
}

.buttonIconText_icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 40px;
  aspect-ratio: 1;
  padding: 3px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 50%;
  margin-left: 10px;	
}

.buttonIconText_text {
  flex-shrink: 1;
  width: 100%;
}

@media (any-hover: hover) {
  .buttonIconText {
    transition: background-color 0.2s;
  }

  .buttonIconText_icon_item {
    transition: background-color 0.2s;
  }

  .buttonIconText:hover {
   opacity: 0.7;
  }
}
/*--お問い合わせはこちらボタンここまで--*//*--お問い合わせはこちらボタンここまで--*/


















