@charset "UTF-8";
/*
Theme Name: daigo-wh
Version: 1.0.1
*/


/**
 * 1.0 - Normalize
 */
 

html {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html{
  visibility:hidden;
}

html.wf-active{
  visibility:visible;
}


body {
	margin: 0;
}

body.home {
  background: #f0f7ff;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
	-webkit-transition: ease 0.3s;
    transition: ease 0.3s;
	}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

code,
kbd,
pre,
samp {
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

select {
	text-transform: none;
}

button {
	overflow: visible;
}

button,
input,
select,
textarea {
	max-width: 100%;
}


button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
	opacity: .5;
}


button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #d1d1d1;
	margin: 0 0 1.75em;
	min-width: inherit;
	padding: 0.875em;
}

fieldset > :last-child {
	margin-bottom: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

optgroup {
	font-weight: bold;
}


/**
 * 2.0 - Genericons
 */


.menu-item-has-children a:after,
.dropdown-toggle:after,
.bypostauthor > article .fn:after,
.comment-reply-title small a:before,
.search-submit:before{
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 17px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}

/**
 * 3.0 - Typography
 */

body,
button,
input,
select,
textarea {
	color: #212121;
	font-family:"Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo, sans-serif;
	font-weight: 400;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

h1,
h2,
h3,
h4,
h5,
h6,
.main-navigation a,
.widget .widget-title,
.article-wrap .article-wrap-title{
	font-family:"Noto Sans JP","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo, sans-serif;
}

.p--heading,
.wellness-item-title h3,
.download-item-title h3,
.section-title,
.card-heading{
	font-family: YakuHanJP, "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}


a,
p,
li,
th,
td,
button,
input,
select,
textarea,
time,
h1,
h2,
h3,
h4{
	letter-spacing: 0.8px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 700;
	margin: 0;
	text-rendering: optimizeLegibility;
}

p {
	margin: 0 0 1.75em;
}

.sr {
	display: block;
}

.pr {
	display: none;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
    border-left-width: 4px;
    color: #686868;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 1.4736842105em;
    overflow: hidden;
    padding: 32px 32px 32px 55px;
    background-color: #F5F5F5;
    position: relative;
	}

blockquote a{
	font-size: 13px;
	line-height: 1.5;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after {
    content: "format_quote";
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 36px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-transform: none;
    position: absolute;
    top: 14px;
    left: 12px;
    color: #D9D9D9;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
    transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -o-transform: rotate(180deg);
	}

blockquote p {
	margin-bottom: 1.4736842105em;
}

blockquote cite,
blockquote small {
	color: #686868;
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

blockquote cite:before,
blockquote small:before {
	content: "\2014\00a0";
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

blockquote > :last-child {
	margin-bottom: 0;
}

address {
	font-style: italic;
	margin: 0 0 1.75em;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family:"Inconsolata",monospace;
}

pre {
	border: 1px solid #d1d1d1;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.3125;
	margin: 0 0 1.75em;
	max-width: 100%;
	overflow: auto;
	padding: 1.75em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

code {
	background-color: #d1d1d1;
	padding: 0.125em 0.25em;
}

pre code{
	background:none;
}

abbr,
acronym {
	border-bottom: 1px dotted #d1d1d1;
	cursor: help;
}

mark,
ins {
	background: #0068b7;
	color: #fff;
	padding: 0.125em 0.25em;
	text-decoration: none;
}

big {
	font-size: 125%;
}


/**
 * 4.0 - Elements
 */

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}


hr {
	background-color: #d1d1d1;
	border: 0;
	height: 1px;
	margin: 0 0 1.75em;
}

ul{
	margin: 0 0 1.75em 1.25em;
	padding: 0;
	list-style: disc;
}

li ul{
	list-style:circle;
}

ol {
	list-style: none;
	margin: 0 0 1.75em 0;
	padding:0;
	counter-reset: level1;
}

ol li{
	padding-left: 1.875em;
	position: relative;
}

ol li::before {
	color: #212121;
	content: counter(level1) ". ";
	counter-increment: level1;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}

ol li:nth-child(-n+9)::before,
ol li:nth-child(-n+9)::before {
    left: .5em;
	}


li > ul,
li > ol {
	margin-bottom: 0;
}

dl {
	margin: 0 0 1.75em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 0 1.75em;
}

img {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
	-webkit-touch-callout: none;
}

del {
	opacity: 0.8;
}

.wp-block-table td, .wp-block-table th,
table,
th,
td {
	border: 1px solid #d1d1d1;
}

.wp-block-table thead {
    border-bottom: 1px solid #d1d1d1;
}

table th{
	font-weight:500;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.75em;
	table-layout: fixed;
	width: 100%;
	
}



table .material-icons{
	vertical-align:middle;
}

table .x:after { 
	font-family: 'Material Icons';
	color:#e53935;
	content:'cancel';
	font-size:20px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}

table .o:after { 
	font-family: 'Material Icons';
	color:#43A047;
	content:'check_circle';
	font-size:20px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: 'liga';
}

table ul,
table ol{
	margin: 0 0 1.5em 1.25em;
}

table .center{
	text-align:center;
}

table ul:last-child,
table ol:last-child{
	margin-bottom:0;
}




caption,
th,
td {
	font-weight: normal;
	text-align: left;
}



th {
	border-width: 0 1px 1px 0;
	background: #FFF;
}

td {
	border-width: 0 1px 1px 0;
}

th,
td {
	padding: 1rem 1.325em;   
	background: #fff;
}


.radius-table{
    border-radius: 10px;
    border-spacing: 0;
    border: none;
    border-left: 1px solid #ddd;
    border-top: 1px solid #ddd;
}

.radius-table table,
.radius-tableth,
.radius-tabletd {
    border: none;
}


.radius-table tr>*{
    border: none;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.radius-table tr:first-child>*:first-child{
    border-radius: 10px 0 0 0;
}
.radius-table tr:first-child>*:last-child{
    border-radius: 0 10px 0 0;
}
.radius-table tr:last-child>*:first-child{
    border-radius: 0 0 0 10px;
}
.radius-table tr:last-child>*:last-child{
    border-radius: 0 0 10px 0;
}

.table-scroll{
	overflow: auto;
	padding-bottom: 1em;
    margin-bottom: 1.75em;
}

.table-scroll table{
	margin:0;
}

.table-scroll th,
.table-scroll td{
	/*width:180px;*/
}


.table-scroll::-webkit-scrollbar{　　
	width: 10px;
	height: 8px;
}

.table-scroll::-webkit-scrollbar-track{
	background:#f5f5f5;
	border-radius: 10px;
}

.table-scroll::-webkit-scrollbar-thumb {
	background: #cdcdcd;
	border-radius: 10px;
}

.table-scroll .radius-table{
	min-width: 600px;
}

dd ul:last-child{
	margin-bottom:0;
}

/**
 * 5.0 - Forms
 */

input {
	line-height: normal;
}

button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus {
	color: #fff;
	font-size: 16px;
	font-size:1rem;
	padding: .75em 2.625em;
	-webkit-transition: ease 0.3s;
	transition: ease 0.3s;
	text-decoration: none;
	background-color: #212121;
	border: none;
	line-height:1;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus{
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: thin dotted;
	outline-offset: -4px;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="week"],
input[type="month"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid #d1d1d1;
	border-radius: 3px;
	color: #686868;
	padding: 0.625em 1em;
	width: 100%;
}

input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="week"]:focus,
input[type="month"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
	background-color: #fff;
	color: #212121;
	outline: 0;
}


.search-form {
	position: relative;
}

.no-results .search-form{
	max-width: 600px;
    margin: 0 auto;
	}

input[type="search"].search-field {
	border-radius: 50px;
	-webkit-appearance: none;
	background:#fff;
}

.search-submit:before {
	content: "search";
	font-size: 22px;
	left: 0;
	position: relative;
	width: 40px;
}

.search-submit {
	border-radius: 0 50px 50px 0;
	bottom: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 55px;
	box-shadow:none;
	background:#212121;
	color:#fff;
}


/**
 * 6.1 - Links
 */

a {
	color: #0068b7;
	text-decoration: none;
}


a:hover,
a:focus,
a:active {
	color: #0068b7;
}

a:focus {
	outline: 0;
	text-decoration:none;
}

a:hover,
a:active {
	outline: 0;
}

a:active{
	text-decoration:none;
}

.page-content a:hover,
.entry-content a:hover,
.entry-content a:focus,
.service-content a:hover,
.entry-summary a:hover,
.entry-summary a:focus,
.taxonomy-description a:hover,
.taxonomy-description a:focus,
.logged-in-as a:hover,
.logged-in-as a:focus,
.comment-content a:hover,
.comment-content a:focus,
.pingback .comment-body > a:hover,
.pingback .comment-body > a:focus,
.textwidget a:hover,
.textwidget a:focus,
.entry-footer a:hover,
.site-info a:hover,
.breadcrumbs a:hover{
	-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.entry-content a,
.entry-summary a,
.taxonomy-description a,
.logged-in-as a,
.comment-content a,
.pingback .comment-body > a,
.textwidget a,
.entry-content a.button{
	box-shadow: none;
}

.bazar-schedule a,
.bazar-vendors a,
.company-overview a:not(.p-nav-link),
.entry-content a,
.flow-box-card a{
	-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
	padding-bottom: 3px
}

.bazar-schedule a:hover,
.bazar-vendors a:hover,
.company-overview a:not(.p-nav-link):hover,
.entry-content a:hover,
.flow-box-card a:hover{
	text-decoration-thickness: 0.125rem;
}

/**
 * 6.2 - Menus
 */

.site-header-menu {
	display: none;
	-webkit-flex: 0 1 100%;
	-ms-flex: 0 1 100%;
	flex: 0 1 100%;
	margin: 0;
}

.site-header-menu.toggled-on,
.no-js .site-header-menu {
	display: block;
}

#drower-menu {
    display: none;
}

.site-footer .main-navigation {
    padding: 0 2em;
    margin: 0 auto 1.75em;
	}

.main-navigation ul {
	list-style: none;
	margin: 0;
}

.main-navigation li {
	position: relative;
	padding:0 1em;
}

.menu-top-menu-container,
.menu-service-menu-container{
	cursor:pointer;
	background:#fff;
}

.main-navigation a {
	color: #212121;
	display: block;
	line-height: 1.3125;
	outline-offset: -1px;
	padding: 1.2em 1.428em;
	font-size:15px;
	font-weight:500;
}

.main-navigation a:hover,
.main-navigation a:focus {
	/*color: #0068b7;*/
}

.main-navigation ul ul {
	margin-left: -1em;
	margin-right:-1em;
	background: #fff;
	border-radius: 5px;
}

.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a {
	        color: #0068b7;
}

.no-js .main-navigation ul ul {
	display: block;
}

.main-navigation ul .toggled-on {
	display: block;
}

.main-navigation .primary-menu {  
	/*border-bottom: 1px solid #d1d1d1;*/
}

.main-navigation ul.sub-menu{
	height:auto;
}

.pagination .current .screen-reader-text {
	position: static !important;
}

.pagination{
	position: relative;
	margin: 60px auto 60px;
	font-size: 0;
	text-align: center;
	width: 96%;
}




.entry-content .pagination{
	margin: 0 auto;
}

/*.navigation .nav-numbers {
	padding: 12px 0;
	color: #212121;
	font-size:18px;
	font-size: 1.125rem;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-weight: 400;
	line-height: 1;
}

.navigation .nav-numbers{
	display:block;
}

.navigation .nav-numbers span {  
	display: inline;
}

.navigation .prev {
	left: 0;
	padding: 12px;
}

.navigation .next {
	right: 0;
	padding: 12px ;
}
*/



.nav-links{
	display: flex;
    justify-content: center;
}

.navigation a,
.navigation span {
	color: #212121;
	font-size: 16px;
	font-size: 1rem;
	font-family: "Helvetica Neue", Arial,"Noto Sans JP" ,sans-serif;
	font-weight: 700;
	line-height: 2;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.navigation a:hover{
    color: #fff;
	background:#0058A2;
}

.page-numbers.prev span:hover,
.page-numbers.next span:hover,
.navigation a.next:hover,
.navigation a.prev:hover{
    color: #0058A2;
}

.navigation a:hover,
.navigation a:focus{
	text-decoration:none;
}

.navigation span.dots{
	align-items: initial;
	background:none;
}

.navigation .page-numbers {
    padding: 0;
	margin: 0 3px 3px;
	display:none;
	display: flex;
    justify-content: center;
	align-items: center;
    width: 2.5rem;
    height: 2.5rem;
	background:#eaeaea;
}

.navigation .page-numbers.prev,
.navigation .page-numbers.next {
    width: auto;
    margin: 0 1rem 0 0;
	background:none;
}

.navigation .page-numbers.next{
	margin: 0 0 0 1rem;
}

.page-numbers.prev span,
.page-numbers.next span{
	display:none;
}


.navigation .page-numbers.prev:before,
.navigation .page-numbers.next:after{	
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    vertical-align: text-bottom;
}

.navigation .page-numbers.prev:before{
	content: "chevron_left";
}

.navigation .page-numbers.next:after{
	content: "chevron_right";
}

.navigation .next:hover,
.navigation .prev:hover{	
	background:none;
}

.navigation .current { 
	border: 2px solid #0058A2;
	background-color: #0058A2;
	color:#fff;
}


.navigation .not,
.navigation .not:focus,
.navigation .not:hover{
	color: #c4c4c4;
	background-color: #c4c4c4;
}

.navigation .dots,
.navigation .dots:focus,
.navigation .dots:hover{
	color: #0058A2;
}

/*


.navigation a{
    color: #212121;
	}

.navigation a:hover{
    border: 2px solid #212121;
	background-color: #212121;
	color:#fff;
}



.navigation .page-numbers.prev,
.navigation .page-numbers.next {
    border: 2px solid #212121;
	width: auto;
    display: inline-block;
    border-radius: 80px;
    padding: 11px 33px;
	line-height: 1.75;
}



.navigation .next:hover,
.navigation .prev:hover{	
	
	background-color: #212121;
	color:#fff;
}


.navigation .current { 
	border: 2px solid #212121;
	background-color: #212121;
	color:#fff;
}


.navigation .not,
.navigation .not:focus,
.navigation .not:hover{
	color: #c4c4c4;
	background-color: #c4c4c4;
}

.navigation .dots,
.navigation .dots:focus,
.navigation .dots:hover{
	color: #212121;
}

.navigation i{
	display:none;
}*/

.post-navigation {
	clear: both;
	font-family: "Helvetica Neue", Arial, sans-serif;
	margin: 0 2em 3.5em;
}

.post-navigation .nav-links{
	position:relative;
}

.post-navigation .nav-previous:before,
.post-navigation .nav-next:after{
	border-top: 1px solid #212121;
	width: 100%;
	content: ""; 
	display: block;
	position: absolute;
}

.post-navigation .nav-previous:after,
.post-navigation .nav-next:before{
	content: "";
	display: block;
	width: 100%;
	border-bottom: 1px solid #212121;
	position: absolute;
	right: 0px;
}

.post-navigation a {
	color: #212121;
	display: block;
	padding: 1.75em 0;
}

.post-navigation span {
	display: block;
}

.post-navigation .meta-nav {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.post-navigation .post-title {
	display: inline;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.2173913043;
	text-rendering: optimizeLegibility;
	text-overflow: ellipsis;
	-webkit-line-clamp: 2;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
}

.post-navigation a:hover .post-title,
.post-navigation a:focus .post-title {
	color: #0068b7;
}


.image-navigation,
.comment-navigation {
	border-top: 1px solid #d1d1d1;
	border-bottom: 1px solid #d1d1d1;
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin: 0 7.6923% 2.1538461538em;
	padding: 1.0769230769em 0;
}

.comment-navigation {
	margin-right: 0;
	margin-left: 0;
}

.comments-title + .comment-navigation {
	border-bottom: 0;
	margin-bottom: 0;
}

.image-navigation .nav-previous:not(:empty),
.image-navigation .nav-next:not(:empty),
.comment-navigation .nav-previous:not(:empty),
.comment-navigation .nav-next:not(:empty) {
	display: inline-block;
}

.image-navigation .nav-previous:not(:empty) + .nav-next:not(:empty):before,
.comment-navigation .nav-previous:not(:empty) + .nav-next:not(:empty):before {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}


/**
 * 7.0 - Accessibility
 */

.says,
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
/**
 * 8.0 - Alignments
 */

.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}

.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}

div img.aligncenter{
	clear: both;
	display: block;
	margin: 0 auto 0;	
}

blockquote.alignleft {
	margin: 0.3157894737em 1.4736842105em 1.473684211em 0;
}

blockquote.alignright {
	margin: 0.3157894737em 0 1.473684211em 1.4736842105em;
}

blockquote.aligncenter {
	margin-bottom: 1.473684211em;
}

.center{
	text-align:center;
	margin:0 0 1.75em;
}

.post-cta-wrap .center{
	margin:0;
}

.left{
	text-align:left;
	margin:0 0 1.75em;
}

.right{
	text-align:right;
	margin:0 0 1.75em;
}


/**
 * 9.0 - Clearings
 */

.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.entry-summary:before,
.entry-summary:after,
.comment-content:before,
.comment-content:after,
.site-content:before,
.site-content:after,
.site-main > article:before,
.site-main > article:after,
.primary-menu:before,
.primary-menu:after,
.social-links-menu:before,
.social-links-menu:after,
.textwidget:before,
.textwidget:after,
.content-bottom-widgets:before,
.content-bottom-widgets:after {
	content: "";
	display: table;
}

.clear:after,
blockquote:after,
.entry-content:after,
.entry-summary:after,
.comment-content:after,
.site-content:after,
.site-main > article:after,
.primary-menu:after,
.social-links-menu:after,
.textwidget:after,
.content-bottom-widgets:after {
	clear: both;
}



/**
 * 11.0 - Content
 */

.site {
	background-color: #fff;
	position: relative;
	/*top:74px;
	margin-bottom:74px;*/
}

.site-inner {
	margin: 0 auto;
}

.site-content {
	word-wrap: break-word;
    margin: 0 auto;
	}

#content[tabindex="-1"]:focus {
	outline: 0;
}

.site-main {
	margin-bottom: 3.5em;
}

.site-main > :last-child {
	margin-bottom: 0;
}

.home .site-main{
	margin-bottom:0;
}


/**
 * 11.1 - Header
 */

.site-header {
		position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    /*height: 74px;*/
    transition: all 0.3s ease-out;
	}

.site-header.is-scrolled{
	box-shadow: 0 0 48px rgba(50, 76, 128, 0.1);
}

.site-header-main {
	position: relative;
	max-width: 1480px;
	padding: 0 1em;
	height: 72px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	z-index: 1;
	transition: margin 0.4s ease-out;
}

.site-header-main::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #fff;
	box-shadow: 0 0 48px rgba(50, 76, 128, 0.1);
	transform-origin: center;
	transition: box-shadow 0.4s ease-out, border-radius 0.4s ease-out, transform 0.4s ease-out;
	z-index: -1;
}

.is-scrolled .site-header-main {
	margin: 0 auto;
}

.is-scrolled .site-header-main::before {
	transform: scaleX(1.3);
	box-shadow: none;
	border-radius: 0;
}

.site-header.is-scrolled{
	background:#fff;
}

.is-scrolled{
	
}

.site-branding {
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
	margin: auto 1.7625em auto 0;
	z-index:99999999999;
}

.custom-logo-link {
	display: block;
}

.custom-logo {
	max-width: 180px;
}

.site-title {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2173913043;
	margin: 0;
}

.site-branding .site-title a {
	color: #212121;
	display:inline-block;
}

.site-branding .site-title a:hover,
.site-branding .site-title a:focus {
	color: #0068b7;
}

.site-branding .site-title img{
	height:24px;
}

.wp-custom-logo .site-title {
	margin-top: 0.608695652em;
}

.site-description {
	color: #686868;
	display: none;
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.0769230769;
	margin: 0.538461538em 0 0;
}

.menu-toggle {
	background-color: transparent;
	color: #212121;
	font-size: 13px;
	font-size: 0.8125rem;
	margin: 0;
	padding: 0;
	box-shadow:none;
	width: 30px;
    height: 20px;
	position:relative;
}

button.menu-toggle{
	position: absolute;
    right: 16px;
    top: 28px;
	}

.no-js .menu-toggle {
	display: none;
}

.menu-toggle:hover,
.menu-toggle:focus {
	background: #fff;
	opacity:1;
}


.menu-toggle:focus {
	outline: none;
}

.menu-toggle.toggled-on:focus {
	outline: none;
}


.header-image {
	clear: both;
	margin: 0.875em 0;
}

.header-image a {
	display: block;
}

.header-image a:hover img,
.header-image a:focus img {
	opacity: 0.85;
}



/**
 * 11.2 - Posts and pages
 */

.site-main > article {
	position: relative;
}


.single .site-main > article{
	max-width: 675px;
    margin: 3rem auto 0;
	}

.entry-header,
.entry-summary,
.entry-content,
.entry-footer,
.page-content,
.article-wrap,
.companies-content
{
	margin-right: 20px;
	margin-left: 20px;
}

.entry-content{
	margin-bottom:5em;
}

.entry-header {
	margin-bottom:1.5em;
}

.home .article-wrap{
	margin-right: 0;
	margin-left: 0;
}


section.no-results,
section.not-found{
	max-width: 1240px;
   margin: 0 auto;
	margin-top:4rem;
}

section.not-found .page-title{
	text-align:center;
	padding:0 2rem;
}

.entry-title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1em;
	color:#212121;
}

.entry-title a {
	color: #212121;
}

.entry-title a:hover,
.entry-title a:focus {
	color: #0068b7;
}

.alignright-box{
	text-align:right;
	margin:3rem auto 5rem 0;
}

.anchor{
	text-align:right;
}

.post-thumbnail{
	display: block;
	margin: 0 7.6923% 1.75em;
}

.post-thumbnail img {
	display: block;
}

a.post-thumbnail:hover,
a.post-thumbnail:focus {
	opacity: 0.85;
}


.entry-summary{
	margin-bottom: 2.625em;
}

.page-type .entry-content,
.page-type .entry-summary{
	margin-bottom:0;
}

.page-template-policy-page .page-content h1,
.entry-content h1,
.entry-summary h1,
.comment-content h1,
.textwidget h1 {
	font-size: 20px;
    font-size: 1.25rem;
	line-height: 1.25;
	margin-top: 2em;
	margin-bottom: 1em;
}
.contact-complete-body h2,
.page-template-policy-page .page-content h2,
.p-content-lead h2,
.entry-content h2,
.entry-summary h2,
.comment-content h2,
.textwidget h2,
.headline{
	font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
	margin-top: 2.4347826087em;
	margin-bottom: 1.2173913043em;
    letter-spacing: 1.2px;
	color:#212121;
}

.page-template-policy-page .page-content h3,
.entry-content h3,
.entry-summary h3,
.comment-content h3,
.textwidget h3 {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.5;
	margin-top: 2.9473684211em;
	margin-bottom: 1.4736842105em;
    letter-spacing: 1.2px;
	color:#212121;
}

.page-template-policy-page .page-content h4,
.page-template-policy-page .page-content h5,
.page-template-policy-page .page-content h6,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.comment-content h4,
.comment-content h5,
.comment-content h6,
.textwidget h4,
.textwidget h5,
.textwidget h6 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.3125;
	margin-top: 3.5em;
	margin-bottom: 1.75em;
	color:#212121;
}

.page-template-policy-page .page-content h4,
.entry-content h4,
.entry-summary h4,
.comment-content h4,
.textwidget h4 {
	letter-spacing: 0.140625em;
	text-transform: uppercase;
}


.entry-content h6,
.entry-summary h6,
.comment-content h6,
.textwidget h6 {
	font-style: italic;
}

.page-template-policy-page .page-content h1,
.page-template-policy-page .page-content h2,
.page-template-policy-page .page-content h3,
.page-template-policy-page .page-content h4,
.page-template-policy-page .page-content h5,
.page-template-policy-page .page-content h6,
.p-content-lead h2,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h1,
.entry-summary h2,
.entry-summary h3,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.comment-content h1,
.comment-content h2,
.comment-content h3,
.comment-content h4,
.comment-content h5,
.comment-content h6,
.textwidget h1,
.textwidget h2,
.textwidget h3,
.textwidget h4,
.textwidget h5,
.textwidget h6 {
	font-weight: 600;
}

.contact-complete-body h2:first-child,
.p-content-lead h2:first-child,
.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child,
.entry-summary h1:first-child,
.entry-summary h2:first-child,
.entry-summary h3:first-child,
.entry-summary h4:first-child,
.entry-summary h5:first-child,
.entry-summary h6:first-child,
.comment-content h1:first-child,
.comment-content h2:first-child,
.comment-content h3:first-child,
.comment-content h4:first-child,
.comment-content h5:first-child,
.comment-content h6:first-child,
.textwidget h1:first-child,
.textwidget h2:first-child,
.textwidget h3:first-child,
.textwidget h4:first-child,
.textwidget h5:first-child,
.textwidget h6:first-child,
.help-content h1:first-child,
.help-content h2:first-child,
.help-content h3:first-child,
.help-content h4:first-child,
.map-content h1:first-child,
.map-content h2:first-child,
.map-content h3:first-child,
.map-content h4:first-child,{
	margin-top: 0;
}



.post-navigation .post-title,
.entry-title,
.comments-title {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

body:not(.search-results) .entry-summary {
	color: #686868;
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 1.4736842105;
	margin-bottom: 1.4736842105em;
}

body:not(.search-results) .entry-header + .entry-summary {
	margin-top: -0.736842105em;
}

body:not(.search-results) .entry-summary p,
body:not(.search-results) .entry-summary address,
body:not(.search-results) .entry-summary hr,
body:not(.search-results) .entry-summary ul,
body:not(.search-results) .entry-summary ol,
body:not(.search-results) .entry-summary dl,
body:not(.search-results) .entry-summary dd,
body:not(.search-results) .entry-summary table {
	margin-bottom: 1.4736842105em;
}

body:not(.search-results) .entry-summary li > ul,
body:not(.search-results) .entry-summary li > ol {
	margin-bottom: 0;
}

body:not(.search-results) .entry-summary th,
body:not(.search-results) .entry-summary td {
	padding: 0.3684210526em;
}

body:not(.search-results) .entry-summary fieldset {
	margin-bottom: 1.4736842105em;
	padding: 0.3684210526em;
}

body:not(.search-results) .entry-summary blockquote {
	border-color: currentColor;
}

body:not(.search-results) .entry-summary blockquote > :last-child {
	margin-bottom: 0;
}

body:not(.search-results) .entry-summary .alignleft {
	margin: 0.2631578947em 1.4736842105em 1.4736842105em 0;
}

body:not(.search-results) .entry-summary .alignright {
	margin: 0.2631578947em 0 1.4736842105em 1.4736842105em;
}

body:not(.search-results) .entry-summary .aligncenter {
	margin-bottom: 1.4736842105em;
}


.entry-content > :last-child,
.entry-summary > :last-child,
body:not(.search-results) .entry-summary > :last-child,
.page-content > :last-child,
.comment-content > :last-child,
.textwidget > :last-child {
	margin-bottom: 0;
}

.entry-footer {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-top: 3.5em;
	margin-bottom: 3.5em;
}

.entry-footer:empty {
	margin: 0;
}

.entry-footer a {
	color: #686868;
}

.entry-footer a:hover,
.entry-footer a:focus {
	color: #0068b7;
}

.entry-footer > span:not(:last-child):after {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}

.sticky-post {
	color: #686868;
	display: block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.sticky .posted-on,
.byline {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

body.error404 .page-header,
body.search-no-results .page-header {
	border-top: 0;
	padding-top: 0;
	min-height: auto;
	display:block;
	margin: 0 0 3.5rem;
}

body.error404 .page-header::before,
body.search-no-results .page-header::before{
	content:none;
}




.page-title {
	font-size: 20px;
    font-size: 1.25rem;
	line-height: 1.5;
}

.taxonomy-description {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
}

.taxonomy-description p {
	margin: 0.5384615385em 0 1.6153846154em;
}

.taxonomy-description > :last-child {
	margin-bottom: 0;
}

.page-links {
	clear: both;
	font-family: "Helvetica Neue", Arial, sans-serif;
	margin: 2.625rem 0;
	width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 19px;
    font-size: 1.1875rem;
	}

.page-links a,
.page-links > span {
    line-height: 1.6923076923em;
    margin-right: 0.3076923077em;
    text-align: center;
    width: 48px;
    height: 48px;
    margin: 0 7px 0 8px;
    border-radius: 50%;
    background: #c4c4c4;
    display: flex;
    justify-content: center;
    align-items: center;
	-webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
	color: #fff;
}

.page-links a {
	background: #212121;
	border-color: #212121;
}

.page-links a:hover,
.page-links a:focus {
	background-color: #0068b7;
	border-color: transparent;
	color: #fff;
	text-decoration:none;
}

.page-links > .page-links-title {
	border: 0;
	color: #212121;
	height: auto;
	margin: 0;
	padding-right: 0.6153846154em;
	width: auto;
}

.entry-attachment {
	margin-bottom: 1.75em;
}

.p-caption,
.entry-caption {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 1.0769230769em;
}

.entry-caption > :last-child {
	margin-bottom: 0;
}

.article-item-date{
	    font-size: 13px;
    color: #555;
	margin:0 0 1rem;
	font-family: "Montserrat", Sans-serif;
}


.entry-meta-tag{
	    border: 1px solid #ddd;
    color: #212121;
    padding: .5rem 1rem;
    border-radius: 3px;
    display: inline-block;
	font-size:14px;
}

.entry-meta-tag:focus,
.entry-meta-tag:active,
.entry-meta-tag:hover{
	background:#f9f9f9;
	color:#212121;
}

.p-content-bg{
	    background: #F3F6FA;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.p-inner,
.p-content-bg-inner{
	max-width:1280px;
	margin:0 auto;
	padding:2rem;
}

.p-inner .col{
	margin:0 0 2rem;
}

.p-inner .section-title,
.p-content-bg-inner .section-title {
	margin-top:4rem;
}

.page-content section:nth-child(odd):not(:first-child) {
	background: #F3F6FA;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.page-content section:first-child .p-inner{
		padding:0;
}



.page-content section:first-child .p-inner .section-title{
	margin-top:8rem;
}

.page-content section:nth-child(even) .p-inner{
	padding:2rem 0;
}

.page-content section:nth-child(even) .p-inner.p-inner-flush,
.p-inner.p-inner-flush {
  padding-top: 0;
}


/**
 * 11.3 - Post Formats
 */

.format-aside .entry-title,
.format-image .entry-title,
.format-video .entry-title,
.format-quote .entry-title,
.format-gallery .entry-title,
.format-status .entry-title,
.format-link .entry-title,
.format-audio .entry-title,
.format-chat .entry-title {
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 1.473684211;
	margin-bottom: 1.473684211em;
}

.blog .format-status .entry-title,
.archive .format-status .entry-title {
	display: none;
}



/**
 * 11.4 - Comments
 */

.comments-area {
	margin: 0 2em 3.5em;
}

.comment-list + .comment-respond,
.comment-navigation + .comment-respond {
	padding-top: 1.75em;
}

.comments-title,
.comment-reply-title {
	border-top: 1px solid #212121;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 23px;
	font-size: 1.4375rem;
	font-weight: 700;
	line-height: 1.3125;
	padding-top: 1.217391304em;
}

.comments-title {
	margin-bottom: 1.217391304em;
}

.comment-list {
	list-style: none;
	margin: 0;
}

.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
	border-top: 1px solid #d1d1d1;
	padding: 1.75em 0;
}

.comment-list .children {
	list-style: none;
	margin: 0;
}

.comment-list .children > li {
	padding-left: 0.875em;
}

.comment-author {
	color: #212121;
	margin-bottom: 0.4375em;
}

.comment-author .avatar {
	float: left;
	height: 28px;
	margin-right: 0.875em;
	position: relative;
	width: 28px;
}

.bypostauthor > article .fn:after {
	content: "\f304";
	left: 3px;
	position: relative;
	top: 5px;
}

.comment-metadata,
.pingback .edit-link {
	color: #686868;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
}

.comment-metadata {
	margin-bottom: 2.1538461538em;
}

.comment-metadata a,
.pingback .comment-edit-link {
	color: #686868;
}

.comment-metadata a:hover,
.comment-metadata a:focus,
.pingback .comment-edit-link:hover,
.pingback .comment-edit-link:focus {
	color: #0068b7;
}

.comment-metadata .edit-link,
.pingback .edit-link {
	display: inline-block;
}

.comment-metadata .edit-link:before,
.pingback .edit-link:before {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}

.comment-content ul,
.comment-content ol {
	margin: 0 0 1.5em 1.25em;
}

.comment-content li > ul,
.comment-content li > ol {
	margin-bottom: 0;
}

.comment-reply-link {
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	color: #0068b7;
	display: inline-block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1;
	margin-top: 2.1538461538em;
	padding: 0.5384615385em 0.5384615385em 0.4615384615em;
}

.comment-reply-link:hover,
.comment-reply-link:focus {
	border-color: currentColor;
	color: #0068b7;
	outline: 0;
}

.comment-form {
	padding-top: 1.75em;
}

.comment-form label {
	color: #686868;
	display: block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.comment-list .comment-form {
	padding-bottom: 1.75em;
}

.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.form-allowed-tags {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-bottom: 2.1538461538em;
}

.no-comments {
	border-top: 1px solid #d1d1d1;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-weight: 700;
	margin: 0;
	padding-top: 1.75em;
}

.comment-navigation + .no-comments {
	border-top: 0;
	padding-top: 0;
}

.form-allowed-tags code {
	font-family: Inconsolata, monospace;
}

.form-submit {
	margin-bottom: 0;
}

.required {
	color: #ff4149;
	font-family: Georgia, serif;
}

.comment-reply-title small {
	font-size: 100%;
}

.comment-reply-title small a {
	border: 0;
	float: right;
	height: 32px;
	overflow: hidden;
	width: 26px;
}

.comment-reply-title small a:hover,
.comment-reply-title small a:focus {
	color: #212121;
}

.comment-reply-title small a:before {
	content: "\f405";
	font-size: 32px;
	position: relative;
	top: -5px;
}

.comment-form #wp-comment-cookies-consent {
	margin: 0 10px 0 0;
}

.comment-form .comment-form-cookies-consent label {
	display: inline;
	font-family: Georgia, serif;
	letter-spacing: 0;
	text-transform: none;
}



/**
 * 11.6 - Footer
 */


.footer-navigation{
	background: #1b262c;
    padding: 4rem 0 1rem;
	font-size: 14px;
    line-height: 1.7em;
	color:#fff;
}

.footer-search-area{
	background:#f9f9f9;
	padding: 5.6875em 1em 0;
}

.footer-search-area .head-copy:first-child{
	margin:0 0 1em;
}

.footer-search-area .head-copy{
	text-align:center;
}

.site-info{
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.6153846154; 
	margin: 0 auto;
	width: 100%;
}






.site-info a:hover,
.site-info a:focus{
	color:#fff;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus{
	color: #0068b7;
}

.site-footer .site-title {
	font-weight: normal;
    font-size: 14px;
    font-size: 0.875rem;
	}

.site-footer .site-title:after {
	content: "\002f";
	display: inline-block;
	font-family: Montserrat, sans-serif;
	opacity: 0.7;
	padding: 0 0.307692308em 0 0.538461538em;
}

.site-footer .site-title:last-child:after{
	content:none;
}

.site-footer span[role=separator] {
	font-family: Montserrat, sans-serif;
	opacity: 0.7;
	padding: 0 0.307692308em 0 0.538461538em;
}

.site-footer span[role=separator]::before {
	content: '\002f';
}

.site-footer-info{
	border-top: 1px solid #dddd;
    padding: 2rem 0 0;
    margin: 2rem 0 0;
	color:#fff;
	font-size:14px;
}

.site-footer-info .company-info{
	margin:0 0 2rem;
}

.site-info ul{
	list-style: none;
	margin:0;
}

.footer-cr{
	margin:2rem 0 0;
}

.site-info ul a{
	color:#fff;
}


.footer-nav-list{
	list-style: none;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    margin: 0 0 3.5rem;
    color: #fff;
    gap: 3rem;
    row-gap: 3rem;
}


.footer-nav-list a{
	    color: #e6e9ee;
    font-size: 14px;

}

.footer-nav-list-heading{
	font-weight:700;
	margin:0 0 .5rem;
}

.footer-cta-list a:hover,
.footer-nav-list a:hover{
	-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

.footer-nav-list-item ul{
	    list-style: none;
    margin: 0;
    padding: 0;
}

.anker-icon:after{
	font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 17px;
    display: inline-block;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
   color: #e6e9ee;
    margin-left: .25rem;
	vertical-align: middle;
}




.is-open_in_new:after{
	content: 'open_in_new';
}


.site-footer-inner{
	padding: 3rem 2rem;
	max-width: 1280px;
	width:100%;
    margin: 0 auto;
}

.site-footer-heading{
border-bottom: 1px solid #dddd;
    padding: 0 0 2rem;
    margin: 0 0 2rem;
}

.site-footer-heading img{
	height:24px;
}


.site-footer-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}

.footer-cta-list {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-cta-list a {
  color: #fff;
  font-size: 14px;
  text-decoration: none;
}

.footer-cta-list a:hover {
  text-decoration: underline;
}


/**
 * 12.0 - Media
 */


.entry-content .wp-smiley,
.entry-summary .wp-smiley,
.comment-content .wp-smiley,
.textwidget .wp-smiley {
	border: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

.entry-content a img:not(.nap),
.entry-summary a img,
.comment-content a img,
.textwidget a img {
	display: block;
}

embed,
iframe,
object,
video {
	margin-bottom: 1.75em;
	max-width: 100%;
	vertical-align: middle;
	border:none;
}

p > embed,
p > iframe,
p > object,
p > video{
	margin-bottom: 0;
}


.wp-video {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom:1.75em;
}

.wp-video iframe {
	width: 100%;
	height: 100%; 
	position: absolute; 
	top: 0;  
	left: 0;
}

.video-container {
	position: relative;
	padding-top: 56.25%;
	height: 0;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/**
 * 12.1 - Captions
 */

.wp-caption {
	margin-bottom: 1.75em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}

.wp-caption .wp-caption-text {
	color: #686868;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}

/**
 * 13.0 - CSS
 */

.entry-card-item-date,
.case-card-item-date,
.initiatives-item-date,
.wellness-item-date,
.bazar-schedule__time,
.fact-num,
.card-num,
.en,
.contect-tel a,
.num,
.unit,
.ttl-en,
.heading-en,
.news-item-date,
.wellness-item-date{
	font-family: "Montserrat", Sans-serif;
	letter-spacing: -0.01em;
}

.h-sec{
	margin:0;
	overflow:hidden;
}

.contact,
.features.h-sec{
	background:#0058A2;
}

.inner{
	    padding:3rem 2rem;
    max-width: 1280px;
    margin: 0 auto;
	position:relative;
}



.wh .heading-ja,
.wh .heading-en,
.wh .desc p{
	color:#fff;
}

.wh .head{
	margin:0;
}


.heading-ja{
	font-size: 1rem;
    font-weight: 500;
}

.heading-en{
	position:relative;
	    font-size: 2.4rem;
    line-height: 1.1;
    font-weight: 700;
    color: #0058A2;
}

.heading-en:before{
display: block;
    content: "";
    width: 3rem;
    height: 4px;
    position: absolute;
    left: 0;
    top: -2rem;
    background: #0058A2;
    overflow: hidden;
	border-radius:2rem;
}

.wellness .heading-en:before,
.contact .heading-en:before,
.features .heading-en:before{
	background: #fff;
}

.btn a {
	/* background: #fff;
	padding: 1.1rem 2rem;
	display: inline-block;
	margin: 2rem 0 0;
	border-radius: 4rem;
	color: #212121;
	font-weight: 700;
	border: 1px solid #eaeaea;
	box-shadow: 0 0 10px #0000001a;
	font-size: 15px;
	overflow: hidden; ← ここから削除 */
}

.btn a:hover{
	color: #212121;
}

.btn-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #0058A2;
	margin: 2rem 0 0;
	border-radius: .5rem;
	color: #fff;
	font-weight: 700;
	border: 1px solid #eaeaea;
	font-size: 15px;
}

a:hover.btn-link{
	color: #fff;
}

a:hover.btn-link.wh{
	color: #212121;
}

.btn-link.wh{
	background: #fff;
	color: #212121;
}

.btn-link-inner {
	display: inline-block;
	padding: 1.1rem 2rem;
}



.case-filter-link:hover .case-filter-link-inner,
.case-filter-link:focus .case-filter-link-inner,
.btn-link:hover .btn-link-inner,
.btn-link:focus .btn-link-inner {
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: 0.3s cubic-bezier(0.29, 0.65, 0.62, 1);
	will-change: transform, opacity;
	animation: 0.45s cubic-bezier(0.29, 0.65, 0.62, 1) 0s 1 normal forwards btnArrowReturn;
}

@keyframes btnArrowReturn {
	0%    { opacity: 1;   transform: translateY(0); }
	50%   { opacity: 0.6; transform: translateY(-100%); }
	50.1% { opacity: 0.6; transform: translateY(100%); }
	100%  { opacity: 1;   transform: translateY(0); }
}

.service .btn a{
	margin:2rem 0 0;
}

.h-sec .btn a{
	border:none;
}

.service .btn{
	text-align:center;
}

.head{
    margin: 0 0 3rem;
	padding: 3rem 0 0;
}

	.head .heading{
		margin:0 0 1.5rem;
	}

.desc p{
	margin:0;
	font-size:0.9375em;
}

.wellness .head,
.contact .head,
.features .head,
.news .head,
.about .head{
	grid-template-columns: repeat(1, 1fr);
}


.contact-wrap,
.features-wrap,
.news-wrap
{
	display: grid;
	position: relative;
	    gap: 2rem;
}

.about-wrap,
.contact-wrap,
.features-wrap,
.news-wrap{
	grid-template-columns: 4fr 6fr;
	grid-template-columns: repeat(1, 1fr);
}

.features-wrap{
	align-items:center;
}

.contact-wrap .head,
.news-wrap .head{
	display:block;
}

.contact-wrap .desc{
	font-size: 14px;
}

.contact-wrap .heading,
.news-wrap .heading{
	margin:0 0 1.5rem;
}

.site .news.h-sec{
	    margin: 0 0 3.5rem;
}


.hero {
    background: #0058A210;
	padding-top:2.5rem;
}	


.hero .inner {
    padding: 0 0 3rem;
    overflow: hidden;
}

.ky-contents {
    padding: 0 2rem;
	color:#0058A2;
	text-align:center;
}

.ky-gallery {
    flex: 0 0 50%;
    display: flex;
    gap: 24px;
    height: 100%;
    overflow: hidden;
}

.ky-copy{
	    font-size: 38px;
    font-weight: 900;
    line-height: 1.25;
}

.ky-title{
	font-family: "Montserrat", Sans-serif;
    font-size: 15px;
    font-weight: 500;
    margin: 0 0 .25rem;
}

.ky-desc{
	font-size: 15px;
    margin: 1.5rem 0 2rem;
	font-weight: 500;
}

.hero-bg{
	position:relative;
	
}

.hero-bg img{
	display:none;
}

/* ===== 基本（モバイル）：横方向の自動スクロール ===== */
/* =========================================================
   Gallery
========================================================= */

.ky-gallery {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	height: auto;
	overflow: hidden;
}

.ky-gallery-column {
	width: 100%;
	overflow: hidden;
}


/* =========================================================
   Track
========================================================= */

.ky-gallery-track {
	display: flex;
	flex-direction: row;
	width: max-content;

	will-change: transform;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}


/* =========================================================
   Group
========================================================= */

.ky-gallery-group {
	display: flex;
	flex-direction: row;
	flex-shrink: 0;

	gap: 12px;
	padding-right: 12px;
}


/* =========================================================
   Item
========================================================= */

.ky-gallery-item {
	flex: 0 0 auto;
	width: clamp(140px, 40vw, 220px);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 12px;
}

.ky-gallery-item img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/* =========================================================
   SP / Tablet animation
========================================================= */

/* 右 → 左 */
.ky-gallery-column--up .ky-gallery-track {
	animation: ky-scroll-left 60s linear infinite;
}

/* 左 → 右 */
.ky-gallery-column--down .ky-gallery-track {
	animation: ky-scroll-right 65s linear infinite;
}


/* =========================================================
   Horizontal keyframes
========================================================= */

@keyframes ky-scroll-left {

	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}

}

@keyframes ky-scroll-right {

	from {
		transform: translate3d(-50%, 0, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}

}


/* =========================================================
   Tablet 600px+
========================================================= */

@media screen and (min-width: 37.5em) {

	.ky-gallery {
		gap: 16px;
	}

	.ky-gallery-group {
		gap: 16px;
		padding-right: 16px;
	}

	.ky-gallery-item {
		border-radius: 20px;
	}

}


/* =========================================================
   Desktop 1024px+
   横スクロール → 縦スクロール
========================================================= */

@media screen and (min-width: 75em) {

	.ky-gallery {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: clamp(16px, 2vw, 32px);

		height: 100%;
		overflow: hidden;
	}

	.ky-gallery-column {
		min-width: 0;
		width: auto;
		height: 100%;

		overflow: hidden;
	}

	.ky-gallery-track {
		flex-direction: column;

		width: auto;
		height: max-content;
	}

	.ky-gallery-group {
		flex-direction: column;
		flex-shrink: 0;

		gap: 24px;

		padding-right: 0;
		padding-bottom: 24px;
	}

	.ky-gallery-item {
		flex: 0 0 auto;

		width: 100%;
	}


	/* 下 → 上 */

	.ky-gallery-column--up .ky-gallery-track {
		animation: ky-scroll-up 60s linear infinite;
	}


	/* 上 → 下 */

	.ky-gallery-column--down .ky-gallery-track {
		animation: ky-scroll-down 65s linear infinite;
	}

}


/* =========================================================
   Vertical keyframes
========================================================= */

@keyframes ky-scroll-up {

	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(0, -50%, 0);
	}

}

@keyframes ky-scroll-down {

	from {
		transform: translate3d(0, -50%, 0);
	}

	to {
		transform: translate3d(0, 0, 0);
	}

}


/* =========================================================
   Reduced motion
========================================================= */

@media (prefers-reduced-motion: reduce) {

	.ky-gallery-track {
		animation: none !important;
	}

}



.news-item{
	padding: 2rem 0;
    border-top: 1px solid #ddd;
}

.news-item-inner{
	display: flex;
    align-items: center;
    justify-content: space-between;
}

.news-item-meta{
display:flex;	
	    gap: 1rem;
	margin: 0 0 1rem;
}

.news-item-date,
.news-item-title{
	color:#212121;
}

.news-item-title{
	padding-right: 3.5rem;
	font-size:15px;
	font-weight:500;
}

.news-item-cat{
	background:#f0f6fb;
	color: #0058A2;
    padding: 3px 12px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 500;
}

.news-item a:hover{
	text-decoration:none;
}

.news-back{
	text-align:center;
}

.news-back .p-nav-link{
	display:inline-block;
}

.about-list-item a{
	display: flex;
    align-items: center;
	justify-content: space-between;
	padding:1.5rem;
	border:1px solid #eaeaea;
	border-radius:.5rem;
	    color: #212121;
    font-weight: 500;
}

.about-list-item a:hover{
	color:#fff;
}

.about-list-item a .content-arrow{
	margin:0;
}

.about-list{
	    display: grid;
    gap: 1.5rem;
}

.about-wrap {
  display: grid;
  gap: 0;
  position: relative;
	align-items: center;
}

.about-wrap .head,
.about-wrap .img {
  min-width: 0;
}

.about-wrap .head{
	margin:0;
}

.about-wrap .img {
  position: relative;
  width: 100%;
 /* max-width: 516px;*/
  aspect-ratio: 516 / 700;
  z-index: 1;
}

.about-wrap .img .img-item {
  position: absolute;
  overflow: hidden;
  border-radius: clamp(4px, 0.8vw, 8px);
}

.about-wrap .img .img-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 300px ÷ 516px */
.about-wrap .img .img-item:nth-child(1) {
  width: 58.14%;
  top: 8.57%;
  left: 0;
  aspect-ratio: 1 / 1;
}

/* 240px ÷ 516px */
.about-wrap .img .img-item:nth-child(2) {
  width: 46.51%;
  top: 54.29%;
  left: 11.63%;
  aspect-ratio: 3 / 4;
}

/* 200px ÷ 516px */
.about-wrap .img .img-item:nth-child(3) {
  width: 38.76%;
  top: 34.29%;
  right: 0;
  aspect-ratio: 1 / 1;
}




.about-list,
.service-card-list,
.link-card-list {
	list-style: none;
	margin: 2rem 0 0;
}


.service-card-list,
.link-card-list {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 2rem;
}


.service-card-item,
.link-card-item {
	display: flex;
	flex-direction: column;
	height: 100%;
}


.service-card-item .heading,
.link-card-item-heading {
	color: #212121;
	margin: 0 0 1rem;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.5;
}


.service-card-item .desc,
.link-card-item-desc {
	font-size: 15px;
	color: #212121;
	flex: 1 1 auto; /* 文字数の差をここで吸収 */
}

.service-card-item a,
.link-card-item a {
	overflow: hidden;
	border: 1px solid #eaeaea;
	display: block;
	position: relative;
	border-radius: 1rem;
	padding:2rem;
}

.service-card-item > a,
.link-card-item > a {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.service-card-item-inner,
.link-card-item-inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.service-card-item-inner img,
.link-card-item-inner img {
	flex-shrink: 0;
	-webkit-transition: ease 0.3s;
	transition: ease 0.3s;
}

.service-card-item-img,
.link-card-item-img {
	overflow: hidden;
}

.service-card-item a:hover .service-card-item-inner img,
.link-card-item a:hover .link-card-item-inner img {
	transform: scale(1.1);
	transition: transform .6s ease;
}


.text-inner,
.link-card-item-text {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.content-arrow {
        display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid #0058A2;
    margin-top: 0.5rem;
    align-self: flex-end;
    transition: border-color 0.2s;
   margin: 1.75rem 0 0 auto;
	background:#0058A2;
	    position: relative;
    overflow: hidden;
	transition: transform .45s ease, color .3s ease;
}


.content-arrow::before, .content-arrow::after {
    font-family: "Material Symbols Outlined";
    content: "arrow_forward";
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 1.25rem;
    color: #fff;
    transform: translate(-50%, -50%);
    transition: transform .45s ease, color .3s ease;
}



a:hover .content-arrow {
	background:#fff;
	background:#0058A2;
}

.content-arrow::after {
    color: #0058A2;
	 color: #fff;
    transform: translate(-250%, -50%);
}

a:hover .content-arrow::before{
	transform: translate(250%, -50%);
}

a:hover .content-arrow::after {
    transform: translate(-50%, -50%);
}


.news-list .content-arrow{
	position: absolute;
    right: 0;
}

.news-list{
	border-bottom:1px solid #ddd;
	position:relative;
}


.news-list .content-arrow{
	align-self: auto;
	margin:0;
}


.text-inner{
	padding:2rem;
}


.date-list .ttl,
.date-list .ttl-en{
	display:block;
}



.date-list .num{
	    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
	    letter-spacing: 0;
}


.date-list .unit{
	    font-size: 16px;
    line-height: 1.2;
    font-weight: 700;
	
	    margin-left: 3px;
}

.date-list .ttl{
	    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
	margin:0 0 .5rem;
}



.date-list .ttl-en{
		    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.date-list-headline{
color: #fff;
    padding: 0 0 1rem;
    border-bottom: 2px solid #fff;
    margin: 0 0 2rem;
    font-size: 18px;
    font-weight: 700;
}


.date-list ul{
	list-style:none;
	display: grid;
    grid-template-columns: repeat(2, 1fr);
	margin: 0;
	color:#fff;
	gap:2rem;
}

.date-list li{
	/*margin:0 0 1.5rem;*/
}

.fact-wrap{
	margin: 0 0 5rem;
}

.fact-item{
	border: 1px solid #ddd;
    padding: 2rem;
    border-radius: 1rem;
    /* background: #F3F6FA;*/
}

.fact-inner{
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
}


.fact-num{
font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0;
    margin: 0 0 1rem;
}

.fact-unit {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
    margin-left: 3px;
}

.fact-ttl{
	font-weight:700;
	    margin: 0 0 .5rem;
}

.fact-desc{
	color:#555;
	font-size:14px;
}



.contect-list ul{
	list-style:none;
	display: grid;
    grid-template-columns: repeat(1, 1fr);
	margin: 0 0 1.5rem;
	color:#fff;
	gap: 1.5rem;
    row-gap: 1.5rem;
}

.contect-list ul li,
.contect-tel{
	border: 1px solid #fff;
    text-align: center;
    border-radius: 0.5rem;
	color:#fff;
}

.contect-tel{
	    padding: 1.5rem;	
}

.contect-list .content-arrow{
	    margin: 0;
    position: absolute;
    right: 1.5rem;
    align-self: center;
}
.contect-list ul li{
	background:#fff;	
}



.contect-list ul li a{
	color:#212121;	
	position:relative;
	display:flex;
	align-items:center;
	    font-size: 14px;
    font-weight: 500;
	    padding: 1.5rem;
}

.contect-tel a{
	font-size: 32px;
	color:#fff;
	font-weight: 700;
}

.contect-tel a:before{
	content: 'call';
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 22px;
    display: inline-block;
    height: 1em;
    line-height: 1;
    margin-right: 3px;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

.wellness-wrap {
background-image: url(https://daigo-wh.co.jp/contents/wp-content/uploads/2026/09/wellness_img.png);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 1.5rem;
	    position: relative;
}

.wellness-wrap::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   background: -webkit-linear-gradient(
  bottom,
  #0058A2 0%,
  #0058A200 100%
);

background: linear-gradient(
  to top,
  #0058A2 0%,
  #0058A200 100%
);
	border-radius: 1.5rem;
}


.wellness .head{
	 max-width: 400px;
	padding: 5rem 2rem 3rem 2rem;
	position: relative;
}

.site-footer{
	background:#424242;
}


.site-footer-top{
	margin:0 auto;
	background:#fff;
}

.banner-list{
	padding:0;
	display: grid;
  justify-content: center;
}

.banner-list ul{
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
    gap: 1.5rem;
	row-gap:1.5rem;
	margin: 0;
}


.banner-list img{
	display: block;
	width: auto;
	height: 60px;
	max-width: 100%;
	object-fit: contain;
	border: 1px solid #eaeaea;
}

/**
 * 15.0 Pages
 */


#breadcrumbs{
font-size: 13px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 2rem;
}

#breadcrumbs .breadcrumbs {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
		scrollbar-width: none;             /* Firefoxでスクロールバー非表示 */
	}
	#breadcrumbs .breadcrumbs::-webkit-scrollbar {
		display: none;                     /* Chrome / Safariでスクロールバー非表示 */
	}

#breadcrumbs .breadcrumbs-inner {
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		white-space: nowrap;
		width: max-content;                /* 中身の合計幅ぶん横に伸ばして折り返しを防ぐ */
		padding:.5rem 1rem .5rem 0;                /* 最後の項目が画面端で切れないよう余白を確保 */
	}
 
	#breadcrumbs .breadcrumbs-inner span[property="itemListElement"] {
		flex: 0 0 auto;
		white-space: nowrap;
	}
 
	#breadcrumbs .breadcrumbs-inner .is-arrow {
		flex: 0 0 auto;
	}

.page-header-inner{
	max-width: 1280px;
    margin: 0 auto;
    padding: 3rem 2rem;
    width: 100%;
}

.page-content .b-line{
	border: 1px solid #ddd;
    border-radius: 1rem;
}

.list-wrap{
	padding: 2rem;
    background: #F3F6FA;
    border-radius: 1rem;
	margin:0 0 1.75em;
}

.list-wrap.flex ul{
	display: flex;
    gap: 3rem;
}

.list-wrap ul{
	margin:0;
}

.list-wrap li{
	list-style-type:none;
}

.list-wrap ul li:before{
	display: inline-block;
    vertical-align: middle;
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 5px;
    margin-right: 8px;
    margin-top: -2px;
    background: #0058A2;
}

.page-content h3{
	font-size:18px;
	margin:3rem 0 1.5rem;
	line-height:1.5;
}


.page-content{
    max-width: 1280px;
    padding: 0 2rem;
	width:100%;
}



.page-content{
margin: 0 auto 4.5em;
}

.page-template-policy-page .page-content{
    max-width: 1024px;	
}



.page-header{
	min-height:180px;
	display:flex;
	align-items:center;
	margin:0 0 2.5rem;
}

.page-desc{
	margin:1.75rem 0 0;
}

.page-title-en{
	font-family: "Montserrat", Sans-serif;
	letter-spacing: -0.01em;
    position: relative;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
    color: #0058A2;
}

.page-title-ja{
	font-weight: 500;
    margin: 0.75rem 0 0;
	font-size: 16px;
}

.is-arrow::before{
	content: 'arrow_forward_ios';
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1;
    font-weight: 400;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    margin: 0 4px;
}

.page-header {
	position: relative;
	overflow: hidden;
}

.page-header::before {
	content: "";
	inset: 0;
	position: absolute;
background:#F3F6FA;
	z-index: 0;
}

.page-header-inner::after
 {
	 content: "";
    position: absolute;
    top: 86px;
    right: -10%;
    width: 400px;
    height: 400px;
    background-image: url(https://daigo-wh.co.jp/contents/wp-content/themes/daigo-wh/images/bg_logo.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translateY(-50%) rotate(-45deg);
    z-index: 0;

}

.page-header-l,
.page-header-inner {
	position: relative;
	z-index: 2;
}

.p-detail-img img{
	background:#fff;
}

.p-inner .p-detail-img img{
	/*margin:0 0 1rem;*/
}

.p-detail-img{
	position:relative;
}

.p-detail-img.img-scroll .scroll-message{
	position: absolute;
    top: 0;
    left: 0;
    background: #eaeaea;
    border-radius: 1rem 0 0 0;
    padding: .25rem .725rem;
    font-size: 12px;
    opacity: 0.8;
}

.p-detail-img.img-scroll{
		display: grid;
		grid-template-columns: max-content;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	.p-detail-img.img-scroll img{
		display: block;
		width: 640px;
		max-width: none;
		height: auto;
		padding-top:1rem;
	}

/**
 * 15.0 - Related
 */


.related-nav-wrap{
	padding: 2rem;
    background: #F3F6FA;
    border-radius: 1rem;
	/*margin:5.5rem 0 0;*/
}



.related-nav-list{
	display: grid;
    list-style-type: none;
    margin: 0;
    gap: 1.5rem;
    grid-template-columns: repeat(1, 1fr);
}

.related-nav-wrap a:hover{
	text-decoration:none;
}

.related-nav-wrap .company-nav-title{	
    background: #fff;
    padding: 1.5rem 4rem 1.5rem 1.5rem;
    border-radius: .5rem;

}

.about-list-item a,
.related-nav-wrap .company-nav-title {
	position: relative;
	overflow: hidden;
	z-index: 0;
	transition: color 0.4s ease;
}

.about-list-item a::before,
.related-nav-wrap .company-nav-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 100%;
	background: #0058A2;
	z-index: -1;
	transition: width 0.4s ease;
}

.about-list-item a:hover::before,
.related-nav-wrap a:hover .company-nav-title::before {
	width: 100%;
}


.about-list-item .arrow::before,
.related-nav-wrap .arrow::before,
.related-nav-wrap a:hover{
	color:#fff;
}

.about-list-item a:hover .content-arrow,
.related-nav-wrap a:hover .arrow{
    background-color: #fff;
}

.page-content .related-nav-heading{
	margin-top:3rem;
}

.related-nav-wrap .arrow{
	background: #0058A2;
}

.about-list-item a:hover .content-arrow::after,
.related-nav-wrap .arrow::after {
    color: #0058A2;
    transform: translate(-250%, -50%);

}

.related-nav-wrap .company-nav-title span{
	font-size:14px;
	font-weight:500;
}

.related-nav-wrap .company-nav-title .arrow{
	right:1rem;
}



/**
 * 16.0 - Company
 */

.company-nav-list{
	list-style: none;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 2rem;
}



.arrow {
	background-color: #fff;
	width: 2.1875rem;
	height: 2.1875rem;
	border: 1px solid #0058A2;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: absolute;
	top: 50%;
	right: 0.5rem;
	transform: translateY(-50%);
	overflow: hidden;
	transition: background-color .3s ease;
}

.arrow::before,
.arrow::after {
	font-family: "Material Symbols Outlined";
	content: "arrow_forward";
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	position: absolute;
	top: 50%;
	left: 50%;

	font-size: 1.25rem;
	color: #0058A2;

	transform: translate(-50%, -50%);
	transition:
		transform .45s ease,
		color .3s ease;
}

/* 通常表示されている矢印 */
.arrow::before {
	transform: translate(-50%, -50%);
}

/* 左側に待機 */
.arrow::after {
	color: #fff;
	transform: translate(-250%, -50%);
}

/* 現在の矢印を右へ */
a:hover .arrow::before {
	transform: translate(150%, -50%);
}

/* 新しい矢印を左から中央へ */
a:hover .arrow::after {
	transform: translate(-50%, -50%);
}

/* 円の背景色 */
a:hover .arrow {
	background-color: #0058A2;
}

.about-list-item .arrow{
	background:#0058A2;
	right: 1.5rem;
}

.about-list-item a:hover .arrow{
	background:#fff;
}

.about-list-item a:hover .arrow::after{
	color:#0058A2;
}


.service-nav-img,
.company-nav-img {
 margin: 0 0 1rem;
	overflow: hidden;
border-radius:1rem;
	aspect-ratio: 16 / 9;
}


.features-nav-img img,
.service-nav-img img,
.company-nav-img img {
	border-radius:1rem;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
background: #F3F6FA;
	    aspect-ratio: 16 / 9;
}



.num-nav-img,
.features-nav-img,
.service-nav-img{
	margin:0;
}

.features-nav-img{
	    padding-left: 50px;
    margin-top: 2rem;
}

.num-nav-text .p-detail-img{
	    margin-top: 1.75rem;
}

.num-nav-text,
.features-nav-text{
	display: flex;
	align-items: baseline;
}

.num-nav-number,
.features-nav-number {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	color: #0058A2;
	flex:0 0 50px;
}

.num-nav-number{
	font-size: 20px;
}

.company-nav-link:hover .company-nav-img img {
	transform: scale(1.1);
}

.company-nav-title{
	position:relative;   
	    padding: 0 3.5rem 0 .5rem;
    line-height: 1.5;
}

.company-nav-title .en{
	font-weight:600;
	font-size:15px;
	letter-spacing: -0.01em;
}


.company-nav-title h2{
	font-size: 20px;
    color: #212121;
    font-weight: 500;
}

.company-overview table th{
	max-width:240px;
		width:30%;
}

.company-overview table{
	font-size:14px;
}

.company-sub-item .ttl{
	font-weight:500;
	display:block;
}

.company-sub-item {
	margin: 0 0 1.5rem;
}

.company-sub-item:last-child {
	margin-bottom: 0;
}

/**
 * 17.0 - Service
 */




.c-index{
	margin: 0 auto 3.5rem;
	max-width:910px;
}

.c-index ul{
	grid-template-columns: repeat(2, minmax(0, 1fr)); /* 1fr → minmax(0, 1fr) */
	
    display: grid;
    justify-content: center;
    list-style-type: none;
	gap: 1.5rem;
	margin:0;

}



.c-index ul li a{
	color:#212121;
	display:block;
	border-bottom:1px solid #ddd;
	-webkit-transition: ease 0.3s;
    transition: ease 0.3s;
	padding:1rem 0;
	position: relative;
    display: flex;
    gap: 2rem;
    align-items: center;
	font-size: 13px;
	min-width: 0;
}

.c-index ul li a:hover{
	text-decoration:none;
	color:#0068b7;
	border-bottom:1px solid #0068b7;
}

.c-index ul li a:hover:after,
.c-index ul li a:hover .arrow-east:after{
	color:#0068b7;
	top:3px;
}

.c-index ul li{
	position:relative;
	font-size:1rem;
	line-height:1.5;
	min-width: 0;
}

.c-index ul li a .text{
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}


.c-index ul li a .arrow-east:after{
	font-family: "Material Symbols Outlined";
    content: "east";
    font-size: 18px;
    line-height: 1.5;
    color: #212121;
        -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
    transform: rotate(90deg);
    right: 0;
    top:0;
    display: block;
    position: absolute;
	padding: 1rem 0;
}

.p-contact-wrap ul{
	display: grid;
	grid-template-columns: repeat(1, 1fr);
    justify-content: center;
    list-style-type: none;
    gap: 1rem;
    margin: 0;
}

.p-contact-wrap{
	margin:0 auto 5rem;
	max-width: 300px;
}

.p-contact-wrap:first-child{
	margin: 3rem auto 5rem;
    max-width: 300px;
}

.p-contact-wrap ul .p-nav-link{
	margin:0;
}

.p-content-desc,
.p-content-lead{
	max-width: 780px;
	text-align:center;
    margin: 0 auto 5rem;
}

.p-notice{
	font-size:13px;
}

.num-nav-list,
.features-nav-list,
.service-nav-list{
	display: grid;
	max-width: 1280px;
    margin: 0 auto;
	list-style-type:none;
}

.num-nav-list{
	margin:3rem auto;
}

.num-nav-list:first-child{
	margin:0 auto;
}

.num-nav-item,
.features-nav-item,
.service-nav-item{
    padding:2rem 0;
    border-bottom: 1px solid #eaeaea;
}

.num-nav-item{
	padding:2rem 0;
}

.TwoColumnLayout .num-nav-item{
	grid-template-columns: repeat(1, 1fr);
}

.num-nav-list li:first-child,
.features-nav-list li:first-child,
.service-nav-list li:first-child{
	border-top: 1px solid #eaeaea;
}



.section-title{
	font-size:20px;
	    margin: 6rem 0 3.5rem;
	position:relative;	
	line-height:1.5;
}

.page-content .section-title{
	margin-bottom:3.5rem;
}

.p-content-mv{
	    margin: 0 0 6rem;
}


.p-content-mv img{
	    width: 100%;
    object-fit: cover;
    height: 200px;
    border-radius: 1rem;
}


.section-title:before {
    display: block;
    content: "";
    width: 3rem;
    height: 4px;
    position: absolute;
    left: 0;
    top: -2rem;
    background: #0058A2;
    overflow: hidden;
}

.section-title .en{
	    display: block;
    color: #0058A2;
    font-size: 16px;
    font-weight: 700;
	margin:.5rem 0 0;
}

.p-nav-link{
	display: flex;
    background: #0058A2;
    padding: 1.25rem 4rem 1.25rem 1.5rem;
    border-radius: 0.5rem;
    margin: 1.75rem 0 0;
    color: #fff;
    position: relative;
    max-width: 100%;
	width:100%;
	font-size:14px;
    font-weight: 500;
}

.p-nav-link .arrow{
	border: 1px solid #fff;
	right: 1rem;
	    background-color: #0058A2;
}

a.p-nav-link:hover .arrow{
	border:1px solid #fff;
	background-color: #fff;
}

a.p-nav-link:hover,
a.p-nav-link:focus,
a.p-nav-link:active,
.p-nav-link .arrow::before{
	color:#fff;
	text-decoration:none;
}
.p-nav-link .arrow::after{
	color:#0058A2;
}

table .p-nav-link{
	margin:0;
}

.num-nav-title h2,
.features-nav-title h2{
	font-size: 20px;
	line-height:1.4;
		margin:0 0 1.5rem;
}


.service-nav-title h3{
	margin:0 0 1rem;
	font-size: 22px;
	line-height:1.4;
}




/**
 * 18.0 - Downloads
 */


.initiatives-link,
.wellness-link,
.download-link{
    background: #0058A2;
    border-radius: .5rem;
    color: #fff;
    font-weight: 700;
    font-size: 15px;
    width: 100%;
    margin-top: 1.75rem;
	    padding: 1rem;
    text-align: center;
	    -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
}

.entry-card-list,
.case-card-list,
.initiatives-list,
.wellness-list,
.download-list{
	list-style:none;
	margin:0;
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
}

.TwoColumnLayout .case-card-list{
	grid-template-columns: repeat(1, 1fr);
}

.entry-card-item,
.case-card-item,
.initiatives-item,
.wellness-item,
.download-item{
	display: flex;
    flex-direction: column;
    height: 100%;
}

.entry-card-item a,
.case-card-item a,
.initiatives-item a,
.wellness-item a,
.download-item a{
    display: block;
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
	text-decoration:none;
	color:#212121;
	border: 1px solid #eaeaea;
}

.entry-card-item a:hover .entry-card-link,
.case-card-item a:hover .case-card-link,
.initiatives-item a:hover .initiatives-link,
.wellness-item a:hover .wellness-link,
.download-item a:hover .download-link{
	background:#004a89;
}

.entry-card-item a:hover,
.link-card-item a:hover,
.btn a:hover,
.case-card-item a:hover,
.about-list-item a:hover,
.service-card-item a:hover,
.download-item a:hover,
.wellness-item a:hover,
.initiatives-item a:hover{
	text-decoration:none;
	box-shadow: 0 5px 30px #0000000d;
}

.entry-card-item-title h3,
.case-card-item-title h3,
.initiatives-item-title h3,
.wellness-item-title h3,
.download-item-title h3 {
    /*margin: 0 0 1.75rem;*/
	margin:0;
    font-size: 18px;
    line-height: 1.5;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5;
    min-height: calc(1.5em * 2);
}

.related-wellness .wellness-item-title h3{
	margin:0;
}

.related-entry,
.related-initiatives,
.related-wellness{
	max-width:1280px;
	padding:0 2rem;
	margin:0 auto;
}

.related-heading{
	text-align:center;
	margin:0 0 2.75rem;
	font-size: 20px;
	font-weight:700;
}

.entry-card-item-text,
.case-card-item-text,
.initiatives-item-text,
.wellness-item-text,
.download-item-text{
	display: flex;
    flex-direction: column;
    flex: 1 1 auto;
	background:#fff;
	justify-content: space-between;
}

.entry-card-item-desc,
.case-card-item-desc,
.initiatives-item-desc,
.wellness-item-desc,
.download-item-desc{
	    flex: 1 1 auto;
    margin: 1.75rem 0 0;
	font-size:15px;
}

.entry-card-item-desc,
.case-card-item-desc,
.initiatives-item-desc,
.download-item-desc,
.wellness-item-desc {
	display: -webkit-box;
	-webkit-line-clamp: 3; /* 表示したい行数 */
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.entry-card-item > a,
.case-card-item > a,
.initiatives-item > a,
.wellness-item > a,
.download-item > a {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.entry-card-item-inner,
.case-card-item-inner,
.initiatives-item-inner,
.wellness-item-inner,
.download-item-inner{
	    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.entry-card-item-img,
.case-card-item-img,
.initiatives-item-img,
.wellness-item-img,
.download-item-img{
	overflow: hidden;
    aspect-ratio: 16 / 9;
	display: flex;
    align-items: center;
}

.entry-card-item-img img,
.case-card-item-img img,
.initiatives-item-img img,
.wellness-item-img img,
.download-item-img img{
		transition: transform .6s ease;
}

a:hover .entry-card-item-img img,
a:hover .case-card-item-img img,
a:hover .initiatives-item-img img,
a:hover .wellness-item-img img,
a:hover .download-item-img img {
    transform: scale(1.1);
}

.entry-card-item-text,
.case-card-item-text,
.initiatives-item-text,
.wellness-item-text,
.download-item-text{
	padding:2rem;
}

.etnry-card-item-text .content-arrow,
.case-card-item-text .content-arrow,
.initiatives-item-text .content-arrow,
.wellness-item-text .content-arrow,
.download-item-text .content-arrow{
	/*margin-top: auto;*/
}

.entry-card-item-date,
.case-card-item-date,
.initiatives-item-date,
.wellness-item-date{
	margin:0 0 1rem;
	font-size:14px;
}

.message-ceo{
	    text-align: right;
	margin:0 0 1.75rem;
}




.interview-wrap{
	
}

.interview-inner{
	border-radius: 1rem;
    overflow: hidden;
	
}


.interview-inner a{
	position:relative;
	display:block;
}

.interview-inner .txt{
	position: absolute;
    bottom: 0;
    z-index: 3;
    color: #fff;
    font-size: 14px;
    padding: 1rem 2rem;
    line-height: 1.5;
    font-weight: bold;
    text-align: center;
    width: 100%;
}

.video-overlay{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, #3C3C3C 0%, rgba(5, 5, 5, 0) 35%);
    z-index: 3;
}


.play-button::before {
  content: "play_circle";
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100;
  font-size: 100px;
  line-height: 1;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  -webkit-font-smoothing: antialiased;
  -webkit-font-feature-settings: 'liga';
}

 



/**
 * 18.0 - Company
 */


.c-history {
  color: #212121;
}

.c-history-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 3rem;
  color: #222;
}

.c-history-boxList {
  position: relative;
}


.c-history-box {
  display: grid;
  grid-template-columns: auto 0.8125rem 1fr;
  align-items: flex-start;
  gap: 1rem;
  position: relative;
	padding:0 0 2rem;
}

.c-history-box::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #dcdcdc;
  position: absolute;
  top: 13px;
  left: 4.4375rem;
}

.c-history-box:last-child::before {
  display: none;
}

.c-history-year {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
 font-family: "Montserrat", Sans-serif;
    letter-spacing: -0.01em;
  color: #155aa8;
  display: block;
  min-width: 3.0625rem;
	    line-height: 1.5;
}

.c-history-circle {
  display: block;
  width: 0.8125rem;
  height: 1.8125rem;
  position: relative;
  z-index: 1;
}

.c-history-circle::before {
  content: "";
  display: block;
  width: 0.8125rem;
  height: 0.8125rem;
  border-radius: 50%;
  background-color: #155aa8;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.c-history-list {
      padding: 0 0 2rem 1rem;
  border-bottom: 1px solid #dcdcdc;
  list-style: none;
  margin: 0;
}

.c-history-box:last-child .c-history-list {
  border-bottom: none;
  padding-bottom: 0;
}

.c-history-item {
  display: grid;
  align-items: flex-start;
  gap: 1rem;
    grid-template-columns: repeat(1, 1fr);
}

.c-history-item:not(:last-child) {
  margin-bottom: 0.25rem;
}

.c-history-month {
  font-weight: bold;
  display: inline-block;
  white-space: nowrap;
	width: 3rem;
  font-weight: 500;	
}

.c-history-num {
  letter-spacing: 0;
  margin-right: 0.0625rem;
  display: inline-block;
	font-family: "Montserrat", Sans-serif;
    letter-spacing: -0.01em;
}

.c-history-text {
  margin: 0;
	font-size:15px;
}

.wellness-list{
	margin:0 0 2rem;
}

.list-item{
	display: grid;
    gap: 3rem;
	margin-top:3rem;
	margin-bottom:2rem;
}

.list-item-inner{
	padding: 2rem;
    border-radius: 1rem;
    background: #F3F6FA;
	display:flex;
	gap:3rem;
	    align-items: center;
}

.list-item-term {
    font-family: "Montserrat", Sans-serif;
    letter-spacing: -0.01em;
    position: relative;
    font-size: 1.75rem;
    line-height: 1.1;
    font-weight: 700;
    color: #0058A2;
}

.list-item-text{
	font-size: 1.5rem;
    font-weight: 700;
	 line-height: 1.5;
}

.col{
	margin:0 0 5rem;
}


.p--heading{
	    font-size: 22px;
    line-height: 1.375;
	margin: 5rem 0 2rem;
}

.p--heading:first-child{
	margin-top:3rem;
}

.img-ceo{
	    margin: 0 0 2rem;
}

.img-ceo img{
	border-radius: 1.2rem;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.h-img,
.p-img{
margin:1.75rem 0;	
}

.h-img ul{
	    list-style: none;
    margin: 0;
    display: flex;
    gap: 1.75rem;
}

.p-img-col{
	margin:2rem 0;
}



.p-img-col-inner{
	grid-template-columns: repeat(1, 1fr);
	display:grid;
	gap:2rem;
}

.p-img-col-inner img{
	border-radius:1rem;
}

.p-img-list{
	margin:0 0 2rem;
	display:grid;
	gap:2rem;
}

.line-wrap,
.card-wrap{
	margin: 0 0 6rem;
}

.p-content-bg .card-wrap,
.p-inner .card-wrap,
.TwoColumnLayout .card-wrap{
	margin: 0;
}

.line-inner,
.card-inner{
	    margin: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
	margin: 0 0 2rem;
}

.line-inner{
	gap: 3rem;
}

.col-1 .line-inner,
.col-1 .card-inner{
	grid-template-columns: repeat(1, 1fr);
}
.col-2 .line-inner,
.col-2 .card-inner{
	grid-template-columns: repeat(1, 1fr);
}

.col-4 .line-inner,
.col-4 .card-inner{
	grid-template-columns: repeat(1, 1fr);
}


.card-num{
	    font-size: 28px;
    font-weight: 600;
	    line-height: 1;
    margin: 0 0 1rem;
	    color: #0058A2;
}


.card-heading{
	font-size: 18px;
    font-weight: 700;
    margin: 0 0 1rem;
	line-height:1.4;
}

.card-item{
	background:#fff;
    padding: 2rem;
    border-radius: 1rem;
	border:1px solid #eaeaea;
}

.card-desc{
	font-size:15px;
}

.f1e .card-desc{
	font-size:16px;
}

.line-item {
      border-top: 2px solid #0058A2;
    padding-top: 1.5rem;
}
.line-heading {
      font-size: 18px;
    font-weight: 700;
}
.line-desc {   
	margin-top: 1rem;
}

.card-icon:after{
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 30px;
    display: inline-block;
	width:3rem;
	height:3rem;
    line-height: 1;
    font-weight: 400;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
	    background: #0058A2;
    color: #fff;
    padding: 9px;
    margin: 0 0 1rem;
    border-radius: 0.375rem;
	display:block;
}

.flow-box-icon:after,
.fact-icon:after,
.card-icon-bg:after{
	font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 34px;
    display: inline-block;
    width: 3.5rem;
    line-height: 1;
    font-weight: 400;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    color: #0058A2;
    margin: 0 0 1rem;
}

.card-icon-bg[data-icon]:after{
	content: attr(data-icon);
}

.is-mail:after{
		content: 'mail';
}

.is-storefront:after{
		content: 'storefront';
}

.is-description:after{
		content: 'description';
}

.is-contract_edit:after{
		content: 'contract_edit';
}

.is-history:after{
		content: 'history';
}
.is-domain:after{
		content: 'domain';
}

.is-warehouse:after{
		content: 'warehouse';
}

.is-fact_check:after{
		content: 'fact_check';
}

.is-gift::after {
    content: "featured_seasonal_and_gifts";
}

.is-shopping-cart:after{
	content: 'shopping_cart';
}

.is-local-shipping:after{
	content: 'local_shipping';
}

.is-favorite:after{
		content: 'favorite';
}

.is-smokefree:after{
		content: 'smoke_free';
}

.is-groups:after{
		content: 'groups';
}

.is-factcheck:after{
		content: 'fact_check';
}

.is-psychology:after{
		content: 'psychology';
}

.is-autostories:after{
		content: 'auto_stories';
}

.profile-wrap{
	background: #F3F6FA;
	padding: 2rem;
	border-radius: .5rem;
	margin:3rem 0 0;
}


.profile-inner{
	background: #fff;
	display: flex;
	/* align-items は指定しない(初期値の stretch を使う) */
	border-radius: .5rem;
}
.profile-thumb img{
	border-radius: 100%;
	margin-bottom: .5rem;
	width: 60px;
	border: 2px solid #ddd;
}
.profile-name{
	font-size: 12px;
	color: #555;
	text-align: center;
}
.profile-body{
	display: flex;
	align-items: center;
	padding: 2rem;
	border-left: 1px dashed #ddd;
	font-size: 14px;
}

.profile-head{
	width: 214px;
	flex-shrink: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 2rem;
}

/* ===== お問い合わせ(振り分け) ===== */
.contact-card-list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-card-list-single {
	max-width: 720px;
	margin: 0 auto 4rem;
}

.contact-card {
	display: grid;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2rem;
	border-radius: 1rem;
	background: #F3F6FA;
}





.contact-card-en {
	    font-family: "Montserrat", Sans-serif;
    letter-spacing: -0.01em;
	margin: 0 0 .5rem;
	color: #0058A2;
	font-weight: 700;
	font-size:15px;
}

.contact-card-title {
	margin: 0 0 1rem;
	padding: 0;
	font-size: 20px;
	line-height: 1.5;
}

.contact-card-list-single .contact-card-text {
	margin: 0;
	font-size:14px;
}

.contact-card-text{
	margin: 0;
	font-size:14px;
}

.contact-card .p-nav-link {
	flex-shrink: 0;
	margin-top: 0;
}

/* ===== お問い合わせ(フォームページ) ===== */


/* ===== フォームのフォント ===== */
.contact-form-body .fluentform,
.contact-form-body .fluentform .ff-el-input--label label,
.contact-form-body .fluentform .ff-el-form-check-label,
.contact-form-body .fluentform .ff-el-form-control,
.contact-form-body .fluentform input,
.contact-form-body .fluentform textarea,
.contact-form-body .fluentform select,
.contact-form-body .fluentform button,
.contact-form-body .fluentform .ff-btn-submit,
.contact-form-body .fluentform .ff-message-success,
.contact-form-body .fluentform .error,
.contact-form-body .fluentform .ff-el-help-message {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}


.contact-form-body {
	max-width: 720px;
	margin: 0 auto;
}

/* 項目 */
.contact-form-body .ff-el-group {
	margin-bottom: 2rem;
}

/* ラベル */
.contact-form-body .ff-el-input--label label {
	margin-bottom: .75rem;
	color: #212121;
	font-weight: 700;
}

/* 必須マーク */
.contact-form-body .ff-el-is-required.asterisk-right label:after {
	margin-left: .5rem;
	color: #d93025;
}

/* 入力欄 */
body .download-aside .ff-el-form-control,
.contact-form-body .ff-el-form-control {
	padding: 1rem 1.25rem;
	border: 1px solid #d6d6d6;
	border-radius: .5rem;
	background: #fff;
	color: #212121;
	font-size: 16px;
	line-height: 1.6;
	box-shadow: none;
}
body .download-aside .ff-el-form-control:focus,
.contact-form-body .ff-el-form-control:focus {
	border-color: #0058A2;
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 88, 162, .15);
}

.contact-form-body textarea.ff-el-form-control {
	min-height: 220px;
}

/* ===== ラジオ・チェックボックス(フォームページ) ===== */
body .download-aside .ff-default input[type="checkbox"],
body .download-aside .ff-default input[type="radio"],
.contact-form-body .ff-default input[type="checkbox"],
.contact-form-body .ff-default input[type="radio"] {
	display: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}
body .download-aside .ff-default .ff-el-form-check label.ff-el-form-check-label span,
.contact-form-body .ff-default .ff-el-form-check label.ff-el-form-check-label span {
	position: relative;
	display: inline-block;
	margin-left: 0;
	padding-left: 28px;
	line-height: 22px;
	cursor: pointer;
}

/* 丸 */
body .download-aside .ff-default .ff-el-form-check label.ff-el-form-check-label span:before,
.contact-form-body .ff-default .ff-el-form-check label.ff-el-form-check-label span:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	border: 1px solid #d1d1d1;
	border-radius: 2em;
	background-color: #fff;
	transition: border-color .2s, background-color .2s;
}
body .download-aside .ff-default .ff-el-form-check label.ff-el-form-check-label:hover span:before,
.contact-form-body .ff-default .ff-el-form-check label.ff-el-form-check-label:hover span:before {
	border-color: #0058A2;
}

/* 選択時:丸の色 */
body .download-aside .ff-default .ff_item_selected label.ff-el-form-check-label span:before,
.contact-form-body .ff-default .ff_item_selected label.ff-el-form-check-label span:before {
	border: 1px solid #0058A2;
	background-color: #0058A2;
}

/* 選択時:チェックマーク */
body .download-aside .ff-default .ff_item_selected label.ff-el-form-check-label span:after,
.contact-form-body .ff-default .ff_item_selected label.ff-el-form-check-label span:after {
	content: '';
	position: absolute;
	top: 4px;
	left: 8px;
	width: 7px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* 個人情報の同意(構造が違うため個別に調整) */
body .download-aside .ff-default .ff-el-tc label.ff_tc_label,
.contact-form-body .ff-default .ff-el-tc label.ff_tc_label {
	display: flex;
	align-items: flex-start;
	gap: .5rem;
	cursor: pointer;
}

body .download-aside .ff-default .ff-el-tc label.ff_tc_label span.ff_tc_checkbox,
.contact-form-body .ff-default .ff-el-tc label.ff_tc_label span.ff_tc_checkbox {
	display: block;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	padding: 0;
	margin: 0;
	line-height: 22px;
}

body .download-aside .ff-default .ff-el-tc .ff_t_c,
.contact-form-body .ff-default .ff-el-tc .ff_t_c {
	display: block;
	padding: 0;
	line-height: 22px;
}

body .download-aside .ff-default .ff-el-tc .ff_t_c p,
.contact-form-body .ff-default .ff-el-tc .ff_t_c p {
	margin: 0;
}

body .download-aside .ff-el-form-check-input,
.contact-form-body .ff-el-form-check-input {
	margin-right: .5rem;
	accent-color: #0058A2;
}

body .download-aside .ff-custom_html p:last-child,
.contact-form-body .ff-custom_html p:last-child{
	margin:0;
}

/* 個人情報の同意 */
body .download-aside .ff-custom_html p a,
.contact-form-body .ff-custom_html p a {
	color: #0058A2;
	-webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: 0.05125rem;
    text-underline-offset: 0.3125rem;
}

body .download-aside .ff-custom_html p a:hover,
.contact-form-body .ff-custom_html p a:hover{
	text-decoration-thickness: 0.125rem;
}

/* エラー */

body .download-aside .ff-el-is-error .ff-el-form-control,
.contact-form-body .ff-el-is-error .ff-el-form-control {
	border-color: #d93025;
}

body .download-aside .ff-el-is-error .error,
body .download-aside .ff-el-is-error .text-danger,
.contact-form-body .ff-el-is-error .error,
.contact-form-body .ff-el-is-error .text-danger {
	margin-top: .5rem;
	color: #d93025;
	font-size: 12px;
}

body .fluentform .ff-el-is-error .ff-el-form-check-label{
	color: #d93025;
}

body .download-aside .fluentform .ff-el-group{
	font-size:14px;
}

/* 送信ボタン */

body .download-aside .ff_submit_btn_wrapper,
.contact-form-body .ff_submit_btn_wrapper {
	margin-top: 3rem;
	text-align: center;
}

body .download-aside .ff_submit_btn_wrapper{
	    margin: 2rem 0 .5rem;
}

body .download-aside .ff-btn-submit,
.contact-form-body .ff-btn-submit {
	width: 100%;
	height:60px;
	max-width: 240px;
	padding: 1.25rem 2rem;
	border: none;
	border-radius: .5rem;
	background: #0058A2;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity .3s;
}

body .download-aside .ff-btn-submit{
	max-width:100%;
}

body .download-aside .ff-btn-submit:hover,
body .download-aside .ff-btn-submit:focus,
.contact-form-body .ff-btn-submit:hover,
.contact-form-body .ff-btn-submit:focus {
	background: #0058A2;
	color: #fff;
	opacity: .8;
}

/* ===== ドロップダウン(▼はCSSで描画) ===== */

/* ===== ドロップダウン(▼はCSSで描画) ===== */
.contact-form-body {
	--fluentform-input-select-height: 60px; /* Fluent Formsの変数で高さを指定 */
}

.contact-form-body select.ff-el-form-control:not([size]):not([multiple]) {
	padding: 0 3rem 0 1.25rem; /* 右は▼の分を空ける */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer;
}


/* IE/旧Edgeの標準矢印を消す */
.contact-form-body select.ff-el-form-control::-ms-expand {
	display: none;
}

/* ▼の位置の基準 */
.contact-form-body .ff-el-input--content:has(> select) {
	position: relative;
}

/* ▼ */
.contact-form-body .ff-el-input--content:has(> select):before {
	content: '';
	position: absolute;
	top: 30px; /* select の高さ(60px)の半分 */
	right: 1.25rem;
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #212121;
	transform: translateY(-50%);
	pointer-events: none; /* ▼を押しても、selectが反応するように */
}

/* ===== 入力 ー 完了 ===== */
.contact-steps {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 4rem;
	padding: 0;
	list-style: none;
}

.contact-steps-item {
	display: flex;
	align-items: center;
	margin: 0;
	color: #ddd;
	font-size: 16px;
	letter-spacing: .1em;
}

/* 入力と完了のあいだの横棒 */
.contact-steps-item:first-child:after {
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	margin: 0 1.5rem;
	background-color: #ddd;
}

body .download-aside .contact-steps{
	margin:1.5rem 0 0;
}

body .download-aside .contact-steps-item{
	font-size:16px;
}


/* 郵便番号のエラー */
.contact-zip-error {
	margin: 0;
}

.contact-zip-error-text {
	display: block;
	margin-top: .5rem; /* ← 余白はここで調整 */
	color: #d93025;
	font-size: 14px;
	line-height: 1.6;
}

/* エラーがないときは、余白も含めて表示しない */
.contact-zip-error-text:empty {
	display: none;
}


/* 現在のステップ */
.contact-steps-item[aria-current="step"] {
color: #212121;
	text-decoration: underline;
	text-decoration-color: #0058A2; /* 下線だけ青 */
	text-decoration-thickness: 0.125rem;
	text-underline-offset: 0.5125rem;
}

/* 振り分けページ:電話番号 */
.contact-tel {
	margin: 4rem 0 0;
	text-align: center;
}

.contact-tel p {
	margin: 0 0 .5rem;
}

.contact-tel-number {
	font-size: 28px;
	font-weight: 700;
}

.contact-tel-number a {
	color: #212121;
}


.contact-card-tel{
	text-align:center;
	border-top: 1px solid #ddd;
    padding: 1.5rem 0 0;
}

.contact-card-tel p {
	margin: 0;
}

.contact-card-tel-label {
	margin-bottom: .5rem;
	font-weight: 700;
}

.contact-card-tel-number {
	margin-bottom: .5rem;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
}

.contact-card-tel-number a:hover,
.contact-card-tel-number a {
	color: #0058A2;
	text-decoration: none;
}



.contact-card-tel-time {
	font-size: 14px;
}

/* 完了ページ:本文を中央寄せ */
.contact-complete-body {
	text-align: center;
}

.contact-complete-back {
	display: flex;
	justify-content: center;
	margin-top: 3rem;
}


/**
 * 
 */

.download-layout {
  display: flex;
  gap: 4rem;
  align-items: flex-start;
    margin: 150px auto 0;
}

.download-main {
  flex: 1;
  min-width: 0;
}

.download-aside {
      flex: none;
    max-width: 380px;
    border: 1px solid #eaeaea;
    border-radius: 1rem;
}

.download-aside .fluentform{
	padding:2rem;
}

.download-form-title{
	text-align: center;
    padding: 1.25rem;
    border-bottom: 1px solid #eaeaea;
    font-size: 20px;
}

.download-slider-track {
	border-radius:1rem;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.download-slider-track::-webkit-scrollbar {
  display: none;
}

.download-slider {
  max-width: 1200px;
}

.download-slider-track {
  cursor: grab;
  overscroll-behavior-x: contain;
}

.download-slider-track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

.download-slide {
  flex: 0 0 100%;
  aspect-ratio: 1200 / 630;
  scroll-snap-align: start;
  background: #F3F6FA;
}

.download-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.download-slider-dots {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 2rem 0 0;
}

.download-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
}

.download-description{
	margin:3rem 0 0;
}

.download-dot:focus{
	outline: none;
}

.download-dot.is-active {
  background: #0058A2;
}

.download-title{
	    font-size: 26px;
    margin: 0 0 1.5rem;
    line-height: 1.5;
}



/**
 * 14.0 - CTA
 */

.cta-wrap{
	    background: #0058A2;
    padding: 2.5rem 2rem;
	    margin: 0 -2rem;
}

.cta-block{
	display: grid;
    list-style-type: none;
    margin: 0;
    gap: 2rem;
    grid-template-columns: repeat(1, 1fr);
}

.cta-item{
	padding: 2rem;
    background: #fff;
    border-radius: 1rem;
}

.cta-desc{
	font-size:14px;
	text-align: center;
}

.cta-headline{
	font-weight:700;
	margin:0 0 1rem;
	    font-size: 1.125rem;
    text-align: center;
}

.cta-btn .p-nav-link{
	width:100%;
}

.cta-heading{
	color:#fff;
	font-size:20px;
	margin:0 0 1.5rem;
	text-align:center;
	font-weight:700;
}

/**
 * 14.0 - Layout
 */

.TwoColumnLayout{
	margin:0 0 3rem;
}

.p-inner .TwoColumnLayout{
	margin:0;
}

.TwoColumnLayout-heading{
}

.TwoColumnLayout-content{
	margin-top:1rem;
}

.TwoColumnLayout-heading h2:first-child{
	margin: 6rem 0 3.5rem;
}

.TwoColumnLayout-content h3:first-child{
	margin-top:0;
}

.sec-frame-wrap{
	border-top: 1px solid #eaeaea;
}

.sec-frame{
	border-bottom: 1px solid #eaeaea;
    padding: 3rem 0;
}

.sec-frame .p-img:last-child,
.sec-frame li:last-child,
.sec-frame ol:last-child,
.sec-frame p:last-child{
	margin-bottom:0;
}

/**
 * 14.0 - Card
 */





/**
 * 14.0 - TOC
 */

.ez-toc-title{
	position:relative;
	    font-weight: 700;
    font-size: 15px;
}



.ez-toc-title:after {
    content: "";
    background: #ddd;
    display: block;
    width: calc(100% - 40px);
    height: 1px;
    position: absolute;
    left: 40px;
    z-index: 0;
    top: 13px;
}

.ez-toc-list{
	font-size:14px;
	margin:0;
}

.ez-toc-list a{
	color:#212121;
}


.ez-toc-counter{
	margin:2rem 0 0;
}

.ez-toc-counter nav{
	    margin: 2rem 0 3rem;
    border-bottom: 1px solid #ddd;
    padding: 0 0 2rem;
}

.ez-toc-list li {
    margin: 0 0 8px;
    position: relative;
    padding-left: 20px;
    line-height: 1.6;
	list-style:none;
	background:#fff;
}

.ez-toc-list li::before {
    content: "";
    width: 4px;
    height: 4px;
    background: #1A1A1A;
    position: absolute;
    border-radius: 50%;
    top: 11px;
    margin-right: 12px;
    margin-left: 10px;
    left: 0;
}

.entry-content #ez-toc-container .ez-toc-list li { line-height: 1.8; }
.entry-content #ez-toc-container .ez-toc-list li + li,
.entry-content #ez-toc-container .ez-toc-list ul { margin-top: .25rem; }


/**
 * 14.0 - Case
 */

.service-nav-category{
	color: #888;
    font-size: 16px;
	    margin: 0 0 .5rem;
}

.service-nav-category:before{
	content:"#";
	margin-right:4px;
}

.case-filter{
    width: 100%;
    margin: 0 auto 3rem;
		overflow-x: auto;
	-webkit-overflow-scrolling: touch; /* iOSの慣性スクロール */
	scrollbar-width: none; /* Firefox */
	-ms-overflow-style: none; /* Edge/IE */
}

.case-filter::-webkit-scrollbar{
	display: none; /* Chrome/Safari */
}

.case-filter ul{
	    margin: 0;
    display: flex;
	flex-wrap: nowrap;
    gap: 1rem;
    list-style: none;
    justify-content: safe center;
	padding:.5rem 0;
}

.case-filter ul li{
	flex: 0 0 auto;
}

.case-filter-link-inner{
	display: inline-block;
	padding: 0.5rem 1rem;
	font-size:14px;
}

.case-filter ul li a{
	color:#212121;
	border: 1px solid #eaeaea;
	font-weight:500;
    border-radius: .5rem;
	text-decoration:none;
	font-size: 15px;
	white-space: nowrap;
	position: relative;
    overflow: hidden;
    z-index: 0;
	display:block;
        -webkit-transition: ease 0.3s;
    transition: ease 0.3s;
}



.case-filter ul li a.is-active{
	background:#0058A2;
	border: 1px solid #0058A2;
	color:#fff;
	pointer-events: none;
}

.case-filter ul li a:hover{
	text-decoration:none;
}


.article-content .inner{
	padding-top:0;
}



.google-map {
  width: 100%;
aspect-ratio: 3 / 2;
  border-radius: 16px;
  overflow: hidden;
    border-radius: 20px;
}

.google-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.address-box-heading{
	    font-weight: 700;
    margin: 0 0 .5rem;
}

.address-box{
	    margin: 2rem 0 1.75rem;
}

.address-box:last-child{
	margin-bottom:0;
}

.address-wrap.col-r{
	align-content:center;
}


.bazar {
	--bz-navy: #17305c;
	--bz-accent: #1c4d82;
	--bz-tint: #eaf2fb;
	--bz-border: #d7e3f1;
	--bz-text: #44506b;
	color: var(--bz-text);
}
.bazar-section {
	max-width: 1120px;
	margin: 0 auto;
	padding: 64px 24px;
	box-sizing: border-box;
}
.bazar-section--tint {
	max-width: none;
	background: var(--bz-tint);
}
.bazar-section--tint > * {
	max-width: 1120px;
	margin-left: auto;
	margin-right: auto;
}
.bazar-section__title {
	margin: 0 0 24px;
	font-size: 24px;
	line-height: 1.5;
	color: var(--bz-navy);
}
.bazar-section__lead {
	margin: -8px 0 24px;
	font-size: 13px;
	color: #64748b;
}

/* 最新の会期 */
.bazar-latest {
	max-width: 1120px;
	margin: 32px auto;
	padding: 40px;
	background: var(--bz-tint);
	border-radius: 20px;
}
.bazar-latest__label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--bz-accent);
}
.bazar-latest__title {
	margin: 8px 0 20px;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.4;
	color: var(--bz-navy);
}
.bazar-latest__thumb {
	margin-top: 24px;
}
.bazar-latest__thumb img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}
.bazar-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.bazar-summary__row {
	flex: 1 1 320px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 18px 24px;
	background: #fff;
	border-radius: 12px;
	box-sizing: border-box;
}
.bazar-summary__label {
	font-size: 12px;
	color: #64748b;
}
.bazar-summary__value {
	font-size: 16px;
	font-weight: 700;
	color: var(--bz-navy);
}
.bazar-summary__value small {
	margin-left: 6px;
	font-size: 13px;
	font-weight: 500;
}
.bazar-notice {
	margin: 16px 0 0;
	font-size: 13px;
	line-height: 1.9;
	color: #b45309;
}
.bazar-report {
	margin-top: 24px;
	line-height: 2;
}
.bazar-report img {
	max-width: 100%;
	height: auto;
}

/* プログラム */
.bazar-programs {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bazar-programs__item {
	flex: 1 1 240px;
	min-width: 220px;
	padding: 26px;
	border: 1px solid var(--bz-border);
	border-radius: 12px;
	box-sizing: border-box;
}
.bazar-programs__time {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--bz-accent);
}
.bazar-programs__title {
	margin: 8px 0;
	font-size: 16px;
	color: var(--bz-navy);
}
.bazar-programs__desc {
	margin: 0;
	font-size: 13px;
	line-height: 1.8;
}
.bazar-special {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-top: 20px;
	padding: 20px 26px;
	background: var(--bz-tint);
	border-radius: 12px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--bz-navy);
}

/* 出店者 */
.bazar-vendors {
	display: grid;
	gap: 1rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	    grid-template-columns: repeat(1, 1fr);
	    font-size: 14px;
}

.bazar-vendors__item {
	display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 2rem;
    background: #fff;
    border-radius: 1rem;
    box-sizing: border-box;
    border: 1px solid #eaeaea;
}

.bazar-dates__title{
	font-size: 16px;
		font-weight: 700;
	line-height:1.4;
	margin:0 0 1.75rem;
}

.bazar-schedule__title,
.bazar-vendors__name {
	font-size: 16px;
	font-weight: 700;
	line-height:1.4;
}

.bazar-schedule__time{
	/*color:#0058A2;*/
	font-size:18px;
	    font-weight: 600;
}

.bazar-schedule__desc,
.bazar-vendors__goods {
	font-size:14px;
}

.bazar-vendors__note {
	margin: 24px 0 0;
	font-size: 13px;
	line-height: 1.9;
}

.bazar-schedule{
		margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	    display: grid;
    gap: 1rem;
}


.bazar-schedule__item{
	padding: 2rem;
    border: 1px solid #eaeaea;
        gap: .5rem;
    border-radius: 1rem;
	display:flex;
    flex-direction: column;
	background:#fff;
}

.bazar-dates-wrap{
	    padding: 1.5rem;
    border: 1px solid #eaeaea;
    border-radius: 1rem;
    background: #fff;
	margin:0 0 1rem;
	font-size: 14px;
}

.bazar-dates{
	border-top: 1px solid #eaeaea;
}

.bazar-dates__row{
	display:flex;
	gap:2rem;
}

.bazar-dates__row dt{
	white-space: nowrap;
}

.bazar-dates__row dt,
.bazar-dates__row dd{
	padding: 1rem 0;
}

.bazar-dates__row{
	border-bottom:1px solid #eaeaea;
}

.address-box-address{
	font-size: 14px;
}

.bazar-dates__row dd{
	margin:0;
}

.bazar-dates__value time{
}

/* 過去の開催風景（写真のみ） */
.bazar-photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bazar-photos__item {
	margin: 0;
}
.bazar-photos__img {
	display: block;
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 12px;
	background: var(--bz-border);
}
.bazar-pagination {
	margin-top: 32px;
	text-align: center;
}
.bazar-pagination .page-numbers {
	display: inline-block;
	min-width: 40px;
	padding: 8px 12px;
	margin: 0 2px;
	border: 1px solid var(--bz-border);
	border-radius: 8px;
	font-size: 14px;
	text-decoration: none;
	color: var(--bz-navy);
	box-sizing: border-box;
}
.bazar-pagination .page-numbers.current {
	background: var(--bz-navy);
	border-color: var(--bz-navy);
	color: #fff;
}

/* パーツ：これまでの開催風景のタブ（parts/bazar-photos.php）
 * PCは折り返し、スマートフォンは折り返さず横スクロール。 */
.bazar-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
}
.bazar-tabs__tab {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 10px 20px;
	border: 1px solid #ddd;
	border-radius: .5rem;
	background: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #212121;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, color .15s;
}
.bazar-tabs__tab:hover {
	border-color: #0058A2;
}
.bazar-tabs__tab[aria-selected="true"] {
	border-color: #0058A2;
	background: #0058A2;
	font-weight: 700;
	color: #fff;
}

.bazar-tabs__panel[hidden] {
	display: none;
}
/* タブの列が横に長くなっても、親の列の幅を押し広げない（横スクロールさせるために必要） */
.bazar-past-wrap .TwoColumnLayout-content {
	min-width: 0;
}

@media (max-width: 767px) {
	.bazar-tabs {
		max-width: 100%;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding: 4px 2px;
	}
	.bazar-tabs::-webkit-scrollbar {
		display: none;
	}
	.bazar-tabs__tab {
		flex: 0 0 auto;
	}
}

/* タブ切り替えのフェード、写真のリンク、ポップアップのスライダー（parts/bazar-photos.php） */
@keyframes bazarFade {
	from { opacity: 0; }
	to   { opacity: 1; }
}
.bazar-tabs__panel:not([hidden]) {
	animation: bazarFade .4s ease;
}
.bazar-photos__link {
	display: block;
	overflow: hidden;
	border-radius: 12px;
	cursor: zoom-in;
}

.bazar-photos__link .bazar-photos__img {
	transition: transform .3s ease;
}

.bazar-photos__link:hover .bazar-photos__img {
	transform: scale(1.04);
}


html.bazar-lb-open {
	overflow: hidden;
}
.bazar-lightbox {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(8, 16, 32, .92);
	color: #fff;
}
.bazar-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
	animation: bazarFade .25s ease;
}
.bazar-lightbox::backdrop {
	background: transparent;
}
.bazar-lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin: 0;
	max-width: min(92vw, 1200px);
}
.bazar-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: 80vh;
	max-height: 80dvh;
	object-fit: contain;
	border-radius: 8px;
	transition: opacity .25s ease;
}
.bazar-lightbox__img.is-loading {
	opacity: 0;
}
.bazar-lightbox__count {
	font-size: 13px;
	letter-spacing: .12em;
	color: #cfe0f5;
}
.bazar-lightbox__btn {
	appearance: none;
	-webkit-appearance: none;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0 0 8px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
	font: inherit;
	font-size: 30px;
	line-height: 1;
	color: #fff;
	cursor: pointer;
	transition: background-color .15s;
}
.bazar-lightbox__btn[hidden] {
	display: none;
}
.bazar-lightbox__btn:hover {
	background: rgba(255, 255, 255, .3);
}

.bazar-lightbox__close,
.bazar-lightbox__close:hover{
	background:none;
}

.bazar-tabs__tab:focus,
.bazar-lightbox__close:focus{
	outline:none;
}


.bazar-lightbox__close {
	top: 16px;
	right: 16px;
	background:none;
}
.bazar-lightbox__prev {
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
}
.bazar-lightbox__next {
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}
@media (max-width: 767px) {
	.bazar-lightbox__btn {
		width: 40px;
		height: 40px;
		font-size: 26px;
	}
	.bazar-lightbox__prev { left: 8px; }
	.bazar-lightbox__next { right: 8px; }
	.bazar-lightbox__img { max-height: 70vh; max-height: 70dvh; }
}
@media (prefers-reduced-motion: reduce) {
	.bazar-tabs__panel:not([hidden]),
	.bazar-lightbox[open] {
		animation: none;
	}
	.bazar-photos__link .bazar-photos__img,
	.bazar-lightbox__img {
		transition: none;
	}
}

.locations-list ul{
	list-style:none;
	margin:0;
	padding:0;
	border-bottom:1px solid #eaeaea;
}

.locations-list ul li{
	border-top:1px solid #eaeaea;
	padding:2rem 0;
}

.locations-text{
	margin:0 0 1.5rem;
}


.locations-img img{
	    width: 100%;
    border-radius: 1rem;
	aspect-ratio: 4 / 3;
    object-fit: cover;
}

.locations-list ul li dd{
	margin:0;
	font-size:14px;
}

.locations-item{
    display: flex;
}

.locations-heading h2{
	font-size:22px;
	margin:0 0 1rem;
}

.locations-item-ttl{
	-webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100px;
    padding-right: 20px;
    margin-right: 20px;
    font-size: 14px;
    font-weight: 500;
    border-right: 1px solid #e0e0e0;
}

.gmap:before{
	font-family: "Material Symbols Outlined";
    content: "location_on";
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    display: inline-block;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
    vertical-align: middle;
    color: #0068b7;
    padding-bottom: 3px;
    line-height: 1;
}


.target-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5rem;
}


.target-list li {
    position: relative;
	padding: 1rem 1.5rem 1rem 3.5rem;
    border: 1px solid #eaeaea;
    border-radius: 1rem;
    font-weight: 700;
    font-size: 15px;
    background: #fff;
}

.target-list li::before {
content: "";
    position: absolute;
    left: 1.5rem;
    top: 1.5em;
    width: .8rem;
    height: 1.2rem;
    border-right: 3px solid #1c4d82;
    border-bottom: 3px solid #1c4d82;
    transform: rotate(45deg);
}


/* ===== ご利用の流れ（STEPカード横並び） ===== */


.flow-box {
  list-style: none;
	margin: 0;
  padding: 0;
    display: grid;
    justify-content: center;
    gap: 4.5rem;
    grid-template-columns: repeat(1, 1fr);
}

.flow-box-row{
	
}

.flow-box-column{
	
}

.flow-box-item {
  position: relative;
  min-width: 0;
}

.flow-box-card {
  position: relative;
    height: 100%;
    box-sizing: border-box;
    padding: 2.5rem 2rem;
    display: flex;
    align-items: center;
    border-radius: 1rem;
    border: 1px solid #eaeaea;
	    gap: 1.5rem;
}

.flow-box-icon {
  display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.flow-box-icon:after{
	margin:0;
	text-align: center;
}


.flow-box-title {
  margin: 0 0 .5rem;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.flow-box-text{
	margin:0;
}

.flow-box-item:not(:last-child)::after{
content: "";
    display: block;
    width: 0px;
    height: 0px;
    bottom: -3rem;
    position: absolute;
    transform: translate(-100%, -50%);
    right: auto;
    left: calc(50% + 12px);
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #0058A2;
    border-bottom: 0;
}


/* ===== お客様の声 一覧 ===== */
/* ピックアップ(絞り込みの上) */
.voice-pickup { margin-bottom: 4rem; }
.voice-pickup .section-title { margin-bottom: 1.5rem; }

/* カードの並び */
.voice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

/* カード */
.voice-card {
  display: flex;
  flex-direction: column;
  gap: .875rem;
  margin: 0;
  padding: 1.75rem 1.625rem 1.5rem;
  border: 1px solid #eaeaea;
  border-radius: 1rem;
  background: #fff;
  font-size: 15px;
}
.voice-card::before {   /* 引用符(色は background-color で指定) */
  content: "";
  width: 1.625rem;
  height: 1.25rem;
  background-color: #ddd;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 28'%3E%3Cpath d='M0 28V16.4C0 7 5 1.2 13.6 0l1.4 3.6C10.4 5.2 8.4 8.2 8.2 12H15v16H0zm21 0V16.4C21 7 26 1.2 34.6 0L36 3.6c-4.6 1.6-6.6 4.6-6.8 8.4H36v16H21z'/%3E%3C/svg%3E") no-repeat left center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 28'%3E%3Cpath d='M0 28V16.4C0 7 5 1.2 13.6 0l1.4 3.6C10.4 5.2 8.4 8.2 8.2 12H15v16H0zm21 0V16.4C21 7 26 1.2 34.6 0L36 3.6c-4.6 1.6-6.6 4.6-6.8 8.4H36v16H21z'/%3E%3C/svg%3E") no-repeat left center / contain;
}
.voice-card-text {
  flex: 1;
  margin: 0;
  text-wrap: pretty;
}
.voice-card-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: .25rem;
  padding-top: 1rem;
  border-top: 1px solid #eaeaea;
    justify-content: right;
}
.voice-card-who {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .25rem;
  min-width: 0;
}
.voice-card-attr { color: #44506b; font-size: .8125rem; line-height: 1.5; }
.voice-card-cat {
  padding: .25rem 1rem;
  border-radius: 3rem;
  background: #f2f2f2;
  color: #555;
  font-size: 13px;
  font-weight: 700;
}

/* ピックアップ */
.voice-card--pickup { gap: 1.25rem; padding: 2rem 1.875rem 1.75rem; border-top: 4px solid #1c4d82; }
.voice-card--pickup::before { width: 2.25rem; height: 1.75rem; }
.voice-card--pickup .voice-card-text { color: #17305c; font-size: 1.1875rem; font-weight: 700; line-height: 1.85; }

.voice-empty { margin: 0; padding: 3rem 0; color: #44506b; text-align: center; }

/* ===== タブレット・スマホ ===== */
@media (max-width: 1023px) {
  .voice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .voice-pickup { margin-bottom: 3rem; }
  .voice-grid { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .voice-card { padding: 1.5rem 1.25rem 1.25rem; }
  .voice-card--pickup { padding: 1.75rem 1.5rem 1.5rem; }
  .voice-card--pickup .voice-card-text { font-size: 1.0625rem; }
}


/* ===== 取り組み事例 詳細 ===== */
.entry-content .initiative-staff { margin: 0 0 2rem; color: #666; font-size: .875rem; }

/* 改善以前 → 改善後 */
.initiative-compare {

}

.initiative-compare-col { min-width: 0; }
.entry-content .initiative-compare-heading {

}
.entry-content .initiative-compare-after .initiative-compare-heading { border-bottom-color: #17305c; }
.entry-content .initiative-compare-text p { margin: 0 0 1em; line-height: 1.9; text-wrap: pretty; }
.entry-content .initiative-compare-text p:last-child { margin-bottom: 0; }
.entry-content .initiative-compare-img { margin: 1.25rem 0 0; }
.entry-content .initiative-compare-img img { display: block; width: 100%; height: auto; margin: 0; border: 1px solid #eaeaea; border-radius: 0; }

/* 見出しにテーマ側の装飾(疑似要素)が付いている場合の打ち消し */
.entry-content .initiative-compare-heading::before,
.entry-content .initiative-compare-heading::after,
.entry-content .initiative-sheet-heading::before,
.entry-content .initiative-sheet-heading::after { content: none; }

/* 矢印(CSSの三角) */
.initiative-compare-arrow {
}

/* 成果 */
.initiative-effect {
  margin: 0 0 2.5rem;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid #17305c;
  background: #f7f7f7;
}
.entry-content .initiative-effect-label { 
	display: block; 
	margin-bottom: .25rem; 
	color: #17305c;
	font-size: .75rem;
	font-weight: 700; 
	letter-spacing: .1em;
}

.entry-content .initiative-effect-text { 
	margin: 0; 
	font-weight: 700;
	line-height: 1.7;
}

.initiative-body { margin: 0 0 2.5rem; }

/* 改善提案書(原本) */
.initiative-sheet { 
	margin: 0 0 2.5rem; 
}

.entry-content .initiative-sheet-heading {
	position: static; 
	margin: 0 0 1rem; 
	padding: 0; 
	border: 0; 
	background: none; 
	font-size: 1.125rem;
	line-height: 1.5
		
}

.entry-content .initiative-sheet-img {
	margin: 0; 
}

.entry-content .initiative-sheet-img img {
	display: block; 
	max-width: 100%;
	height: auto;
	margin: 0; 
	border: 1px solid #eaeaea; 
	border-radius: 1rem;
	padding:2rem;
}

/* ===== スマホ ===== */
@media (max-width: 767px) {
  .initiative-compare { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .initiative-compare-arrow {
    justify-self: center;
    margin-top: 0;
    border-width: 1.125rem .75rem 0 .75rem;
    border-color: #ccc transparent transparent transparent;
  }
  .initiative-effect { padding: 1rem 1.125rem; }
}



/**
 * 14.0 - Media Queries
 */


@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}



@media screen and (max-width: 74.9375em) {
	
		.site {
		padding-top: 72px;
	}
	
	.site-header {	
		position: fixed;  
		top: 0;
		left: 0;
		z-index: 9999;  
		width: 100%; 
		height: 72px; 
		transition: all 0.3s ease-out;
		background: #fff;
	}
		
.scroll-prevent {
 position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.drower-menu-btn {
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
  margin: 0;
}
	
	
		.sp-menu-item{		
		position:relative;
	}
	
.open {
  z-index: 9999999;
  width: 72px;
  height: 72px;
  transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
	
	
.open::before,
.open::after {
  content: "";
}
	
	
.open::before,
.open::after {
 content: "";
        position: absolute;
        top: calc(50% - 2px);
        right: 21px;
        width: 30px;
        border-bottom: 3px solid #212121;
        transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
	
	
.open::before {
  transform: translateY(-8px);
}
.open::after {
  transform: translateY(8px);
}
		
.close {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: background .6s;
}
		
#drower-menu:checked + .open {
  
}
#drower-menu:checked + .open span {
  transform: scaleX(0);
}
#drower-menu:checked + .open::before {
  transform: rotate(45deg);
	border-color: #212121;
}
#drower-menu:checked + .open::after {
  transform: rotate(-45deg);
	border-color: #212121;
}
#drower-menu:checked ~ .close {
  pointer-events: auto;
}
		
#drower-menu:checked ~ .content-wrapper {
 
}

.drower-menu {
	display: block;
  z-index: 999;
  position: fixed;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  top: 72px;
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 0 10px;
  box-sizing: border-box;
  background: #fff;
         transform: translateX(100%);
        transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transition: visibility 0s cubic-bezier(.215, .61, .355, 1) 0s, opacity .5s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform 0s cubic-bezier(.215, .61, .355, 1) 0s;
        transition: visibility 0s cubic-bezier(.215, .61, .355, 1) 0s, opacity .5s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform 0s cubic-bezier(.215, .61, .355, 1) 0s;
        transition: visibility 0s cubic-bezier(.215, .61, .355, 1) 0s, transform 0s cubic-bezier(.215, .61, .355, 1) 0s, opacity .5s cubic-bezier(.215, .61, .355, 1) 0s;
        transition: visibility 0s cubic-bezier(.215, .61, .355, 1) 0s, transform 0s cubic-bezier(.215, .61, .355, 1) 0s, opacity .5s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform 0s cubic-bezier(.215, .61, .355, 1) 0s;
}

#drower-menu:checked ~ .drower-menu {
  transform: none;
}
	
	
	
.drower-menu-list{
		overflow-y: scroll; 
		height: 100%; 
		width: 100%; 
		-webkit-overflow-scrolling: touch;
		background: #f0f3f8;
		padding: 1em 2em 7em;
	}
		
	.main-navigation ul ul{	
		background: #f0f3f8;
		margin-left: 0;
		margin-right: 0;
	}
		
	.main-navigation .menu-item-has-children > a{   
		/*display: none;*/
	}
	
	.main-navigation a{
		border-bottom: 1px solid #e1e1eb;
	}
	
	.main-navigation .menu-item-has-children.no-toggle a{
	border:1px solid #003f8e;
		background: #fff;
		text-align: center;
		position:relative;
	}
	
	.main-navigation .menu-item-has-children.no-toggle a:after{
		content: '';
    position: absolute;
    top: 50%;
    right: 32px;
    width: 40px;
    height: 6px;
    color: #003f8e;
    border-bottom: solid 1px;
    border-right: solid 2px;
    -webkit-transform: translateY(-50%) skew(65deg);
    transform: translateY(-50%) skew(65deg);
    -webkit-transition: .3s ease-out;
    transition: .3s ease-out;
	}

	
	.no-toggle .sub-menu{
		margin-top:16px;
	}
	
	.no-toggle ul li a{
		padding:20px;
		margin: 0 0 16px;
	}
	
	.main-navigation ul li ul li:before{
		background: #003f8e;
    content: '';
    display: block;
    height: 1px;
    width: 10px;
    left: 10px;
    top: 33px;
		position: absolute;
	}
	
	.main-navigation ul .no-toggle ul li:before{
		content:none;
	}
	
	.main-navigation ul li ul li a span{
padding-left: 2em;
		font-size: 13px;
	}
	
	.main-navigation ul .no-toggle ul li a span{
		padding:0;
		font-size: 15px;
	}

.menu-item-has-children > a::before{
	content:'add';
	font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 26px;
    width: 1em;
    height: 1em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    position: absolute;
    top: 20px;
    bottom: 0;
    right: 0;
	transition: transform 0.3s ease;
	}

	.menu-item-has-children.sub-open > a::before{
		content:'remove';
		transform: rotate(180deg);
	}
	
	.more--horiz,
	.main-navigation .menu-item-has-children.no-toggle > a {
    display: none;
}
	
	.sub-menu {
  display: none;
}
.no-toggle .sub-menu,
	.sub-menu.no-toggle,
.sub-menu.show {
  display: block;
}
		
	.main-navigation li{	
		padding:0;
	}
	
	.main-navigation a{
		color:#003f8e;
		padding: 1.5em 0;
		font-weight:700;
	}
	
	.main-navigation a:hover,
	.main-navigation a:focus{
		color:#003f8e;
	}
	
	.menu-top-menu-container, .menu-service-menu-container {    
		margin: 0;
	}
	
	.main-navigation .primary-menu {  
		border-bottom: none;
	}
	
}




/**
 * 14.1 - >= 640px
 */

@media screen and (min-width: 40em) {
	
	
	
	
.sidebar article,
.article article{
	margin-bottom:36px;
	position:relative;
		flex: 0 0 50%;
	max-width: 50%;
	padding-right: 20px;
	padding-left: 20px;
}
	.page-header{
		margin-bottom:5.5em;
	}

	
	.blog-navigation{
		padding-right: 16px;
	padding-left: 16px;
	}
		
		.site-main.article {
    margin-bottom: 7.0em;
	padding:0
}
	

	.search-no-results .site-main.article,
	.error404 .site-main.article{
		padding:0 2em;
	}
	
	
	.p-detail-img.img-scroll .scroll-message{
		display:none;
	}

	.p-detail-img.img-scroll img{
		width: 100%;
		padding-top:0;
	}
	
	.p-detail-img.img-scroll {
    display: block;
    overflow-x: auto;
    overscroll-behavior-x: auto;
}
	
		
}




/**
 * 14.1 - >= 710px
 */

@media screen and (min-width: 44.375em) {
	
		.sr {
		display: none;
	}
	
	.pr {
		display: block;
	}
	

	.site-main {
		margin-bottom: 5.25em;
	}
	

	
	.no-results .page-content p,
	.not-found .page-content p{
		text-align:center;
	}


	.custom-logo {
		max-width: 210px;
	}

	.wp-custom-logo .site-title {
		margin-top: 0.5em;
	}


	.header-image {
		margin: 1.3125em 0;
	}
	
	.post-navigation .post-title {
		font-size: 20px;
		font-size: 1.25rem;
		line-height: 1.25;
	}


	.page-title,
	.entry-title {
		font-size: 32px;
    font-size: 2rem;
		margin-bottom: 0.8484848485em;
	}
	
.page-template-policy-page .page-content h1,
		.entry-content h1,
	.entry-summary h1,
	.comment-content h1 {
		font-size: 33px;
		font-size: 2.0625rem;
		line-height: 1.2727272727;
		margin-top: 1.696969697em;
		margin-bottom: 0.8484848485em;
	}
.contact-complete-body h2,
	.page-template-policy-page .page-content h2,
.p-content-lead h2,
	.entry-content h2,
	.entry-summary h2,
	.comment-content h2,
	.headline{
		font-size: 24px;
		font-size: 1.5rem;
		margin-top: 2em;
		margin-bottom: 1em;
	}
	
	.page-template-policy-page .page-content h3,
	.entry-content h3,
	.entry-summary h3,
	.comment-content h3 {
		font-size: 20px;
		font-size: 1.25rem;
		margin-top: 2.4347826087em;
	}
	
	.page-template-policy-page .page-content h4,
	.entry-content h4,
	.entry-summary h4,
	.entry-intro h4,
	.comment-content h4 {
		letter-spacing: 0.131578947em;
	}

.page-template-policy-page .page-content h4,
	.page-template-policy-page .page-content h5,
	.page-template-policy-page .page-content h6,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6,
	.entry-summary h4,
	.entry-summary h5,
	.entry-summary h6,
	.comment-content h4,
	.comment-content h5,
	.comment-content h6 {
		font-size: 18px;
		font-size: 1.125rem;
		line-height: 1.1052631579;
		margin-top: 2.9473684211em;
		margin-bottom: 1.473684211em;
	}
	

	.entry-content blockquote.alignleft,
	.entry-content blockquote.alignright {
		border-width: 4px 0 0 0;
		padding: 0.9473684211em 0 0;
		width: -webkit-calc(50% - 0.736842105em);
		width: calc(50% - 0.736842105em);
	}
	

	.entry-content blockquote blockquote:not(.alignleft):not(.alignright),
	.entry-summary blockquote blockquote,
	.comment-content blockquote blockquote {
		margin-left: 0;
	}

	.entry-content li > ul,
	.entry-summary li > ul,
	.comment-content li > ul,
	.entry-content blockquote > ul,
	.entry-summary blockquote > ul,
	.comment-content blockquote > ul {
		margin-left: 1.25em;
	}

	.entry-content li > ol,
	.entry-summary li > ol,
	.comment-content li > ol,
	.entry-content blockquote > ol,
	.entry-summary blockquote > ol,
	.comment-content blockquote > ol {
		margin-left: 0;
	}

	.comment-author {
		margin-bottom: 0;
	}

	.comment-author .avatar {
		height: 42px;
		position: relative;
		top: 0.25em;
		width: 42px;
	}

	.comment-list .children > li {
		padding-left: 1.75em;
	}

	.comment-list + .comment-respond,
	.comment-navigation + .comment-respond {
		padding-top: 3.5em;
	}


	.sidebar {
		margin-bottom: 5.25em;
	}

	body:not(.search-results) .entry-summary li > ul,
	body:not(.search-results) .entry-summary blockquote > ul {
		margin-left: 1.157894737em;
	}

	body:not(.search-results) .entry-summary li > ol,
	body:not(.search-results) .entry-summary blockquote > ol {
		margin-left: 1.473684211em;
	}
	
	
	
		
}


/**
 * 14.2 - >= 783px
 */

@media screen and (min-width: 48.9375em) {
	
	
	body:not(.custom-background-image).admin-bar:before {
		top: 32px;
	}
	
	
	.contect-list ul {
    grid-template-columns: repeat(2, 1fr);
}
	
	.date-list ul{
    grid-template-columns: repeat(3, 1fr);
}
	
	.ky-copy{
	    font-size: 58px;
}


.ky-title{
    font-size: 22px;
}

.ky-desc{
	font-size: 20px;
    margin: 1.5rem 0 3rem;
}
	
	
.service-card-list,
.link-card-list {
	grid-template-columns: repeat(2, 1fr);
}

.service .btn a{
	margin:4rem 0 0;
}

.date-list-headline{
padding: 0 0 1.5rem;
    font-size: 22px;
}

.date-list .ttl{
	    font-size: 22px;
}


.date-list .num{
	    font-size: 46px;
}


.date-list .unit{
	    font-size: 18px;
}


.contact-wrap,
.features-wrap,
.news-wrap{

    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
}
	
	.about-wrap {
  gap: 4rem;
}

.about-wrap .head{
	margin:0 0 3rem;
}

.wellness .head{
	padding: 6rem 0 4rem 4rem;
}

.contact-wrap .desc{
	font-size:16px;
}

.banner-list{
	padding:0 2rem;
}

.banner-list img{
height: 80px;
}

.banner-list ul {
    grid-template-columns: repeat(3, 1fr);
}

.site-footer-inner{
	padding: 4rem 2rem;
}

.footer-nav-list{
    grid-template-columns: repeat(4, 1fr);
}


.site-footer-info{
	    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-footer-info .company-info{
	margin:0 0 2rem;
}

.site-info ul{
	text-align:right;
}


.footer-cr{
	margin:0;
}

.contect-tel a{
	font-size: 38px;
}

.contect-tel a:before{
    font-size: 26px;
}

.contect-list ul{
	margin: 0 0 1rem;
	gap: 1rem;
    row-gap: 1rem;
}


.inner{
	    padding: 4rem 2rem;
}


.h-sec {
    margin: 0 0 2rem;
}


.heading-en{
	    font-size: 4rem;
}
	
	
	.page-title-ja{
    font-size: 1.125rem;
}


.section-title{
	font-size:34px;
}

.section-title .en{
    font-size: 22px;
}


.c-index{
	margin: 0 auto 6rem;
}

.c-index ul{
	grid-template-columns: repeat(auto-fit, minmax(6.25rem, 13.6rem));
	gap: 1.5rem 3rem;
}

.c-index ul li a{
	font-size: 16px;
}

.target-list {
  grid-template-columns: repeat(2, 1fr);
 gap: 2rem;
}

.target-list li {
    font-size: 17px;
padding: 1.5rem 1.5rem 1.5rem 4.5rem;
}

.target-list li::before {
content: "";
    left: 2rem;
    top: 2em;
}

.page-content h3{
	font-size:24px;
}

.num-nav-number{
	font-size: 29px;
}

.num-nav-number,
.features-nav-number {
	flex:0 0 70px;
}

.card-heading{
	font-size: 22px;
}


.flow-box-icon:after,
.fact-icon:after,
.card-icon-bg:after{
    font-size: 46px;
}

.p-contact-wrap ul{
	display: flex;
    gap: 2rem;
}

.TwoColumnLayout{
	display:flex;
}


.TwoColumnLayout-heading{
	width: 35%;
    padding-right: 3rem;
}

.TwoColumnLayout-content{
	width: 65%;
	margin-top:1rem;
}

.cta-block {
    grid-template-columns: repeat(3, 1fr);
}

.line-inner,
.card-inner{
    grid-template-columns: repeat(3, 1fr);
}

.TwoColumnLayout .case-card-list{
	grid-template-columns: repeat(2, 1fr);
}

.related-nav-list {
    grid-template-columns: repeat(3, 1fr);
 gap: 2rem;
}

.cta-wrap{
    border-radius: 1rem;
	    margin: 0;
}

.cta-heading{
	font-size:24px;
}

	
.p-nav-link{
    max-width: 320px;
	width:fit-content;
    padding: 1rem 5rem 1rem 2.5rem;
	font-size:15px;
}
	

	
	.entry-card-list,
.case-card-list,
.initiatives-list,
.wellness-list,
.download-list{
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}

	
	.col-inner{
	display: grid;
    gap: 6rem;
    grid-template-columns: 1fr 35%;
}


.p-inner,
.p-content-bg-inner{
	max-width:1280px;
	margin:0 auto;
	padding:4rem 2rem;
}

.page-content section:nth-child(even) .p-inner {
    padding: 4rem 0;
}

.col-2 .line-inner,
.col-2 .card-inner{
	grid-template-columns: repeat(2, 1fr);
}

.card-icon:after{
    font-size: 38px;
	width:3.5rem;
	height:3.5rem;
}


.p-img-list{
	margin:0;
}

.wellness-list{
	margin:0;
}


.TwoColumnLayout{
	margin:0 0 6rem;
}

.fact-inner{
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.num-nav-number,
.features-nav-number {
	font-size: 29px;
}


.num-nav-title h2,
.features-nav-title h2{
	font-size: 32px;
}

.features-nav-img{
	    padding-left: 0;
    margin-top: 0;
}



.num-nav-item,
.features-nav-item,
.service-nav-item{
	    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem;
    padding:3rem 0;
}




	.p--heading{
	    font-size: 28px;
}

.p--heading:first-child{
	margin-top:0;
}


.c-history-box {
  gap: 2rem;
	padding:0 0 2rem;
}

.c-history-box::before {
  left: 6.4375rem;
}

.c-history-year {
  font-size: 1.75rem;
line-height: 1;
 min-width: 4.0625rem;
}

.c-history-list {
      padding: 0 0 2rem;
}

.c-history-month {
	width: 3.625rem;
}

.c-history-item {
  gap: 2rem;
  grid-template-columns: auto 1fr;
}
	
	.case-filter{
    margin: 0 auto 3.5rem;
}

.case-filter ul{
    gap: 2rem;
}


.case-filter-link-inner{
	padding: 0.75rem 1.5rem;
	font-size:16px;
}

.pagination{
	margin: 90px auto 60px;
}

.section-title{
	    margin: 6rem 0 3.5rem;
}

.contect-list ul li a{
	    font-size: 15px;
}

.related-nav-wrap .company-nav-title span{
	font-size:16px;
	font-weight:500;
}

.c-history-text {
	font-size:16px;
}

.locations-list ul li{
	    display: flex;
    justify-content: space-between;
	gap:3rem;
}

.locations-text{
	margin:0;
}


.locations-item-ttl{
    width: 160px;
    font-size: 16px;
}

.locations-list ul li dd{
	font-size:16px;
}

.locations-img img{
	    width: 240px;
}
	
	.TwoColumnLayout-heading h2:first-child{
	margin: 3.5rem 0 0;
}
	
	.col-4 .line-inner,
.col-4 .card-inner{
	grid-template-columns: repeat(4, 1fr);
}
	
	.google-map {
aspect-ratio: 2.5 / 1;
}

.company-overview table{
	font-size:16px;
}

.p-img-col-inner{
	grid-template-columns: repeat(2, 1fr);
}
	
	.line-heading {
      font-size: 22px;
}
	
	
	
.bazar-dates-wrap{
	font-size: 16px;
padding: 2rem;
}

.bazar-dates__row{
	gap:3rem;
}

.bazar-dates__title{
	font-size: 24px;
}


.address-box-address{
	font-size: 16px;
}

.bazar-vendors {
	    grid-template-columns: repeat(2, 1fr);
    font-size: 16px;
}

.bazar-schedule__title,
.bazar-vendors__name {
	font-size: 18px;
}

.bazar-schedule__desc,
.bazar-vendors__goods {
	font-size:16px;
}

.p-content-mv img{
    height: 400px;
}

.related-heading{
	font-size: 32px;
}

.ez-toc-list{
	font-size:15px;
}

.contact-card-body {
    flex: 1;
    border-right: 1px solid #ddd;
    padding-right: 2rem;
}


.contact-card {
	display: flex;
	padding: 2.5rem 3rem;
}
	
	.contact-card-list-single .contact-card-text{
font-size:16px;
}

.contact-card-text{
font-size:16px;
}

.contact-card-title {
	font-size: 24px;
}

.contact-card-en {
	font-size:18px;
}

.contact-card-list {
	gap: 3rem;
}
	
	.contact-card-tel{
	text-align:left;
		border:none;
		padding:0;
}
	

	
	.contact-steps-item {
	font-size: 18px;
}
		.p-contact-wrap{
	margin:0 0 5rem;
	 max-width: 100%;
}
	
	.p-contact-wrap:first-child{
	margin:3rem 0 5rem;
    max-width: 100%;
}
	
	.cta-desc{
		font-size:15px;
	}
	
.company-nav-list{
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem;
}
	

	
}


/**
 * 14.3 - >= 910px
 */

@media screen and (min-width: 56.875em) {

			.entry-header,
	.post-thumbnail,
	.entry-content,
	.entry-summary,
	.entry-footer,
	.comments-area,
	.image-navigation,
	.post-navigation,
	.page-header,
	.page-type .page-header,
	.category .page-header,
	.archive .page-header,
	.page-content,
	.content-bottom-widgets,
	.l-content-block,
	.search .page-header,
	.no-results .page-content,
	.not-found .page-content{
		margin-right: auto;
		margin-left: auto;
	}
	
	.wp-custom-logo .site-header-main {
		-webkit-align-items: center;
		-ms-flex-align: center;
		align-items: center;
	}
		
	.article {
		padding: 0;
	}


	

	.l-content-menu{
    margin-right: -16px;
    margin-left: -16px;
	}

	.sidebar {
		padding:0;
	}


	
	.companies-content,
	.search-filter-wrap,
	.map .entry-header,
	.map .entry-content,
	.example .entry-header,
	.example .entry-content{
		margin-right: 0;
		margin-left: 0;
	}


    .page-numbers.prev span, .page-numbers.next span {
        display: block;
    }
	
	
	.page-header-inner::after{
    top: 100px;
    right: -10%;
    width: 600px;
    height: 600px;
	}
	
	.page-header {
    min-height: 240px;
}
	
	
	
}


/**
 * 14.4 - >= 1024px
 */

@media screen and (min-width: 64em) {
	
	.site-header-main {
			padding: 0 0 0 2rem;
	}
	
	.site-main {
		margin-bottom: 7.0em;
	}
	
	.site-main.article {
		margin-bottom: 7.0em;
	}
	

	.site-header-main {
			position:relative;
				justify-content: space-between;
	}

	.site-header-menu {
		display: block;
		-webkit-flex: 0 1 auto;
		-ms-flex: 0 1 auto;
		flex: 0 1 auto;
		display: flex;
	}
	
	


	
	
.page-title-en{
    font-size: 4rem;
}
	
	

	
	
	
	.menu-top-menu-container ul li.menu-cta{
	position:absolute;
	right:22px;
}
		
	.menu-top-menu-container{
		margin:0;
	}
	
	.site-header-main .menu-tel{
		display:none;
	}
			
	.custom-logo {
		max-width: 240px;
	}

	.image-navigation {
		margin-bottom: 3.230769231em;
	}
	
	.content-area {
		width: 100%; 
	}
	

	.format-aside .entry-title,
	.format-image .entry-title,
	.format-video .entry-title,
	.format-quote .entry-title,
	.format-gallery .entry-title,
	.format-status .entry-title,
	.format-link .entry-title,
	.format-audio .entry-title,
	.format-chat .entry-title {
		font-size: 23px;
		font-size: 1.4375em;
		line-height: 1.304347826;
		margin-bottom: 1.826086957em;
	}

	.post-thumbnail {
		margin-bottom: 2.625em;
	}

	.author-info {
		border-bottom-width: 0;
		padding-bottom: 0;
	}


	body:not(.search-results) .entry-summary {
		margin-bottom: 2.210526316em;
	}

	body:not(.search-results) .entry-header + .entry-summary {
		margin-top: -1.105263158em;
	}
	
	.about-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
	
	.about-wrap, .contact-wrap, .features-wrap, .news-wrap {
    grid-template-columns: 4fr 6fr;
}
	
.page-header{
	min-height:360px;
}
	
.head{
	display: grid;
    grid-template-columns: 4fr 6fr;
    gap: 2rem;
}

	.head .heading{
		margin:0;
	}
	
}


/**
 * 14.4 - >= 1200px
 */

@media screen and (min-width: 75em) {
	
	/*.num-nav-desc,
	p{
		font-size:18px;
	}*/
	
	.site-header {
	padding:0 2rem;
}


.site-header-main {
	margin: 20px auto;
}


.site-header-main::before {
	border-radius: 8px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}
	
		.dropdown-toggle,
	.main-navigation ul .dropdown-toggle.toggled-on,
	.menu-toggle,
	.site-footer .main-navigation {
		display: none;
	}


		.main-navigation .primary-menu,
	.main-navigation .primary-menu > li {
		border: 0;
	}

	.main-navigation .primary-menu > li {
		float: left;
		flex:initial;
	}
	
	    .main-navigation .primary-menu > li:last-child {
        margin-right: 1rem;
    }

	.main-navigation a {
		outline-offset: -8px;
		padding:1em 0.675em;
		white-space: nowrap;
	}

	.main-navigation li:hover > a,
	.main-navigation li.focus > a {
		color: #0068b7;
	}

	.main-navigation ul ul {
		border-bottom: none;
		display: block;
		left: -999em;
		margin: 0;
		position: absolute;
		z-index: 99999;
		box-shadow:0px 3px 18px 3px rgba(0, 0, 0, 0.08);
		padding:20px;
		background:#fff;
	}
	
	.main-navigation ul{
		margin:0;
	}

	.main-navigation ul ul ul {
		top: -1px;
	}

	.main-navigation ul ul ul:before,
	.main-navigation ul ul ul:after {
		border: 0;
	}

	.main-navigation ul ul li {
		background-color: #fff;
		border: none;
		border-bottom-width: 0;	
		padding: 0;
	}

	.main-navigation ul ul a {
		white-space: normal;
		width: 12.6875em;
		width:auto;
		white-space:nowrap;
		min-width:260px;
		padding: 1.2em 0.875em;
	}
	
	.main-navigation ul ul a:hover {
        transform: translateX(5px);
		    background: #F3F6FA;
		border-radius:8px;
    }
	
	.main-navigation .primary-menu > li.menu-item-has-children{
		margin-right:1rem;
	}
	
	.d-btn,
	.c-btn{
		display: flex; align-items: center;
	}
	
.main-navigation li.d-btn{
		padding-right:0;
	}
	
	.main-navigation .current-menu-item.d-btn > a{
		color:#fff;
	}
	
.d-btn a,
.c-btn a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  border: 1px solid #0058A2;
  background: #0058A2;
  border-radius: 4px;
  padding: 0.725em 1.675em;
  color: #fff;
	text-decoration: none;
  transition: color 0.3s ease;
  z-index: 0;
}

.d-btn a:before,
.c-btn a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: -1;
	 top: -1px;
    left: -1px;
    width: calc(100% + 2px);
    height: calc(100% + 2px);
}
	
	.d-btn a{
		background: #fff;
		color: #0058A2;
	}
		
	.main-navigation .current-menu-item.d-btn a{
		background: #fff;
		color: #0058A2;
	}
	
	.d-btn a:before{
		background: #0058A2;
	}
	
	
	.main-navigation .current-menu-item.c-btn a{
		color: #fff;
	}
	
	.main-navigation .current-menu-item.d-btn a{
		color: #0058A2;
	}
	
	.main-navigation .d-btn > a:hover, .d-btn a:hover{
		color:#fff;
	}
	
.main-navigation .current-menu-item.c-btn > a:hover,
.c-btn a:hover{
  color: #0058A2;
}
	
	
.d-btn a:hover:before,
.c-btn a:hover:before {
  transform: scaleX(1);
}

	
.main-navigation .menu-item-has-children {
  position: relative; /* aタグではなくliに付け替える場合 */
}

.main-navigation .menu-item-has-children > a:before,
.main-navigation .menu-item-has-children > a:after {
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
}

.main-navigation .menu-item-has-children > a:before {
  width: 13px;
  height: 0;
  border-top: 2px solid #212121;
  transform: translate(0, -50%) rotate(0deg);
  transition: transform 0.3s ease;
}

.main-navigation .menu-item-has-children > a:after {
  width: 0;
  height: 13px;
  border-left: 2px solid #212121;
  transform: translate(-7.5px, -50%) rotate(0deg);
  transition: transform 0.3s ease, opacity 0.3s ease;
  opacity: 1;       
	right: 2px;

}

/* ポイント: a:hover ではなく li:hover にする */
.main-navigation .menu-item-has-children:hover > a:before {
  transform: translate(0, -50%) rotate(180deg);
}

.main-navigation .menu-item-has-children:hover > a:after {
  transform: translate(-7.5px, -50%) rotate(90deg);
  opacity: 0;
}
	.main-navigation ul ul li:not(:first-child) a{

	}
	
	.main-navigation ul ul li:last-child a{

    margin: 0;
	}
	
	.main-navigation ul ul li:last-child{
		
	}
	
	.main-navigation ul {
    display: flex;
}
	
	.main-navigation ul ul a:before {
        position: absolute;
        top: 26px;
        left: 20px;
        display: inline-block;
        width: 8px;
        height: 8px;
        aspect-ratio: 1;
        content: "";
        background-color: #0058A2;
        border-radius: 50%;
    }
	
	    .main-navigation ul ul a {
        position: relative;
        padding-left: 42px;
    }

	.main-navigation ul ul:before {
		border-color: #d1d1d1 transparent;
		border-width: 0 10px 10px;
		right: 9px;
		top: -9px;
	}

	.main-navigation ul ul:after {
		border-color: #fff transparent;
		border-width: 0 8px 8px;
		right: 11px;
		top: -7px;
	}

	.main-navigation li:hover > ul,
	.main-navigation li.focus > ul {
		left: auto;
		right: 0;
	}

	.main-navigation ul ul li:hover > ul,
	.main-navigation ul ul li.focus > ul {
		left: auto;
		right: 100%;
	}

	.main-navigation .menu-item-has-children > a {
		margin: 0;
	}

	.main-navigation ul ul .menu-item-has-children > a {
		padding-right: 2.0625em;
	}

	.main-navigation ul ul .menu-item-has-children > a:after {
		right: 0.5625em;
		top: 0.875em;
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	
	.page-header-inner{
	    padding-top: 12rem;
    padding-bottom: 8rem;
}
	.page-header-inner::after {
    top: 240px;
    width: 900px;
    height: 900px;
}
	
	.single .site-main > article {
    margin: 9rem auto 0;
}
	
	.hero {
	padding-top:4.5rem;
}
	
		.hero .inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 720px;
    padding: 0 2rem;
    overflow: hidden;
}

.ky-contents {
    flex: 0 0 44%;
    padding: 0;
	text-align:left;
}



.ky-gallery-item {
	aspect-ratio: 4 / 5;
}
	
		.hero-bg img{
	width:100%;
	position: absolute;
    z-index: 1;
    bottom: 0;
	    height: 60px;
	display:block;
}
		body.error404 .site-content,
body.search-no-results .site-content{
	padding-top:8rem;
}
	
	
}
