@charset "UTF-8";

/************************************
*	ポップアップバナー
*	コラム用
************************************/
.popup-banner {
    background: #fff;
	box-sizing: border-box;
	left: 16px;
	bottom: 0;
	position: fixed;
	transform: translateY(140px);
	transition: transform 0.35s ease, height 0.25s ease;
	height: 130px;
	width: 220px;
	z-index: 9999;
	@media screen and (max-width: 834px) {
		left: 0;
		right: 0;
		margin: auto;
		height: 50px;
		width: 70%;
		max-width: 250px;
	}
}

.popup-banner.is-show {
	transform: translateY(0);
}

.popup-banner__main {
    background: #fff;
    border-radius: 10px 10px 0 0;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
    box-sizing: border-box;
    position: relative;
    overflow: visible;
    height: inherit;
    width: 220px;
	@media screen and (max-width: 834px) {
		height: 50px;
		width: 100%;
	}
}

a.popup-banner__link {
    box-sizing: border-box;
    color: #333;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0;
    position: relative;
    text-decoration: none;
    height: 100%;
    width: 100%;
	@media screen and (max-width: 834px) {
		flex-direction: row;
	}
	&::before {
		content: "";
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' class='openmenu'%3E%3Cstyle%3E.openmenu%7Bfill:%230a5691;%7D%3C/style%3E%3Cpath d='M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E") no-repeat center;
		margin: 0;
		transform: rotate(-90deg);
		transition: var(--common-transition);
		position: absolute;
		top: 36px;
		bottom: 50%;
		left: auto;
		right: 5px;
		height: 20px;
		width: 20px;
		z-index: 0;
	}
	&:hover::before {
		right: 2px;
	}
}

.popup-banner__button {
    background: #fff;
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    font-weight: bold;
    position: absolute;
    top: -10px;
    height: 95px;
    width: 100px;
    aspect-ratio: 1/1;
	@media screen and (max-width: 834px) {
		position: static;
		height: 50px;
		width: 50px;
	}
	&::before {
        content: "";
        border-radius: 50%;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
        position: absolute;
        bottom: auto;
        height: 95px;
        width: 100px;
        z-index: -1;
		@media screen and (max-width: 834px) {
			content: none;
		}
	}
}
	
.popup-banner__title_wrap {
    background: #0a4999;
    display: inline-flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    top: 80px;
    bottom: 0;
    height: 50px;
    width: 100%;
    /* transition: transform 0.35s ease, height 0.25s ease; */
	@media screen and (max-width: 834px) {
		justify-content: center;
		align-items: flex-start;
		position: static;
	}
	> span {
		color: #fff;
		display: inline-flex;
		flex-direction: column;
        align-items: center;
		font-weight: bold;
		padding: 5px;
		margin: auto;
	}
	.popup-banner__catch {
        justify-content: flex-start;
		font-size: 14px;
		font-variation-settings: "wght" 600;
		line-height: 1.5;
		height: 40%;
		width: 100%;
		@media screen and (max-width: 834px) {
			font-size: 12px;
            align-items: flex-start;
            margin-left: 0.5em;
		}
		> span {
			display: flex;
			flex-direction: row;
			justify-content: center;
			align-items: baseline;
			gap: 1.5px;
		}
	}
	.popup-banner__title {
		justify-content: center;
		font-size: 14.5px;
		font-variation-settings: "wght" 700;
		line-height: 1;
		height: 60%;
		width: 100%;
		@media screen and (max-width: 834px) {
			align-items: flex-start;
			font-size: 12px;
		}
	}
}

.popup-banner__close {
    background: #333;
    border: none;
    border-radius: 50%;
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.5);
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    line-height: 24px;
	transition: transform 0.1s ease, height 0.1s ease;
    position: absolute;
    top: -2px;
    right: -2px;
    height: 25px;
    width: 25px;
    z-index: 2;
	@media screen and (max-width: 834px) {
		height: 30px;
		width: 30px;
	}
	&:hover {
		transform: scale(1.3);
		transition: transform 0.2s ease, height 0.2s ease;
	}
	&::after {
		background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cstyle%3E.white%7Bfill:%23fff;%7D%3C/style%3E%3Cpath class='white' d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E") no-repeat center;
		content: "";
		fill: #fff;
		position: absolute;
		margin: auto;
		right: 0;
		left: 0;
		top: 0;
		bottom: 0;
		aspect-ratio: 1/1;
		width: 17px;
	}
}

.popup-banner__mini {
    display: none;
    background: #fff;
    border: none;
    border-radius: 8px 8px 0 0;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
    color: #0a5691;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    height: 120px;
    width: 250px;
    transform: translateY(0);
	@media screen and (max-width: 834px) {
		height: 35px;
		width: 220px;
	}
}

/* 縮小版ポップアップ */
.popup-banner.is-minimized {
	height: 40px;
    width: 250px;
	@media screen and (max-width: 834px) {
        background: transparent;
        margin: 0;
        transform: translate(15px, -30px);
        height: 45px;
        width: 45px;
	}
	&:hover {
		height: 45px;
	}
}

/* 縮小版ポップアップ・メイン */
.popup-banner.is-minimized .popup-banner__main {
  display: none;
}

/* 縮小版ポップアップ・縮小版 */
.popup-banner.is-minimized .popup-banner__mini {
    display: grid;
    grid-template-columns: 50px 1fr;
    grid-template-rows: 1fr;
    justify-content: center;
    align-items: flex-start;
    align-content: center;
	width: inherit;
	@media screen and (max-width: 834px) {
		border-radius: 50%;
		height: 45px;
		width: 45px;
	}
	.popup-banner__mini_img {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 40px;
		width: 50px;
		@media screen and (max-width: 834px) {
            font-size: 13px;
			height: 45px;
		}
		img {
			object-fit: cover;
			object-position: center;
			height: 35px;
			width: 37px;
			@media screen and (max-width: 834px) {
				height: 32px;
				width: 33px;
			}
		}
	}
	.popup-banner__mini_title {
		font-size: 14px;
		display: inline-flex;
		justify-content: flex-start;
		align-items: center;
		line-height: 1.1;
		text-align: left;
		position: relative;
		padding-left: 10px;
        height: 40px;
		@media screen and (max-width: 834px) {
            display: none;
		}
		&::before {
			background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' class='openmenu'%3E%3Cstyle%3E.openmenu%7Bfill:%230a5691;%7D%3C/style%3E%3Cpath d='M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E") no-repeat center;
			content: "";
			margin: auto;
			transform: rotate(-90deg);
			transition: var(--common-transition);
			position: absolute;
			top: 0;
			bottom: 0;
			left: -19px;
			right: auto;
			width: 40px;
			z-index: 0;
			height: 15px;
		}
	}
	&:hover {
		.popup-banner__mini_title {
			&::before {
				content: "";
				left: -17px;
			}
		}
	}
}

/* ページ下部へ到達したら非表示にする */
@media screen and (max-width: 767px) {
  .popup-banner.is-bottom-hidden,
  .popup-banner.is-show.is-minimized.is-bottom-hidden {
    transform: translateY(140px);
    pointer-events: none;
  }
}