/* @group @reset */

html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-y:scroll;text-size-adjust:100%;
-webkit-tap-highlight-color:hsla(0, 0%, 0%, 0);
}
body{margin:0;}
html {overflow-x:hidden;}
main,article,aside,figcaption,figure,footer,header,nav,section,div{display:block;}
blockquote,figure{margin-right:0;margin-left:0;}
ul,ol{padding-left:0;list-style:none;}
dd{margin-left:0;}
label{margin-bottom:0;}
img,iframe{border:0;}
img,object,video,picture{width:auto;height:auto;max-width:100%;}

audio,canvas,iframe,img,svg,video,object{vertical-align:middle;}
table{border-collapse:separate;border-spacing:0;}
table,tbody,tr{padding:0;border:0;}
th,td{padding:0;}
th{text-align:left;font-weight:inherit;}
em{font-style:normal;}

iframe,svg:not(:root){overflow:hidden;}
a svg, button svg {transition:inherit;}

a,a:hover,a:focus,button,button:hover{color:inherit;text-decoration:none;cursor:pointer;}
a:focus,button:focus,label:focus{outline:none;}

[hidden],template{display:none;}

pre{
margin-bottom:0;
padding:0;
background:transparent;
border:0;
border-radius:0;
-webkit-hyphens:auto;
-moz-hyphens:auto;
hyphens:auto;
white-space:pre-line;
}

pre,code {
font-size:inherit;
line-height:inherit;
font-weight:inherit;
white-space:pre-line;
}

wbr:after{content:"\200B";white-space: pre;}

form label{transition:none;}
label img{pointer-events:none;}

button{box-sizing:border-box;margin:0;padding:0;background:transparent;border-radius:0;font-size:inherit;line-height:inherit;font-weight:inherit;border:0;outline:none;cursor:pointer;vertical-align:baseline;-webkit-appearance:none;appearance:none;outline:none;}
button:disabled{cursor:not-allowed;opacity:.5;}
button::-moz-focus-inner{padding:0;border:0}

/* @end @reset */

/* --------------------------------------------------------*/

/* @group @reset search-form */

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

@media all and (max-width:47.9375em) {
input[type="search"]{font-size:16px;}
}

input::-ms-clear{display:none;}
input::-ms-reveal{display:none;}
select::-ms-expand{display:none;}

::-webkit-input-placeholder{font-size:inherit;line-height:inherit;}
::-moz-placeholder{font-size:inherit;line-height:inherit;}
::-ms-input-placeholder{font-size:inherit;line-height:inherit;}
::placeholder{font-size:inherit;line-height:inherit;}

/* @end @reset search-form */

/* --------------------------------------------------------*/

/* @group @reset-support */

@supports (-webkit-scroll-behavior:smooth) or (scroll-behavior:smooth){
body{-webkit-scroll-behavior:smooth;scroll-behavior:smooth;}
}

/* @end @reset-support */

/* woff2 --------------------------------------------------------*/

/* @group @woff2 */

@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: url('../fonts/OpenSans-VF.woff2') format('woff2');
font-display: swap;
}

@font-face {
font-family: 'Lora';
font-style: normal;
font-weight: 400;
src: url('../fonts/Lora-VF.woff2') format('woff2');
font-display: swap;
}

@font-face {
font-family: 'Oswald';
font-style: normal;
font-weight: 400;
src: url('../fonts/Oswald-VF.woff2') format('woff2');
font-display: swap;
}

@font-face {
font-family: 'NotoSansJP';
font-style: normal;
font-weight: 400;
src: url('../fonts/NotoSansJP-VF.woff2') format('woff2');
font-display: swap;
}

/* @end @woff2 */

/* theme core --------------------------------------------------------*/

/* @group @body */

body {
min-height: 100vh;
}

/* @end @body */

/* @group @main */

main {
background-color: var(--color-white);
/*background-color: hsl(290, 100%, 97.5%);*/
}

/* @end @main */

/* layout core --------------------------------------------------------*/

/* @group @variables */

html {
--html-grid-template-rows: auto auto 1fr auto auto;
}

/* @end @variables */

/* @group @layout core */

body {
display: grid;
grid-template-rows: var(--html-grid-template-rows);
}

[class*="o-mutual-header"] {
grid-row: 1;
}

.o-mutual-footer {
grid-row: 5;
}

main {
grid-row: 3;
}

/* @end @layout core */

/* font core --------------------------------------------------------*/

/* @group @font core */

html {
line-height: 1.5;
}

body {
font-display: swap;
}

h1, h2, h3, h4, h5, h6, strong, em {
font-display: auto;
}

p, li, dt, dd, th, td, input, textarea, select, button, pre, code {
font-display: auto;
font-family: inherit;
}

li, dt, dd, th, td, input, textarea, select, pre, code {
font-size: var(--text-block-font-size);
line-height: var(--text-block-line-height);
}

p {
font-size: var(--text-block-font-size);
line-height: var(--text-paragraph-line-height);
}

small {font-size: .75rem;}

p, li, dt, dd, th, td {
word-wrap: break-word;
overflow-wrap: break-word;
word-break: break-all;
}

/* @end @font core */

/* @group @font kerning */

body {
/*font-feature-settings: "pika";*/
/*font-feature-settings: "pkna";*/
letter-spacing: .1ch;
}

/* @end @font kerning */

/* @group @base font-size */

html {
font-size: 87.5%;
font-size: clamp(14px, 1.875vw, 16px);

}

/*@media all and (min-width: 48em) {
html {font-size: 93.75%;}
}*/

@media all and (min-width: 62em) {
html {font-size: 100%;}
}

/* @end @base font-size */

/* layout core --------------------------------------------------------*/

/* @group @aspect-ratio */

img[width],[height],
input[type="image"][width],[height],
video[width],[height],
embed[width],[height],
iframe[width],[height],
marquee[width],[height],
object[width],[height] { 
aspect-ratio: attr(width) / attr(height); 
}

/* @end @aspect-ratio */