/*******************************************************************************************
  *
  * RESET / Default CSS
  * includes basic typography
  *
********************************************************************************************/

/**
 *
 *  Global Reset
 *
 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure,
figcaption, footer, header, hgroup, menu, nav,
output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	/* font-size: 100%; */
	vertical-align: baseline;
}
:focus { /* remember to define focus styles! */
	outline: none;
}
body {
	background: #fff;
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {/* tables still need 'cellspacing="0"' in the markup */
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote,
q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption,
th,
td {
	font-weight: normal;
	text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}
html {
	overflow-y: scroll;
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
audio,
canvas,
video {
	display: inline-block;
}
audio:not([controls]) {
	display: none;
}

/* The below restores some sensible defaults */
strong, b { font-weight:bold }
cite, em, i { font-style: italic; }
u { text-decoration: underline; }

section, header, nav, footer, article, aside, div, ul, li { position:relative }

img {
	border: 0;
	-ms-interpolation-mode: bicubic; /* IE7 */
}

::-moz-focus-inner { border:0; }

/* use border box model - section div instead of div because of jquery bug on toggle fx */
section, header, footer, article, aside, nav, div, #wrapper div, span, ul, ol, textarea, label, input, select, table, thead, tr, th, td, li, a {
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

/* undo for wordpress audio auto embed */
.mejs-container div {
	position: static;
	box-sizing:content-box;
	-moz-box-sizing:content-box;
	-webkit-box-sizing:content-box;
}

/********** float clear class **********/
.clear {
	clear: both !important;
}

/********** images **********/

.content img,
.comment-content img,
.widget img {
	max-width: 100%;
	height: auto;
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}
img.size-full,
img.size-large,
img.header-image,
img.wp-post-image {
	max-width: 100%;
	height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */
}

/* Make sure videos and embeds fit their containers */
embed,
iframe,
object,
video {
	max-width: 100%;
}
.content .twitter-tweet-rendered {
	max-width: 100% !important; /* Override the Twitter embed fixed width */
}

/*** IMAGES ***/
img {
	display: inline;
	margin: 0;
	padding: 0;
	max-width: 100%;
	height: auto;
}
.wp-block-image {
	margin: 0 0 25px;
}
.wp-block-image img {
	display: block;
}
.post-attachment img {
	margin: 0;
}
img.alignleft,
img.alignright,
.wp-caption.alignleft,
.wp-caption.alignright {
	max-width: 40%;
	display: block;
}
.wp-block-image .alignleft,
img.alignleft {
	float: left;
	margin: 2px 20px 12px 0;
}
.wp-block-image .alignright,
img.alignright {
	float: right;
	margin: 2px 0 12px 20px;
}
.aligncenter {
	text-align: center;
}
.wp-block-image .aligncenter {
	margin: 0 auto 25px;
	margin: 0 auto 2.5rem;
}
.wp-block-image.float-override figure  {
	margin: 2px 0 12px;
}
/* some old wp-caption fixes */
.wp-caption.alignleft {
	float: left;
	margin: 2px 10px 12px -5px;
}
.wp-caption.alignright {
	float: right;
	margin: 2px -5px 12px 10px;
}
.wp-caption.aligncenter,
.wp-caption.alignnone {
	width: auto !important;
	margin: 0 -5px 24px;
	margin: 0 -5px 2.4rem;
}
.wp-caption {
	text-align: center;
	font-size: 0;
	padding: 0 5px;
	background-color: transparent;
	border: none;
	border-radius: 0;
	max-width: 100%;
}
.wp-caption img {
	margin: 0;
}
.gallery-caption,
.entry-caption,
.wp-caption-text,
.wp-caption-dd,
.wp-block-image figcaption,
.wp-block-embed-youtube figcaption {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #808080;
	padding: 10px 0;
	padding: 1rem 0;
	margin: 0;
	text-align: center;
}
.entry-caption {
	text-align: center;
}
.entry-caption p {
	margin: 0;
}

/* gallery style */
.content dl.gallery-item {
	margin: 0;
}
.gallery-item a,
.gallery-caption {
	width: 90%;
}
.gallery-icon {
	line-height: 0;
}
.gallery-item a {
	display: block;
	margin: 0 auto;
}
.gallery-caption a {
	display: inline;
}
.gallery-columns-1 .gallery-item a {
	max-width: 100%;
	width: auto;
}
.gallery .gallery-icon img {
	height: auto;
	max-width: 90%;
	padding: 5px;
	margin: 0;
}

/* smiley */
.wp-smiley {
	margin: 0;
	border: 0;
	vertical-align: middle;
	display: inline !important;
	box-shadow: none !important;
}


/**
 *
 * BASIC TYPOGRAPHY AND IMAGE DEFAULTS: This is shared with Editor Style Sheet.
 * this works since visual editor body has .content class.
 * Use rem unit. 1rem=10px.
 *
 */

/* Use rem unit. 1rem = 10px. */
html { font-size: 62.5%; }

@media (max-width:1025px) {
	/* 1rem = 9px */
	html { font-size: 56.25%; }
}
/*
@media (max-width:759px) {
	/* 1rem = 8px
	html { font-size: 50%; }
}
*/

body {
	font-family: 'Noto Sans JP',"Helvetica Neue", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.75;
	color: #000;
	text-rendering: optimizeLegibility;
}
/* normal link has no style by default */
a {
	text-decoration: none;
	color: #5a8cbe;
}
/* set the link style for the page/post content */
/*.content a {
	color: #5a8cbe;
}*/
/* force hover colors throughout the site */
a:hover {
	color: #c80000 !important;
	text-decoration: underline;
	-webkit-transition: color .2s ease-in-out;
	-moz-transition: color .2s ease-in-out;
	-o-transition: color .2s ease-in-out;
}
a:focus, a:active {
	color: #c80000 !important;
	text-decoration: underline;
}

/* default spacing */

p, address, pre {
	margin-bottom: 24px;
	margin-bottom: 2.4rem;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Magra', 'Noto Sans JP',"Helvetica Neue", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 700;
	margin-bottom: 15px;
	margin-bottom: 1.5rem;
}
.lang-ja h1,
.lang-ja h2,
.lang-ja h3,
.lang-ja h4,
.lang-ja h5,
.lang-ja h6 {
	font-family: 'Noto Sans JP',"Helvetica Neue", Helvetica, Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.lang-ja h1,
.lang-ja h2 {
	font-size: 28px;
	font-size:ß 2.8rem;
}

h1 + h1, h1 + h2, h1 + h3, h1 + h4, h1 + h5, h1 + h6,
h2 + h1, h2 + h2, h2 + h3, h2 + h4, h2 + h5, h2 + h6,
h3 + h1, h3 + h2, h3 + h3, h3 + h4, h3 + h5, h3 + h6,
h4 + h1, h4 + h2, h4 + h3, h4 + h4, h4 + h5, h4 + h6,
h5 + h1, h5 + h2, h5 + h3, h5 + h4, h5 + h5, h5 + h6,
h6 + h1, h6 + h2, h6 + h3, h6 + h4, h6 + h5, h6 + h6 {
	margin-top: -5px;
	margin-top: -0.5rem;
}

/* headings */

h1 {
	/* font-size: 36px;
	font-size: 3.6rem; */
	line-height: 1.1;
	margin-bottom: 20px;
	color: #002a5c;
}

h2 {
	/* font-size: 36px;
	font-size: 3.6rem; */
	line-height: 1.1;
	color: #002a5c;
	margin-bottom: 20px;
}

h3 {
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
	color: #002a5c;
	margin-bottom: 18px;
}

h4 {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.75;
	/* font-family: Cambria, Georgia, serif; */
	color: #002a5c;
	margin-bottom: 15px;
}

h5 {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.75;
	color: #000;
	margin-bottom: 15px;
}

h6 {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.75;
	font-weight: normal;
	margin-bottom: 15px;
}


/* list defaults */

ul, ol {
	list-style: none;
	margin: 0 0 15px 0;
	margin: 0 0 1.5rem 0;
	padding: 0;
}
li {
	margin: 0;
	padding: 0;
}
dl	{
    margin: 0 0 20px 20px;
    margin: 0 0 2rem 2rem;
}
dt {
    font-weight: bold;
}
dd {
	margin: 0 0 10px 0;
	margin: 0 0 1rem 0;
}


.content ul {
	margin: 0 0 25px 25px;
	margin: 0 0 2.5rem 2.5rem;
	list-style: disc;
}
.content ol {
	margin: 0 0 25px 25px;
	margin: 0 0 2.5rem 2.5rem;
	list-style-type: decimal;
}
.content li,
.content li h1,
.content li h2,
.content li h3,
.content li h4,
.content li h5,
.content li h6 {
	margin: 0 0 10px 0;
	margin: 0 0 1rem 0;
}
.content ol ol {
	list-style: upper-alpha;
}
.content ol ol ol {
	list-style: lower-roman;
}
.content ol ol ol ol {
	list-style: lower-alpha;
}
.content ul ul,
.content ol ol,
.content ul ol,
.content ol ul {
	margin: 10px 0 0 25px;
	margin: 1rem 0 0 2.5rem;
}

/* blockquote */
blockquote {
	margin: 0 2.5em;
	font-style: italic;
}
blockquote em, blockquote i {
	font-style: normal;
}
blockquote cite {
	display: block;
	font-size: 80%;
	font-style: normal;
	font-weight: bold;
	text-align: right;
	margin-top: 10px;
	margin-top: 1rem;
}


/* table */
table {
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.8;
	margin: 0 0 22px 0;
	margin: 0 0 2.2rem 0;
	text-align:left;
}
caption {
	font-weight: bold;
	text-align: left;
	margin-bottom: 8px;
	margin-bottom: 0.8rem;
}
th, td {
	padding: 6px 10px;
	padding: .6rem 1rem;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
th {
	font-weight: bold;
	text-transform: uppercase;
}

/* other typography defaults */
address {
	font-style: normal;
}
abbr, acronym {
	border-bottom: solid 1px #cccccc;
	cursor: help;
}
sup,
sub {
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
	position: relative;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
kbd, pre, code {
	font-family: Monaco, monospace;
	font-size: 85%;
	line-height: 1.27;
}
pre {
	background-color: #fafafa;
	border: 1px solid #ddd;
	font: 10px/20px Monaco,monospace;
	overflow-x: scroll;
	padding: 10px 20px;
	margin: 25px 0;
	white-space: pre-wrap;       /* css-3 */
 	white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
 	white-space: -pre-wrap;      /* Opera 4-6 */
 	white-space: -o-pre-wrap;    /* Opera 7 */
 	word-wrap: break-word;       /* Internet Explorer 5.5+ */
}
code {
	display: block;
	background-color: #fafafa;
	border: 1px solid #ddd;
	font: 10px/20px Monaco,monospace;
	padding: 10px 20px;
	margin: 10px 0;
}

hr {
    background-color:#ccc;
    border:0;
    color:#ccc;
    height:1px;
    margin-bottom:22px;
    clear:both;
}

small {
	font-size: smaller;
}
big {
	font-size: 120%;
}
ins {
	text-decoration:none;
	background: #eeeeee;
	border: none;
	color: #333;
}
del {
	text-decoration: line-through;
	color: #666666;
}
q {
	font-style: italic;
}
hr {
    background-color:#ccc;
    border:0;
    color:#ccc;
    height:1px;
    margin-top: 0;
    margin-bottom: 25px;
    margin-bottom: 2.5rem;
}


/* Assistive text -hidden */
.assistive-text,
.screen-reader-text {
	position: absolute !important;
	left: -10000px;
	top: 0;
}

/* basic text alignment classes */
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}

/* text transform classes */
.uppercase {
	text-transform: uppercase;
}
.lowercase {
	text-transform: lowercase;
}

/* text colors */
.text-black {
	color: #000;
}
.text-white {
	color: #fff;
}
.text-gray {
	color: gray;
}
.text-blue {
	color: blue;
}
.text-red {
	color: red;
}
.text-green {
	color: green;
}
.text-yellow {
	color: yellow;
}
