/*
Theme Name: OLTANA-005 Child
Version: 1.0.0
Template: oltana-005
Author: CROOVER inc.
Author URI: https://croover.co.jp
*/

/* ----- olConcept / olConcept2 ボタン ----- */
.ol-concept__button-wrapper {
	margin-top: 32px;
	display: flex;
}
.ol-concept__content.ol-writing-position-center .ol-concept__button-wrapper {
	justify-content: center;
}
.ol-concept__content.ol-writing-position-right .ol-concept__button-wrapper {
	justify-content: flex-end;
}
.ol-concept__button-inner {
	display: inline-flex;
}

/* ----- olContact 追加ボタン ----- */
/* 紺色（必要に応じて調整）。.ol-btn-regular の color:#fff !important を打ち消すため !important を付ける。 */
.ol-contact__button2 {
	display: flex;
	justify-content: flex-start;
	/* SP（≦640px）は親テーマが phone/mail を flex-basis:100% に戻して縦並びにするので、
	   button2 もそれに合わせて1行専有させる。PC側は下の @media で auto に上書き。 */
	flex-basis: 100%;
}
.ol-contact__button2-inner {
	display: inline-flex;
}
.ol-contact__button2 .ol-btn-regular {
	background-color: #fff;
	color: #0e2b6c !important;
	border: 1px solid #0e2b6c;
}
/* ボタン内側の丸（矢印デコ）は親テーマで white になっているので、白ボタン上だと見えなくなる。
   背景を紺、矢印を白に反転させる。 */
.ol-contact__button2 .ol-btn-regular .ol-button-deco-wrapper {
	background-color: #0e2b6c;
	color: #fff;
}
.ol-contact__button2 .ol-btn-regular .ol-button-deco-wrapper::before,
.ol-contact__button2 .ol-btn-regular .ol-button-deco-wrapper::after {
	background-color: #fff;
}

/* 親テーマの specificity (0,4,0) ルール
   `.ol-contact__content.ol-contact__nav-off .ol-contact__action-wrapper .ol-contact__phone,
    .ol-contact__content.ol-contact__nav-off .ol-contact__action-wrapper .ol-contact__mail
    { flex-basis: 100%; }`
   が効いているため、PCでも .ol-contact__mail が横幅100%まで広がり、内側のボタンとの間に
   右余白ができてしまう。また .ol-contact__button2 と横並びにできない。
   SP（≦640px）は親テーマ側で `@media (max-width: 640px)` により flex-basis:100% が
   再指定され縦並びになるため、PC（≧641px）でのみ flex-basis を auto に解除する。
   セレクタ指定は同じ specificity (0,4,0) で記述し、後出しで上書き。 */
@media (min-width: 641px) {
	.ol-contact__content.ol-contact__nav-off .ol-contact__action-wrapper .ol-contact__phone,
	.ol-contact__content.ol-contact__nav-off .ol-contact__action-wrapper .ol-contact__mail {
		flex-basis: auto;
	}
	.ol-contact__button2 {
		flex-basis: auto;
	}
}

/* ----- olSponsor（協賛企業） ----- */
.ol-sponsor__section {
	padding: 80px 0;
}
.ol-sponsor__heading-wrapper {
	margin-bottom: 40px;
	text-align: center;
}
.ol-sponsor__list {
	display: grid;
	gap: 24px;
}
.ol-sponsor__list.ol-sponsor__column2 { grid-template-columns: repeat(2, 1fr); }
.ol-sponsor__list.ol-sponsor__column3 { grid-template-columns: repeat(3, 1fr); }
.ol-sponsor__list.ol-sponsor__column4 { grid-template-columns: repeat(4, 1fr); }
.ol-sponsor__list.ol-sponsor__column6 { grid-template-columns: repeat(6, 1fr); }

.ol-sponsor__item {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ol-sponsor__link,
.ol-sponsor__nolink {
	display: block;
	width: 100%;
	overflow: hidden;
}
.ol-sponsor__image {
	width: 100%;
	height: auto;
	display: block;
	object-fit: contain;
	aspect-ratio: 4 / 3;
	background: #fff;
}
.ol-sponsor__name {
	margin-top: 8px;
	font-size: 0.9em;
	text-align: center;
}

@media (max-width: 768px) {
	.ol-sponsor__list.ol-sponsor__column1-sp { grid-template-columns: repeat(1, 1fr); }
	.ol-sponsor__list.ol-sponsor__column2-sp { grid-template-columns: repeat(2, 1fr); }
	.ol-sponsor__list.ol-sponsor__column3-sp { grid-template-columns: repeat(3, 1fr); }
	.ol-sponsor__section { padding: 48px 0; }
}

/* ----- CVボタン（左右の幅を 40/60 → 50/50 に） ----- */
/* 親テーマ specificity (0,2,0) を同セレクタで後出し上書き。 */
.ol-cvbutton__item.ol-cvbutton__left {
	flex-basis: 50%;
}
.ol-cvbutton__item.ol-cvbutton__right {
	flex-basis: 50%;
}


input, textarea {
	max-width: 100%;
	border-width: 1px;
	border-style: solid;
	border-radius: 6px;
	font-size: 16px;
	letter-spacing: 0.12rem;
	background-color: #fff;	
  padding: 6px 15px;
  border-color: rgba(31, 42, 55, 0.12);
}

input[type=submit]{
	color: #173f68;
	border: none;
	background-color: rgba(23, 63, 104, 0.09);
}