/* General styles for elements with fade-in effect */
img,
p,
h2,
h3,
h4,
a {
    opacity: 0;
    transition: opacity 1s ease-in;
}

/* Class to trigger fade-in effect */
.fade-in {
    opacity: 1;
    transition: opacity 1s ease-in;
}

/* Specific hover effect for links */
#golf_lp a:hover,
#golf_lp a img:hover {
    opacity: 0.5;
    transition: opacity 0.2s ease-in;
}

/* Reset opacity immediately when not hovered */
#golf_lp a:not(:hover),
#golf_lp a img:not(:hover) {
    opacity: 1;
    transition: opacity 0.2s ease-out;
}




.visible {
    opacity: 1;
}


/* CSSリセット */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

ol,
ul {
    list-style: none;
}


#golf_lp {
    font-family: "Noto Sans JP", sans-serif;
    color: #333333;
}

#golf_lp h1,
#golf_lp h2,
#golf_lp h3,
#golf_lp h4 {
    color: #171C61;
}


#golf_lp img {
    width: 100%;
    height: auto;
}

#golf_lp p {
    font-size: 16px;
    letter-spacing: 0.03em;
    line-height: 160%;
}


.width_base {
    width: 1000px;
    margin: 0 auto;
}

/*header*/

#golf_lp header {
    height: 68px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

#golf_lp header a img:nth-child(1) {
    width: 60px;
}

#golf_lp header a img:nth-child(2) {
    width: 79px;
}

/*mv?*/

.mv {
    position: relative;
}

.mv h1 {
	position: absolute;
	top: 34.3vw;
	width: 34.972vw;
}

.mv img {
    width: 100%;
}


.main_title {
    position: relative;
    display: flex;
    align-items: end;
    width: 782px;
    margin: -27px auto 66px;

}

.main_title h2 {
    font-size: 50px;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.05em;
}

.orange_bar {
    background-color: #f90;
    width: 84px;
    height: 264px;
}

.text {
    font-size: 2em;
    color: #1a237e;
    margin-left: -20px;
    /* Adjust this value to control the overlap */
}

.main_txt {
    padding-left: 300px;
    margin-bottom: 95px;
}

#golf_lp .main_txt p {
	width: 747px;
	font-size: 20px;
	margin: 0 auto 20px;
	line-height: 250%;
	letter-spacing: 0.03em;
}

/*pickup*/

.pickup_wrapper {
    background: #FDFFB2;
    margin-bottom: 98px;
}

.pickup {
    padding: 58px 0;
}

.pickup h2 {
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 40px;
}

#golf_lp .pickup h2 img {
    width: 84px;
    margin-bottom: -15px;
}

.pickup_items {
    display: flex;
    justify-content: space-between;
    width: 930px;
    margin: 0 auto 49px;
}

.pickup_items .pickup_item {
    width: 170px;
}

.pickup_items .pickup_item img {
    margin-bottom: 10px;
}

.pickup_items .pickup_item a {
    text-decoration: none;
    color: #1a237e;
}

.pickup h3 {
    text-align: center;
    font-size: 14px;
}

.pickup_btn_wrapper {
    text-align: center;
}

a.button_black {
	display: inline-flex;
	align-items: center;
	padding: 12px 23px 12px 24px;
	font-size: 19px;
	/* font-weight: 600; */
	color: #fff;
	background-color: #1a237e;
	text-decoration: none;
	border-radius: 5px;
	letter-spacing: 0.02em;
	width: 243px;
	justify-content: space-between;
}

a.button_black .icon {
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 9px;
    font-size: 14px;
}

a.button_black .icon::after {
    content: '→';
    color: #1a237e;
    font-size: 1.2em;
}

.present {
    margin: 0 auto 94px;
}

.present img {
    margin-bottom: 18px;
}



h2.recommend_title {
    font-size: 20px; 
    font-weight: 600;
    text-align: center;
    position: relative;
    margin: 0 auto 39px;
    line-height: 140%;
    letter-spacing: 0.05em;
}

h2.recommend_title::after {
	content: '';
	display: block;
	width: 34px;
	height: 1px;
	background-color: #171C61;
	margin: 16px auto 0;
}



/*tab*/
.tabs {
    display: flex;
    border-bottom: 1px solid #1a237e;
    justify-content: center;
}

.tab {
    padding: 20px 0px;
    text-align: center;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    width: 500px;
    font-family: "Roboto", sans-serif;
    letter-spacing: 0.05em;
}

.tab.active {
    background-color: #171C61;
    color: white;
}

.tab:not(.active) {
    background-color: #F0F0F0;
    color: #171C61;
}

.tab-content {
    display: none;
    padding: 74px 0px;
/*    font-size: 1.2em;*/
}

.tab-content.active {
    display: block;
}


.gender_title_items {
    display: flex;
    justify-content: space-between;
    width: 879px;
    margin: 0 auto 64px;
}

.gender_title_items .gender_title_item {
    width: 232px;
}

.gender_title_items .gender_title_item:nth-child(2) {
	width: 593px;
}

.gender_title_item h3 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 140%;
    letter-spacing: 0.05em;
}

.gender_nav_items {
    display: flex;
    justify-content: space-between;
    margin-bottom: 140px;
}

.gender_nav_items .gender_nav_item {
    width: 235px;
    text-align: center;
}


.gender_nav_item a::after {
	content: url('img/arrow-down.svg');
	display: block;
	width: 23px;
	margin: -6px auto;
}


/*スタイリング*/

.styling_wrapper {
    position: relative;
}

/*スタイリング 01*/

.styling_01_back {
    position: absolute;
    top: -20px;
    width: calc(50% + -154px);
    height: 525px;
}

.styling_01 {
    position: relative;
    margin: 26px auto 57px;
    height: 615px;

}

.styling_01_main {
    position: absolute;
    width: 425px;
}

.styling_01_detail {
    position: absolute;
    top: 22px;
    right: 0;
    width: 522px;
}

.styling_01_detail h3 {
    font-size: 26px;
    font-weight: 600;
    margin: 10px 0 20px;
    line-height: 140%;
    letter-spacing: 0.03em;
}

.styling_01_cta {
    position: absolute;
    width: 522px;
    right: 0;
    bottom: 0;
}


/*スタイリング 02*/

.styling_02_back {
    position: absolute;
    top: -20px;
    right: 0;
    width: calc(50% + -154px);
    height: 525px;
}

.styling_02 {
    position: relative;
    margin: 26px auto 57px;
    height: 615px;
}

.styling_02_main {
    position: absolute;
    right: 0;
    width: 425px;
}

.styling_02_detail {
    position: absolute;
    top: 22px;
    left: 0;
    width: 522px;
}

.styling_02_detail h3 {
    font-size: 26px;
    font-weight: 600;
    margin: 10px 0 20px;
    letter-spacing: 0.03em;
    line-height: 140%;
}

.styling_02_cta {
    position: absolute;
    width: 522px;
    left: 0;
    bottom: 0;
}


/*スタイリングCTA部分*/

.list {
    width: 100%;
    max-width: 600px;
    margin: 0px auto;
    border-radius: 8px;
    overflow: hidden;
    list-style: none;
    padding: 0;
}

.list-item {
    background-image: url(img/arrow.svg);
    background: l;
    background-repeat: no-repeat;
    background-position: right 15px center;
    opacity: 45;
}

.list-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0px 15px 15px;
    border-bottom: 1px solid #e0e0e0;
    color: #1a237e;
    font-size: 1.2em;
    font-size: 16px;
    text-decoration: none;
    color: #171C61;
    letter-spacing: 0.03em;
}

.list-item:last-child {
    border-bottom: none;
}

.price {
    color: #1a237e;
    font-weight: 600;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-style: normal;
    margin-right: 40px;
}

.arrow {
    color: #1a237e;
    font-weight: 600;
}



.styling_colorway h3 {
    position: relative;
    padding-left: 35px;
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 19px;
    width: 350px;
    margin: 0 0 19px 20px;
    line-height: 140%;
    letter-spacing: 0.05em;
}

.styling_colorway h3:before {
    content: '';
    display: block;
    width: 22px;
    height: 21px;
    background-image: url(img/color-icon.svg);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
}

.styling_colorway_items {
    display: flex;
    justify-content: space-between;
    margin-bottom: 151px;
}

.styling_colorway_items .styling_colorway_item {
    width: 220px;
}

.styling_colorway_items .styling_colorway_item a {
    text-decoration: none;
}

.styling_colorway img {
    margin-bottom: 12px;
}

.styling_colorway h4 {
    font-weight: 600;
    font-size: 15px;
    text-align: center;

    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    /* Adjust the height as needed */
    margin: 0;
    letter-spacing: 0.05em;
    line-height: 140%;
}


/*ジェンダー下のボタン*/

.gender_button {
    display: flex;
    align-items: center;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;

    padding: 10px 20px;
    text-decoration: none;
    color: #1a237e;
    width: 508px;
    justify-content: space-between;
    margin: 0 auto 90px;
    line-height: 140%;
    letter-spacing: 0.05em;
}

#golf_lp .gender_button img {
    width: 82px;
    padding: 25px;
}

.gender_button .gender_text {
    flex: 1;
    margin-left: 15px;
    font-size: 15px;
    font-weight: 600;
}

.gender_button .gender_arrow {
    width: 9px;
    height: 10px;
    margin-left: 34px;
    background-image: url('img/arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


/*FREEZE TECH-*/

#golf_lp .freeze h2 {
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    height: 65px;
    line-height: 65px;
    background: #4EABDD;
    color: #fff;
    border-radius: 10px 10px 0 0;
    letter-spacing: 0.05em;
}

.freeze_gray_wrapper {
    padding: 60px;
    background: #F9F9F9;
    border-radius: 0 0 10px 10px;
    margin-bottom: 131px;
}

.freeze_white_wrapper {
    padding: 60px;
    background: #FFF;
}


#golf_lp .freeze h3 {
    width: 493px;
    margin-bottom: 44px;
}

#golf_lp .freeze h4 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    line-height: 140%;
    letter-spacing: 0.05em;
}

.freeze_tech {
    padding-left: 28px;
    border-left: 1px solid #666;
    border-left: 1px solid rgba(102, 102, 102, 0.4);
    margin-bottom: 44px;
}


.freeze_main_items {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.freeze_main_items .freeze_main_item {
    width: 419px;
}

.freeze_main_items .freeze_main_item:nth-child(2) {
    width: 321px;
}

#golf_lp .freeze_main_item p {
    font-size: 15px;
}


.freeze_sub_items {
    display: flex;
    justify-content: space-between;
}

.freeze_sub_items .freeze_sub_item {
    width: 182px;
}

.freeze_sub_item p {
    text-align: center;
}

.freeze_sub_item p span {
    font-size: 13px;
}

.triangle {
    background: #ffffff;
    height: calc(tan(60deg) * 41px / 2);
    width: 48px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin: 0 auto 58px;
}

#golf_lp .freeze .freeze_corabo h3 {
    text-align: center;
    width: 496px;
    margin: 0 auto 36px;
    font-size: 18px;
    font-weight: 600;
}

#golf_lp .freeze .freeze_corabo h3 img {
    margin-bottom: 16px;
}

.freeze_corabo_photo_items {
	display: flex;
	justify-content: space-between;
	margin-bottom: 24px;
    align-items: center;
}

.freeze_corabo_photo_items .freeze_corabo_photo_item {
    width: 505px;
}

.freeze_corabo_photo_items .freeze_corabo_photo_item:nth-child(2) {
    width: 380px;
    margin: 18px 0;
}

#golf_lp .freeze .freeze_corabo p {
    margin-bottom: 0;
}




.freeze_cta {
	text-align: center;
}

.freeze_cta a.button_black {
	display: inline-flex;
	align-items: center;
	padding: 12px 18px 12px 24px;
	font-size: 16px;
	/* font-weight: 600; */
	color: #fff;
	background-color: #1a237e;
	text-decoration: none;
	border-radius: 5px;
	width: 248px;
}

.freeze_cta a.button_black .icon {
    display: inline-block;
    width: 13px;
    height: 13px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 9px;
    font-size: 13px;
}



#golf_lp footer {}

.footer_logo {
    width: 280px;
    margin: 0 auto 43px;
    text-align: center;
}

#golf_lp .footer_logo p {
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.05em;
    font-size: 15px;
}

.footer_logo img {
    width: 280px;
    margin: 0 auto 16px;
    text-align: center;
}

.footer_logo p {
    font-size: 15px;
}






/*TOPに戻る*/

.scroll-to-top {
    position: fixed;
    bottom: 47px;
    right: 47px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-color: #1a237e;
    border-radius: 50%;
    cursor: pointer;
    transition: opacity 0.3s;
    opacity: 0;
    visibility: hidden;
}

.scroll-to-top img {
    width: 60px;
    height: 60px;
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
}

.footer_link_01 {
    width: 458px;
    margin: 0 auto 42px;
    text-align: center;
}

a.arrow_link {
    background-image: url(img/arrow_black.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    opacity: 45;
    display: block;
    padding: 30px 0px;
    border-bottom: 1px solid #171C61;
    color: #1a237e;
    font-size: 16px;
    text-decoration: none;
    color: #171C61;
    text-align: center;
    letter-spacing: 0.03em;
}

.footer_link_02 {
    width: 1000px;
    margin: 0 auto 42px;
    text-align: center;
}

.footer_link_02_items {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer_link_02_list {
    width: 100%;
    margin: 0px auto;
    border-radius: 8px;
    overflow: hidden;
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: space-between;

}

.footer_link_02_list-item {
    background-image: url(img/arrow_black.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-position: right 15px center;
    width: 180px;
    height: 76px;
    border-bottom: 1px solid #171C61;
    display: flex;
    text-align: left;
    justify-content: center;
    align-items: center;
}

.footer_link_02_list-item a {
    display: block;
    padding: 15px 0px 15px 15px;
    color: #1a237e;
    font-size: 1.2em;
    font-size: 16px;
    text-decoration: none;
    color: #171C61;
    width: 100%;
    letter-spacing: 0.03em;
    line-height: 130%;
}


.footer_link_03 {
    width: 458px;
    margin: 0 auto 121px;
    text-align: center;
}

a.arrow_link_03 {
    background: #F9F9F9;
    background-image: url(img/arrow_black.svg);
    background-repeat: no-repeat;
    background-position: right 15px center;
    opacity: 45;
    display: block;
    padding: 30px 0px;
    font-size: 16px;
    text-decoration: none;
    color: #171C61;
    text-align: center;
    letter-spacing: 0.03em;
}

.footer_instagram {
    width: 33px;
    margin: 0 auto 57px;
}

.footer_logo_2 {
    width: 231px;
    margin: 0 auto 22px;
}

.footer_copy {
    text-align: center;
    font-size: 13px;
    color: #666666;
    font-family: "Roboto", sans-serif;
    margin-bottom: 90px;
    letter-spacing: 0.03em;
}

.pc_lp {
    display: block;
}

.sp_lp {
    display: none;
}

@media only screen and (max-width: 760px) {
    .pc_lp {
        display: none;
    }

    .sp_lp {
        display: block;
    }
}
