@charset "utf-8";
/* CSS Document */
html {scroll-behavior: smooth;}

body {
	background-color:#f5f3eb; color:#4c4c4c; font-size: 16px; line-height: 1.8;
	font-family: "Noto Serif JP","Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif; font-weight:600;
	margin: 0 auto; height: 100%; overflow-x:hidden;
}

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box;-o-box-sizing: border-box;  -ms-box-sizing: border-box;box-sizing: border-box;}

.lb {font-family:'Libre Baskerville',"Yu Gothic", "Meiryo", "Hiragino Kaku Gothic ProN", sans-serif;font-weight: 400; font-style: normal;}

.rl { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
.lr { -ms-writing-mode: tb-lr; writing-mode:lr-tb; }


.fs12vw { font-size:calc(12 * 0.0625vw); }
.fs14vw { font-size:calc(14 * 0.0625vw); }
.fs16vw { font-size:calc(16 * 0.0625vw); }
.fs18vw { font-size:calc(18 * 0.0625vw); }
.fs20vw { font-size:calc(20 * 0.0625vw); }
.fs24vw { font-size:calc(24 * 0.0625vw); }
.fs26vw { font-size:calc(26 * 0.0625vw); }
.fs28vw { font-size:calc(28 * 0.0625vw); }
.fs30vw { font-size:calc(30 * 0.0625vw); }
.fs32vw { font-size:calc(32 * 0.0625vw); }
.fs36vw { font-size:calc(36 * 0.0625vw); }
.fs40vw { font-size:calc(40 * 0.0625vw); }
.fs48vw { font-size:calc(48 * 0.0625vw); }
.fs50vw { font-size:calc(50 * 0.0625vw); }
.fs56vw { font-size:calc(56 * 0.0625vw); }
.fs100vw { font-size:calc(100 * 0.0625vw); }

.blue { color:#76c0d1; }
.light_blue { color:#a5e2f0; }
.red { color:#de0000; }
.white { color:#FFF; }

.bg_blue { background-color:#76c0d1; }
.bg_light_blue { background-color:#e9f4f6; }
.bg_white { background-color:#FFF; }


img { border: none; vertical-align: middle; }

img.top { vertical-align: top; }
img.bottom { vertical-align: bottom; }
img.banner { border: solid 1px #DDD; }


address, em { font-style: normal; }

a { color: #4c4c4c; text-decoration: none; }

a:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	opacity: 0.9; filter: alpha(opacity=90); -ms-filter: "alpha( opacity=90 )";
}


.position_r { position:relative; z-index:1; }
.position_a { position:absolute; z-index:0 }

/*********** class ****************************************/


/********** float ************/
.c-both { clear: both; }
.clearfix:after { content: ""; clear: both; display: block; }
.left { float: left; }
.right { float: right; }
.center { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.txt_right { margin-left:auto; margin-right:0; text-align:right; }
/******* end float **********/

/******* flex box ***********/
.flex {
	display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex;
	justify-content: space-evenly;
}
.height {
	justify-content: space-evenly; flex-wrap: wrap; align-items: stretch;
}

/****** layout ********/
.inner {
	width: 94%; max-width: 1810px; margin: 0 auto;
}
.middle_inner {
	width: 94%; max-width: 1677px; margin: 0 auto; z-index:10;
}
.low_inner {
	width: 94%; max-width: 1360px; margin: 0 auto;
}
.minimum_inner {
	width: 94%; max-width: 1120px; margin: 0 auto;
}

.heading { width: 100%; }

/* image parent cover *******/
.fit { object-fit: cover; font-family: 'object-fit: cover;'; max-width: 100%; }

dl.table { display:table; width:100%; }
dl.table dt,dl.table dd { display:table-cell; }

/****** display ********/

.pc { display: block; }
.sp { display: none; }


:root {
	--fv_padding: 9vw;
}
h1,h2,h3,h4,h5,h6 { font-weight:600; }

header#header {  }
header#header .logo { display:inline-block; margin:0; padding:0.7em 0 0.7em 0; line-height: 1; }
header#header .logo img { margin-right: 0.2em; max-width:66px; width:3.4375vw;}
header#header .logo span { display:inline-block; transform: scale(0.9, 1); }
header#header nav { display:inline-block; padding:2em 0 2em 0; }
header#header nav a { display:inline-block; margin-left:2em; }

main #fv {  }
main #fv .fv_text { display:block; z-index:1000; margin:auto; left:3vw; right:0; top: 0; bottom: 18.8vw; height: 13.697vw; }
main #fv .fv_text img { max-width:182px; width:9.479vw; max-height: 392px; height:auto; }
main #fv .swiper-slide { height:min(51.8vw, 1011px); background-position:top center; background-size:100%; background-repeat:no-repeat; }
main #fv .slide01 { background-image:url(../img/slide01.jpg); }
main #fv .slide02 { background-image:url(../img/slide02.jpg); }
main #fv .slide03 { background-image:url(../img/slide03.jpg); }

.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: 10%; left: 0; width: 7em;
}
.swiper-pagination-bullet { width: 8px; height: 8px; display: inline-block; border-radius: 100%; background: #d0eaf0; opacity:1; }
.swiper-pagination-bullet-active { background: #3da1b8;}



section#about {
	position: relative;z-index: 10; margin-top: -8.5vw; padding:10vw 0 2em 0;
	background: url(../img/about_top_bg.png) top center / contain no-repeat, url(../img/about_bottom_bg.jpg) bottom center / contain no-repeat;
}

.ttl { margin:0; padding:0 0 2em 0; }
main .ttl span { display:block; }


section#about .about_first .first_title { margin:0 0 1em 0; }
section#about .about_first .about_right_img { max-width:482px; width:23vw; margin-top:-10vw; }
section#about .about_first .about_left_img { max-width:468px; width:22vw; margin-top:2em; }

section#about .about_first .en { bottom: -6vw; left: 1vw; z-index: 0; line-height: 1.3; opacity:0.2; }

section#about .about_second { padding: 8em 3vw 1em 0; }
section#about .about_second .about_map { display: block; width:15.2vw; margin-left:3vw; }
section#about .about_second .second_slug { border-left:solid 1px #76c0d1; padding: 0 0 2em 0.5em; }


section#gift header { padding:5em 0 4em 0; }
section#gift header ul { list-style-type:none; margin: 2em auto 2em auto;padding: 0; max-width: 96%; justify-content: center; }
section#gift header ul li { text-align:center; margin: 1vw 1vw 2em 1vw; }
section#gift header ul li .num { top: -2vw; left: -0.8vw; }
section#gift header ul li .thum { max-width:160px; width:100%; filter: drop-shadow(0 0 10px #79B7C6); }
section#gift header ul li em { display:block; margin: 0.8em 0 0 0; }


.items { background: linear-gradient(180deg, #f5f3eb 0%, #f5f3eb 11vw, #FFF 11vw, #FFF 100%); }
.items.content_left { padding:0 0 0 4%; }
.items.content_right { padding:0 4% 0 0; }

.items .item_name { margin: 0 1em 0 0; padding:15vw 0 1em 0; line-height: 1.5; }
.items .item_name span.num { top:8vw; line-height:1; }
.items .item_name span.slug { display:block; border-left:solid 1px #76c0d1; padding: 1em 0 min(11vw,320px) 0.5em; max-height:340px; height: 23vw; }
.items .item_name em { display: block; padding:0 0.2em 0 0; letter-spacing: 0.15em; }

.items .item_catch { padding: 24vw 0 0 0; }


.items .text { width:46%; }
.items .item_img { max-width:1100px; max-height:660px; width:52%; margin:10vw 0 6em 0; }

.items .portal { padding:2em 0 4em 0; justify-content: flex-start; }
.items .portal a { width: 18%; margin: 0 1% 2% 1%;; }
.items .portal a img { width:100%; max-width:210px; }
.items .portal a.none { pointer-events:none; filter: brightness(50%); }

section#use { padding:5em 0 4em 0; background: url(../img/use_bg.jpg) center / cover; }
section#use .use_wrapper { border-radius:5px; padding:3.7em; }
section#use .box { width:100%; margin:0; padding:2em 0 2em 0;}
section#use .box figcaption { width:48%; }
section#use .box figcaption dl { margin:0; padding:0; }
section#use .box figcaption dl dt { margin:0; padding:0; }
section#use .box figcaption dl dd { margin:0; padding:1em 0 1em 0; }
section#use .box figcaption dl dd ul { list-style-type:none; margin:0; padding:0; }
section#use .box figcaption dl dd ul li.indent {margin-left: 1em;text-indent: -1em;}

section#use .box .thumb { width:50%; }

section#use .use_btn { max-width:600px; width:31.25vw; margin:2em auto 0 auto; }
section#use .use_btn img { width:100%; }

section#tax { padding:5em 0 4em 0; }

section#tax .obi { display:block;  margin: auto; max-width:182px; width:9.47vw; }


section#tax .tax_box { margin:3em auto 4em auto; }
section#tax .tax_box header { padding:0.1em 0 0.1em 0; }

section#tax .tax_box .step { padding:1em 6.25vw 1em 6.25vw; }
section#tax .tax_box .step dt {  }
section#tax .tax_box .step dt .num { display:block; }
section#tax .tax_box .step dt .title {  }
section#tax .tax_box .step dd { margin:0; padding:1em 0 1em 0; }
section#tax .tax_box .step dd .icon { display:block; margin:0 auto 1em auto;width: 8.28vw; max-width:110px; }

section#tax .tax_box .step img.triangle { margin: auto; max-width:33px; width:1.718vw; max-height:45px; height:2.343vw; }

section#tax .tax_box .type { padding:1em 3.75vw 1em 3.75vw; }
section#tax .tax_box .type .type_box { margin:0; padding:1em 1em 1em 1em; }
section#tax .tax_box .type .type_box dt { margin:0; padding:0; }
section#tax .tax_box .type .type_box dd { margin:0; padding:0; }
section#tax .tax_box .type .type_box dd .circle {  }

section#tax .tax_box .type .link_btn { display:block; border:solid 1px #76c0d1; margin:1.1em auto 2em auto; width:19.27vw; line-height: 1; padding: 1em 0 1em 0;}
section#tax .tax_box .type .link_btn .icon { width:0.468vw; margin: auto; right: 1em; top: 0; bottom: 0;}

section#tax .tax_box .type hr { background:#badfe8; width:100%; height:1px; border:none; }


section#tax .topicks {
	display:block; width:31.25vw; max-width:600px; border:solid 4px #76c0d1; background-color:#3da1b8; color:#FFF; text-align:center; padding:0.43em 0 0.43em 0;
}
section#tax .topicks .icon { width: 0.8854vw; margin: auto; right: 1em; top: 0; bottom: 0;}


footer#footer { background-color:#182532; color:#FFF; padding:4em 0 4em 0; }
footer#footer a { color:#FFF; }

footer#footer .info_name { margin:0 0 2em 0; font-weight:600; }
footer#footer .info_name span { margin-right:0.3em; }

footer#footer .map { max-width:600px; max-height:260px; width:50%; height:15vw; }

footer#footer .copy { margin: 3em 0 0 0; }

#ptop { max-width:72px; width:3.75vw; position:fixed; bottom:1em; right:1em; z-index: 1000; }
#ptop img { width:100%; }


@media (min-width: 768px) and (max-width: 1628px) {
	
	section#about .about_first .about_left_img { width: 21vw; }
	
}



@media (min-width: 768px) and (max-width: 1079px) {
	
	.items .text { width: 47%;}
	
}
