@charset "UTF-8";
html{-webkit-text-size-adjust:100%}body{overflow-x:hidden}
html,body,div,p,img,table,th,td,ol,ul,li,dl,dd,dt,h1,h2,h3,h4,h5,h6,blockquote,pre,form,fieldset,input,textarea{margin:0;padding:0;}
li,dt,dd{list-style:none}
h1,h2,h3,h4,h5,h6,th{font-size:100%;font-weight:normal;text-align:left}
p{margin:0}html,body,div,p,a,table,th,td,ol,ul,li,dl,dd,dt,h1,h2,h3,h4,h5,h6,blockquote,pre,form,fieldset,input,textarea,select,option{font-size:20px;line-height:1.9em;}
table{border-collapse:collapse;border-spacing:0}
caption,th{text-align:left}

li,ol,ul,dl{margin-bottom:0;margin-top:0;list-style: none;}
li li{font-size:inherit}
img{border:0;vertical-align:bottom}
input{line-height:100%;padding:2px;margin:1px 0}
select{margin:1px 0}
textarea{padding:2px;font-size:100%;width:99%}
optgroup{color:#000}fieldset{border:0}

*,*::before,*::after{
	box-sizing: border-box;
}
*{
    padding:0;
    margin:0;
}


	
iframe{
margin: 0;
padding: 0;
}

img{
max-width: 100%;
height: auto;
}

a{
	text-decoration: none;
}
a:link {
}
a:visited{
}
a:hover{
	text-decoration: none;
}
a:active{
}
a.on{
	text-decoration: none;
}
body{
	font-family: "Noto Sans JP", sans-serif;
	overflow-x:hidden;
}
*, *::before, *::after {
    box-sizing: border-box;
}


/* root設定 */
:root {
    --design-width: 375;
    --contents-width: 360;
    --contents-width-pc: 430;
    --minwidth: 320;
    --root-fz: 20; 
    --line-height: 1.2;
    --ff-root: "Noto Sans JP", sans-serif;
    --ff-ZenMaruGothic: "Zen Maru Gothic", sans-serif;;
    --hover-opacity-ratio: 0.8;
    --hover-duration: .3s; 

    /* ベース・黒系 */
    --color-black: #000;
    --color-black-rgb: 0, 0, 0;
    
    /* オレンジ系 */
    --color-orange-dark: #f3981e;
    --color-orange-dark-rgb: 243, 152, 30;
    
    /* イエロー系 */
    --color-yellow-light: #feecc3;
    --color-yellow-light-rgb: 254, 236, 195;
    
    /* ブルー系 */
    --color-blue-light: #d9effb;
    --color-blue-light-rgb: 217, 239, 251;
    --color-blue-dark: #1eb9ee;
    --color-blue-dark-rgb: 30, 185, 238;
    
    /* ピンク系 */
    --color-pink-light: #fdeef4;
    --color-pink-light-rgb: 253, 238, 244;
    --color-pink-dark: #eb6e8f;
    --color-pink-dark-rgb: 235, 110, 143;

@media screen and (min-width: 751px) {
    /* PCのみ */
    --contents-width-pc: 430;
    --root-fz:20;
}
}


/* ---------------------------------------------
*   html, body
--------------------------------------------- */
html,
body {
    color: var(---color-black);
    font-size: calc(var(--root-fz) * 1px);
    font-family: var(--ff-root);
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}
:target {
  scroll-margin-top: var(--headerHeight, 96px); /* ヘッダーの高さ分の余白を確保 */
}
@media screen and (max-width: 750px) {
    html,
    body {
        font-size: calc(var(--root-fz) / var(--design-width) * 100vw);
    }
}

body {
    min-width: calc(var(--minwidth) * 1px);
    line-height: calc(var(--line-height) * 1px);
}