@charset "utf-8";

:root {
	--main-theme-color:    #324B62;
	--font-JP: "Noto Sans JP", sans-serif;
	--font-EN: "Anton", sans-serif;
	--main-theme-color-bg: #decdee;
}
body {
	margin:0;
	padding:0;
}
var{
	font-style: normal !important;
}
/* パンくず */
ul.breadcrumbs {
	display: flex;
	padding: 10px 2%;
	margin: 0;
    flex-wrap: wrap;
}
ul.breadcrumbs > li {
	display: block;
	font-size: var(--compact-font-size);
}
ul.breadcrumbs > li + li {
	margin-left: 3px;
}
ul.breadcrumbs > li + li::before {
	content: "＞";
	margin-right: 3px;
}
a:hover,
a:link,
a:visited {
	color: #000000;
}
.pc{
	display: none;
}
.sp{
	display: block;
}
/*------------------------------------*/

h1{
	margin: 0 !important;
	padding: 0 !important;
}

section.key-visual{
	width: 100%;
}
main section.key-visual {
	width:100%;
	height:auto;
	margin-bottom: 0;
	background-repeat: no-repeat;
	background-position: top center;
}
.key-visual-inner{
    background-image: url(../images/ambassador/pc_main.jpg); 
    background-size: cover; 
    background-position: center; 
	width:100%;
	height:auto;
	margin:0 auto 0;
}
.key-visual-inner img{
	width:100%;
	height:250px;
    object-fit: cover;
}
.key-visual-label {
	font-family: var(--font-JP);
    background-color: var(--main-theme-color);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    padding: 15px 5% 15px 5%;
}
.KV-text {
	font-family: var(--font-JP);
    color: var(--main-theme-color);
    text-align: center;
    width: 90%;
    margin: 20px auto 20px auto;
    font-size: 20px;
    font-weight: 900;
}
.KV-text span {
	font-family: var(--font-JP);
    font-weight: 900;
}
.description div{
	font-family: var(--font-JP);
    width: 90%;
    font-weight: bold;
    margin: auto;
    line-height: 1.7;
    margin-bottom: 30px;
}
.item-title {
	font-family: var(--font-JP);
    background-color: var(--main-theme-color);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0 10px 0;
}
.item-title p{
    font-size: 40px;
    font-weight: 900;
    position: absolute;
    color: #51697C;
}
.comment p {
	font-family: var(--font-EN);
    left: 5%;
}
.item-title span {
    position: relative;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    z-index: 10;
}
/* キャンペーン詳細 */
section.item{
	height: auto;
	overflow: hidden;
	margin: auto;
	display: flex;
	flex-direction: column;
}
/* コメント */
#comment {
	font-family: var(--font-JP);
    background-image: url(../images/ambassador/sp_bg.jpg); 
    background-size: cover; 
    background-position: center; 
}
.comment-img {
    width: 50%;
    height: auto;
    margin: 30px auto 20px auto;
}
.name_ambassador {
    text-align: center;
	font-family: var(--font-JP);
    color: var(--main-theme-color);
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 10px;
}
.name_president {
    text-align: center;
	font-family: var(--font-JP);
    color: var(--main-theme-color);
    font-size: 28px;
    font-weight: 900;
    margin-bottom: 10px;
}
.comment-item {
}
.comment-text {
	font-family: var(--font-JP);
    width: 90%;
    font-weight: bold;
    margin: auto;
    line-height: 1.7;
    margin-bottom: 40px;
}
/* スケジュール */
#schedule {
    background-image: url(../images/ambassador/sp_bg_2.png); 
    background-size: 90% auto; /* 【変更】横幅100%、高さは自動（比率維持） */
    background-position: 170% bottom; 
    background-repeat: no-repeat;
}
.schedule {
    margin-bottom: 30px;
}
.schedule p {
	font-family: var(--font-EN);
    right: 5%;
}
.season-list {
    width: 90%;
    margin: 0 auto 40px auto;
}
.season-item {
    margin-bottom: 20px;
}
.season {
	font-family: var(--font-JP);
    font-size: 20px;
    font-weight: 900;
    line-height: 1.3;
}
.spring{
    color: #D16676;
}
.summer{
    color: #329687;
}
.autumn{
    color: #D46650;
}
.winter{
    color: #4E739F;
}
.schedule-text {
    width: calc(100% - 3px);
    display: flex;
    justify-content: start;
    font-weight: bold;
    line-height: 1.7;
}
.schedule-text span {
    margin-right: 3px;
}
.schedule-text span::before{
    content: "●";
    font-size: 1em;
    flex-shrink: 0;
}
.schedule-text p {
    font-size: 14px;
    font-weight: bold;
    right: 0;
}
.short {
    width: 60%;
}
/* プロフィール */
.profile {
    margin-bottom: 30px;
}
.profile p {
	font-family: var(--font-EN);
    left: 5%;
}
.profile-text {
	font-family: var(--font-JP);
    width: 90%;
    font-weight: bold;
    margin: auto;
    line-height: 1.7;
    margin-bottom: 40px;
}
/*-- タブレット／PC用スタイリング --*/
/*@media screen and (min-width:768px) and (max-width:959px) {*/
@media screen and (min-width:960px) {
	.pc{
	display: block;
	}
	.sp{
	display: none;
	}

    h1{
        margin: 0 !important;
        padding: 0 !important;
    }

    section.key-visual{
        width: 100%;
    }
    .key-visual-inner img{
        height:auto;
    }
    .key-visual-label {
        background-color: var(--main-theme-color);
        color: #ffffff;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        padding: 15px 0 15px 0;
    }
    .KV-text {
        color: var(--main-theme-color);
        text-align: center;
        width: 800px;
        margin: 50px auto 50px auto;
        font-size: 30px;
        font-weight: 900;
    }
    .KV-text span {
        font-weight: 900;
    }
    .description div{
        width: 800px;
        font-size: 18px;
        line-height: 2.2;
        margin-bottom: 100px;
        font-weight: 600;
    }
    .item-title {
        background-color: var(--main-theme-color);
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 20px 0 20px 0;
        height: auto;
    }
    .item-title p{
        font-size: 60px;
        font-weight: 900;
        position: absolute;
        color: #51697C;
    }
    .comment p {
        left: calc(50% - 400px);
    }
    .item-title span {
        position: relative;
        color: #ffffff;
        font-size: 20px;
        font-weight: 900;
        text-align: center;
        z-index: 10;
    }
    /* コメント */
    #comment {
        background-image: url(../images/ambassador/sp_bg.jpg); 
        background-size: cover; 
        background-position: center; 
    }
    .comment {
        margin-bottom: 70px;
    }
    .comment-block {
        width: 800px;
        margin: auto;
    }
    .comment-img {
        width: 250px;
        height: auto;
        margin-top: 0;
    }
    .comment-img img{
        width: 100%;
        margin-top: 0;
    }
    .name_ambassador {
        text-align: start;
        color: var(--main-theme-color);
        font-size: 30px;
        font-weight: 900;
        margin-bottom: 30px;
    }
    .name_president {
        text-align: end;
        color: var(--main-theme-color);
        font-size: 30px;
        font-weight: 900;
        margin-bottom: 30px;
    }
    .comment-item {
        display: flex;
        gap: 30px;
        justify-content: space-between;
        align-items: flex-start;
        margin: 0 auto 50px auto;
    }
    .comment-text {
        font-size: 18px;
        font-weight: 600;
        margin: -7px auto 0 auto;
        line-height: 2.2;
    }
    /* スケジュール */
    #schedule {
        background-image: url(../images/ambassador/pc_bg_2.png); 
        background-size: cover; 
        background-position: center bottom; 
    }
    .schedule {
        margin-bottom: 70px;
    }
    .schedule p {
        right: calc(50% - 400px);
    }
    .season-list {
        width: 800px;
        margin: 0 auto 100px auto;
    }
    .season-item {
        margin-bottom: 70px;
        display: flex;
        flex-direction: column;

    }
    .season {
        font-size: 42px;
        font-weight: 900;
        line-height: 1.3;
        margin-bottom: 20px;
    }
    .spring{
        color: #D16676;
    }
    .summer{
        color: #329687;
    }
    .autumn{
        color: #D46650;
    }
    .winter{
        color: #4E739F;
    }
    .schedule-text {
        width: calc(100% - 3px);
        display: flex;
        justify-content: flex-start;
        font-weight: bold;
        line-height: 1.7;
    }
    .schedule-text span {
        margin-right: 3px;
    }
    .schedule-text span::before{
        content: "●";
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2em;
        flex-shrink: 0;
    }
    .schedule-text p {
        width: 100%;
        font-size: 18px;
        font-weight: bold;
        right: 0;
    }
    .short {
        width: 100%;
    }
    /* プロフィール */
    .profile {
        margin-bottom: 70px;
    }
    .profile p {
        left: calc(50% - 400px);
    }
    .profile-text {
        width: 800px;
        font-weight: 600;
        margin: auto;
        font-size: 18px;
        line-height: 2.2;
        margin-bottom: 40px;
    }
}