@charset "utf-8";
/*
Description: koyari Studio - App
*/
/* 基本設定： ページ全体 
================================================== */
html {
	box-sizing: border-box;
	overflow-y: scroll;
	overflow-x: hidden;
  	text-rendering: optimizelegibility;
  	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
}


body {
	font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
	font-weight: 500;
	font-display: swap;
	font-style: normal;
	background:#F2F0E9;
	color: #333;
	font-size:1rem;
	line-height:1.85;
	text-align: center;
	margin: 0;
	padding: 0;
}
body:lang(en) {
	font-size:1.1rem;
	line-height:1.6;
}

.block01 {
  padding: 1em;
  background:#fefefe;
}
.block02 {
  padding: 1em;
  background:#f4f4e8; /* 次のアプリ出すまでに要検討 */
}

@media screen and (max-width:768px) { 
	body{
		font-size:0.9rem;
	}	
	body:lang(en) {
		font-size:1rem;
	}
}

h1,h2,h3,h4,h5 {
    font-family: "FOT-TsukuARdGothic Std", sans-serif;
    font-weight:bold;
    text-align: center;
   	color: #444;
}

h1 {font-size:1.8rem;color:#00708e;}
h2 {font-size:1.5rem;letter-spacing: 0.06em;line-height:1.2;}
h3 {font-size:1.3rem;letter-spacing: 0.06em;padding-top:0.8em;}
h4 {font-size:1.1rem;letter-spacing: 0.08em;}
h3:before,h4:before,h3:after,h4:after {content: "  -  ";}

p {
	margin-top:0
	margin-bottom: 20px;
    line-height: 1.8;
}

.contentarea p.long {
    text-align: left;
	margin-left: auto;
	margin-right: auto;
    width: 560px;
}

@media screen and (max-width:768px) {
    h1:lang(ja) {font-size:1.5rem;letter-spacing: -0.01em;line-height:1.8;}
    h1.braille:lang(ja) {letter-spacing: 0.06em;}
    h2 {font-size:1.5rem;}
    h2:lang(ja) {font-size:1.3rem;letter-spacing: -0.01em;line-height:1.8;}
    h3 {font-size:1.2rem;}
    h4 {font-size:1rem;}
    .contentarea {text-align: left;}
    .contentarea p,.contentarea p.long {width: 80%;margin: 0 auto;}
}

a {
	color: #27658e;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	outline: none;
	background-color: transparent; /* Remove the gray background on active links in IE 10 */
	-webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+*/
	letter-spacing: 0.10;
}
a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

a:focus,
a:active,
a:hover {
	opacity: 0.7;
}
/* 枠付きリンクボタン */
.toLink {
	color: #343434;
	font-weight: bold;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1rem;
	padding: 16px 24px;
	background: #FAE16A;
	border-radius: 5px;
    font-size: 1em;
    line-height: 1.6;
    text-align: center;
    border: solid 1px #FAB835;
}
.toLink a {
	margin: 0;
	letter-spacing: 0.02em;
}
.links {
	margin: 40px 10px;
	text-align: center;
}
/* テキストリンクの前に画像つける場合 */
.links a::before {
	font-family: 'Font Awesome 5 Free';
	content: '\f35d'; /* >> f101 指 f0a4*/
	font-size: 0.9em;
	margin: 0 0 0 0.1em;
	padding-right: 1em;
	font-weight: 600;
	opacity: 1;
}

span {white-space: nowrap;}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
    bottom: -0.25em;
}
sup {
    top: -0.5em;
}

img {
    height: auto;
    border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}
img[src$=".svg"],
img[src$=".svgz"]{
	width: 100%;
}
.appicon {
	text-align: center;
}
.appicon img {
	border-radius:8%;
	-webkit-border-radius:8%;
	-moz-border-radius:8%;
	margin-top: 0.4rem;
	margin-bottom: 1.0rem;
}

ul {list-style: none;}

ul.switchlanguage {
    height: 24px;
    margin:0 0 0 0;
    padding:0.3rem 1rem 0.4rem;
    text-align:right;
    /*background: #26859F;
    color: #fefefe;*/
    font-size: 0.8rem;
}
.switchlanguage li {
    display: inline;
    padding-left: 0.6rem;
}
.switchlanguage li:before {
    content: " > "
}
.switchlanguage a {
    /*color: #fff;*/
    font-weight: bold;
}

.carousel {
	display: flex;
	justify-content: center;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 8px;
}
.carousel::-webkit-scrollbar-track {
    background: #F2F0E9;
}
.carousel .item {
	scroll-snap-align: start;
}

@media screen and (max-width:768px) {
    .carousel {
	    justify-content: left;
    }
}

.footer {
    padding-top: 2rem;
    font-size: 0.8rem;
}

.pageTop {
	z-index: 9990;
	position:fixed;
	bottom:18px;
	right:10px;
	width: 39px;
	height: 39px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	font-size:22px;
	text-align: center;
	line-height: 39px;
	background-color: #00708e;
}
.pageTop a {
	color: #fefefe;
}

/**** loadin *******************************************************************/
.lo {
  opacity: 0;
  transition: all .8s ease;
}
.lo.show {
  opacity: 1;
  transform: none;
}
.lo--rl {
  transform: translate(100px, 0);
}
.lo--up {
  transform: translate(0, 24px);
}
.lo--scaleUp {
  transform: scale(.9);
}


/* ==============================
Accessibility
============================== */

/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}
