@charset "UTF-8";
/* ----------------------------
import css
---------------------------- */ 
@import url("reset.css");
body{
font-family: "Helvetica Neue", Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}
/*=============================================================
#base
=============================================================*/
body,html{
}
body,html{
width: 100%;
}
body {
margin: 0px;
padding: 0px;
background-color: #FFF;
font-size: 1em;
line-height: 1.8em;
color: #333333;
text-align: left;
text-size-adjust: 100%;
}
a:active {
color: #0000FF;
text-decoration: underline;
}
a:visited {
color: #66F;
text-decoration: underline;
}
a:link {
color: #0000FF;
text-decoration: underline;
transition: all 0.3s ease-out;
}
a:hover {
color: #00F;
text-decoration: underline;
}
#container {
margin-right:auto;
margin-left:auto;
margin-top: 0px;
margin-bottom: 0px;
text-align: center;
width: 100%;
background-color: #FFF;
}
a[href^="tel:"] {
pointer-events: none;
text-decoration: none;
color: #000;
}
.hd,
#sp_menu {
display: none;
}
/*=============================================================
Web fonts
=============================================================*/
.Ryo_DisplayM{
font-family: ryo-display-plusn, serif;
font-weight: 500;
font-style: normal;
}
.Ryo_DisplaySB{
font-family: ryo-display-plusn, serif;
font-weight: 600;
font-style: normal;
}
.Ryo_GothicM {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
font-style: normal;
}
.Ryo_GothicB {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
}
.Shippori_MinchoR {
font-family: shippori-mincho, sans-serif;
font-weight: 400;
font-style: normal;
}
.Shippori_MinchoSB {
font-family: shippori-mincho, sans-serif;
font-weight: 600;
font-style: normal;
}
.Longhand {
font-family: longhand-lp, sans-serif;
font-weight: 400;
font-style: normal;
}
.LXGW {
font-family: lxgw-wenkai-mono-tc, sans-serif;
font-weight: 700;
font-style: normal;
}
/*=============================================================
#header
=============================================================*/
header {
width: 100%;
padding: 18px 0 15px 0;
}
header dl {
width: 98%;
margin: 0px auto 0 auto;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
header dt {
max-width: 380px;
width: 25%;
position: relative;
text-align: left;
height: 65px;
display: block;
padding: 8px 0 0 0;
}
header dt:after {
content: '';
display: inline-block;
width: 74px;
height: 65px;
background-image: url("../image/45th.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 0;
right: 0;
}
header dt img {
width: 70%;
height: auto;
}
header dd {
width: 70%;
}
@media screen and (min-width: 1600px),print {
header dd {
width: 50%;
}
}

@media screen and (min-width: 0px) and (max-width: 1000px) {
header {
padding: 10px 0 0 0;
}
header dt {
max-width: 20%;
width: 20%;
position: relative;
text-align: left;
height: auto;
display: block;
padding: 10px 0 0 0;
}
header dt:after {
content: '';
display: inline-block;
width: 35px;
height: 31px;
background-image: url("../image/45th.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 3px;
right: 0;
}
header dt img {
width: 70%;
height: auto;
}
header dd {
width: 80%;
}
}

header dd ul {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
}
header dd ul li {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
font-size: clamp(0.813rem, 0.734rem + 0.39vw, 1.125rem);
line-height: 1.5em;
margin: 0 0.5em 0 0.5em;
}
header dd ul li.bt a {
text-decoration: none;
color: #000;
padding-bottom: 10px; /* テキストと下線の間隔 */
background-image: linear-gradient(#830324, #830324);
background-repeat: no-repeat;
background-position: bottom right; /* 下線の初期位置 */
background-size: 0 2px; /* 下線のサイズ（横幅、高さ） */
transition: background-size 0.3s;
}
header dd ul li.bt a:hover {
color: #991d41;
background-position: bottom left; /* 下線のホバー時位置 */
background-size: 100% 2px; /* 下線の横幅を100%にする */
}
header dd ul li.contact {
width: 200px;
max-width: 200px;
min-width: 150px;
}
header dd ul li.contact a {
text-decoration: none;
color: #FFF;
display: block;
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
line-height: 1.3em;
background-color: #830324;
box-sizing: border-box;
padding: 0.7em 0 0.7em 0;
position: relative;
}
header dd ul li.contact a:before {
content: '';
display: inline-block;
width: 19px;
height: 15px;
background-image: url("../image/icon_mail.png");
background-size: contain;
vertical-align: middle;
margin-right: 10px;
position: relative;
top: -1px;
}
header dd ul li.contact a:hover {
color: #FFF;
text-decoration: none;
background-color: #463c69;
}
/*=============================================================
#contents
=============================================================*/
#mainbody {
width: 100%;
margin: 0px auto 0 auto;
}
#mainbody #title {
display: block;
color: #FFF;
text-align: left;
position: relative;
z-index: 1;
}
#mainbody #title dl {
max-width: 1200px;
width: 90%;
margin: 0px auto 0 auto;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
padding: 0px 0 50px 0;
position: relative;
z-index: 2;
}
#mainbody #title dl:after {
content: '';
display: block;
width: 18vw;
height: 13vw;
background-size: cover;
vertical-align: middle;
margin-right: 10px;
position: absolute;
z-index: 15;
top: 60%;
right: -10%;
}
#mainbody #title dt {
max-width: 660px;
width: 55vw;
font-family: ryo-display-plusn, serif;
font-weight: 600;
font-style: normal;
padding: 50px 1em 0 0;
box-sizing: border-box;
}
#mainbody #title dt h1 {
font-size: clamp(0.813rem, 0.426rem + 1.93vw, 1.875rem);
line-height: 1.5em;
}
#mainbody #title dt h1:after {
content: '';
display: block;
width: 150px;
height: 5px;
position: relative;
background-color: #aeb6c1;
margin: 0.5em auto 0 0;
}
#mainbody #title dt h2 {
font-size: clamp(0.813rem, 0.199rem + 3.07vw, 2.35rem);
line-height: 1.5em;
padding: 0.5em 0 0.5em 0;
}
#mainbody #title dt p {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
font-style: normal;
color: #b2b2b2;
font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
line-height: 1.5em;
}
#mainbody #title dd {
max-width: 500px;
width: 40vw;
padding: 30px 0 0 0;
}
#mainbody #title dd img {
width: 100%;
height: auto;
}
h3 {
font-family: shippori-mincho, sans-serif;
font-weight: 600;
font-style: normal;
font-size: clamp(0.813rem, 0.517rem + 1.48vw, 1.625rem);
line-height: 1.5em;
margin: 0px auto 1.5em auto;
text-align: center;
}
h3 b {
font-family: longhand-lp, sans-serif;
font-weight: 400;
font-style: normal;
font-size: clamp(0.813rem, -0.256rem + 5.34vw, 3.75rem);
line-height: 1.2em;
color: #314464;
}
h4 {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
font-size: clamp(0.813rem, 0.517rem + 1.48vw, 1.625rem);
line-height: 1.5em;
margin: 0px auto 1.5em auto;
}
#mainbody p.bt {
font-family: shippori-mincho, sans-serif;
font-weight: 400;
font-style: normal;
font-size: clamp(0.813rem, 0.563rem + 1.25vw, 1.5rem);
line-height: 1.5em;
width: 260px;
margin: 0px auto 0 auto;
height: auto;
}
#mainbody p.bt a {
color: #FFF;
background-color: #830324;
display: block;
border-radius: 100vh;
text-align: center;
text-decoration: none;
padding: 0.2em 0 0.3em 0;
position: relative;
}
#mainbody p.bt a:after {
content: '';
box-sizing: border-box;
display: inline-block;
position: absolute;
width: 10px;
height: 10px;
border-style: solid;
border-width: 3px 3px 0 0;
border-color: #aaaaaa;
transform: rotate(45deg);
top: 38%;
right: 7%;
}
#mainbody p.bt a:hover {
background-color: #916691;
}
#mainbody p.bt a:hover:after {
right: 6%;
border-color: #FFF;
}

/******************** contact *******************/
#contact {
margin: 0px auto 0 auto;
max-width: 1200px;
width: 90%;
}
#contact h3 {
font-family: shippori-mincho, sans-serif;
font-weight: 600;
font-style: normal;
font-size: clamp(0.813rem, 0.517rem + 1.48vw, 1.625rem);
line-height: 1.5em;
margin: 0px auto 1.5em auto;
}
#contact h3 b {
font-family: longhand-lp, sans-serif;
font-weight: 400;
font-style: normal;
font-size: clamp(0.813rem, -0.256rem + 5.34vw, 3.75rem);
line-height: 1.2em;
color: #314464;
}
#contact h4 {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
font-size: clamp(0.813rem, 0.517rem + 1.48vw, 1.625rem);
line-height: 1.5em;
margin: 0px auto 1.5em auto;
}
#contact p {
color: #3f3f3f;
font-family: ryo-display-plusn, serif;
font-weight: 500;
font-style: normal;
font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
line-height: 1.8em;
}
#contact dl {
border: 1px solid #df699d;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
max-width: 1200px;
width: 100%;
margin: 40px auto 0 auto;
font-family: shippori-mincho, sans-serif;
font-weight: 600;
font-style: normal;
}
#contact dd {
width: 50%;
padding: 30px 0 30px 0;
}
#contact dd h6 {
font-size: clamp(0.813rem, 0.608rem + 1.02vw, 1.375rem);
line-height: 1.5em;
font-weight: 500;
text-align: center;
}
#contact dd p {
color: #707070;
font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
line-height: 1.5em;
text-align: center;
margin: 0px auto 0 auto;
}
#contact dd p.tel {
margin: 0px auto 0 auto;
}
#contact dd p.tel a[href^="tel:"] {
color: #830324 !important;
font-size: clamp(0.813rem, -0.369rem + 5.91vw, 4.063rem);
line-height: 1.2em;
font-family: shippori-mincho, sans-serif;
font-weight: 400;
font-style: normal;
position: relative;
}
#contact dd p.tel:before {
content: '';
display: inline-block;
width: 2.4166666666666665vw;
height: 3.833333333333333vw;
background-image: url("../image/icon_tel.png");
background-size: contain;
vertical-align: middle;
margin-right: 20px;
position: relative;
top: -1.5vw;
}
#contact p.mail {
margin: 0px 0 0 0;
}
#contact p.mail a {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 600;
background-color: #830324;
color: #FFF;
font-style: normal;
text-decoration: none;
font-size: clamp(0.813rem, 0.472rem + 1.7vw, 1.75rem);
line-height: 1.5em;
display: block;
max-width: 430px;
width: 90%;
text-align: center;
padding: 0.6em 0 0.6em 1em;
box-sizing: border-box;
position: relative;
margin: 0.3em auto 0 auto;
border-radius: 100vh;
box-shadow:0px 0px 3px 1px rgba( 0, 0, 0, 0.5);
}
#contact p.mail a:before {
content: '';
display: inline-block;
width: 2.3333333333333335vw;
height: 1.8333333333333333vw;
background-image: url("../image/icon_mail.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 37%;
left: 10%;
}
#contact p.mail a:hover {
background-color: #916691;
}
@media screen and (min-width: 1201px),print {
#contact dd p.tel:before {
width: 29px;
height: 46px;
top: -18px;
}
#contact p.mail a:before {
width: 28px;
height: 22px;
}
}

/*=============================================================
#FOOTER
=============================================================*/
.pagetop {
display: none;
position: fixed;
bottom: 30px;
right: 30px;
width: 50px;
height: 50px;
text-align: center;
z-index: 8000;
cursor: pointer;
}
.pagetop span {
display: block;
border-radius: 50%;
background: #830324;
color: #fff;
font-size: 18px;
text-align: center;
margin: 0px auto 0 auto;
text-decoration: none;
font-weight: bold;
height: 100%;
width: 100%;
line-height: 2.5;
font-family: Arial, Helvetica, sans-serif;
}
.pagetop span:hover {
background-color: #8a969e;
}
#footer {
margin: 150px auto 0 auto;
text-align: center;
overflow: hidden;
position: relative;
width: 100%;
padding-bottom: 100px;
}
#footer .navi {
text-align: left;
width: 100%;
margin: 0px auto 70px auto;
background-color: #a0a0a0;
}
#footer .navi ul {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: center;
max-width: 1000px;
margin: 0px auto 0 auto;
width: 90%;
}
#footer .navi ul li {
padding: 1em 0 1em 0;
}
#footer .navi ul li a {
font-size: clamp(0.813rem, 0.676rem + 0.68vw, 1.188rem);
line-height: 1em;
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
font-style: normal;
color: #FFF;
}
#footer .navi ul li a:hover {}
#footer .logo {
margin: 0px auto 30px auto;
}
#footer p {
font-family: ryo-display-plusn, serif;
font-weight: 500;
font-style: normal;
font-size: clamp(0.813rem, 0.653rem + 0.8vw, 1.25rem);
line-height: 2em;
color: #3f3f3f;
}
#footer p.copy {
text-align: center;
font-size: 13px;
color: #999;
line-height: 150%;
margin-top: 60px;
}
#footer a {
color: #333;
text-decoration: none;
margin-right: 5px;
margin-left: 5px;
}
#footer a:hover {
color: #000;
text-decoration: underline;
}
