@charset "UTF-8";
/****************************/

*,::before,::after{box-sizing:border-box;overflow-wrap:break-word;}/*!sc*/

/*
html,body {
		margin:0;
		padding:0;
		display:block;
		text-size-adjust: 100%;
		width:100%;
		min-width:1024px;
		min-height:100vh;
		position:relative;
	}
*/

html{
	-webkit-text-size-adjust:100%;
	-webkit-scroll-behavior:smooth;
	-moz-scroll-behavior:smooth;
	-ms-scroll-behavior:smooth;
	scroll-behavior:smooth;
	text-rendering:optimizeLegibility;
	-webkit-font-smoothing:antialiased;
}/*!sc*/

body{
	font-family:'RC Type',Arial,sans-serif;font-weight:300;
	font-size:1rem;
	line-height:1.6;
	margin:0;
	color:var(--color-navy);
	width:100%;
}/*!sc*/
            

input,select,textarea,button{
	font-family:inherit;
}/*!sc*/

h1,h2,h3,h4,h5,h6,p{
	margin:0;
	padding:0;
	font-weight:inherit;
}/*!sc*/

a{
	-webkit-text-decoration:underline;
	text-decoration:underline;
	color:var(--color-brand-rc-500);
}/*!sc*/

ol,ul{
	list-style:none;
	margin:0;padding:0;
}/*!sc*/

ol li,
ul li{
	margin:0;padding:0;
}/*!sc*/

td,th{padding:0;}/*!sc*/
th{
	font-weight:500;
	text-align:left;
}/*!sc*/
img,
embed,
object,
video,
svg{
	max-width:100%;
	height:auto;
}/*!sc*/

figure{margin:0;}/*!sc*/

fieldset,legend{
	margin:0;
	padding:0;
	border:none;
	width:100%;
}/*!sc*/

b,
strong{font-weight:500;}/*!sc*/

.sr-only{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	-webkit-clip:rect(0,0,0,0);
	clip:rect(0,0,0,0);
	border:0;
}/*!sc*/

div#mars-footer-panel.mars-footer-mars{
	background-color:var(--color-grey-900);
}/*!sc*/

header {
	background-color:#fff;
}

#wrapper {
	height: 100%;
	min-height: 100vh;
}

#content {
	background-color:#F96;
}

.gvOHpa{width:100%;background-color:var(--color-white);}
.gvOHpa h1,.gvOHpa h2,.gvOHpa h3,.gvOHpa h4{
	margin:0;
	padding-bottom:var(--spacing-3);
	color:var(--c-freeform-story-cta-background-color)
}


.eHsDNO {
    color: var(--color-brand-rc-500);
    font-weight: 300;
    font-size: var(--text-font-size-350);
    line-height: var(--text-line-height-425);
}

@media (min-width: 768px) {
    .eHsDNO {
        font-size: var(--text-font-size-450);
        line-height: var(--text-line-height-600);
    }
}


/*--------------------
	コンテント
--------------------*/
#content {
	position:relative;
	overflow:hidden;
	min-height:500px;
	padding-bottom: 70px;
}

section {
	display:block;
	position:relative;
	width: 100%;
	margin:0 auto;
}

section .inner {
	/*
	display: flex;
    flex-flow: column wrap;
    */
	display:block;
	position:relative;
	width: 100%;
    max-width: 897px;
    margin: 0 auto;
    padding: var(--spacing-8) 1.25rem;
    text-align: center;
    line-height: 1.5rem;
	background-color: #fff;
}
section .inner:after {
  content: "";
  clear: both;
  display: block;
}


@media (min-width: 768px) {
    .content-block-variant-inner{
        align-items: flex-start;
        flex-direction: row;
    }
}

.layout-container {
    width: 100%;
    max-width: 897px;
    padding: 1.25rem;
    margin: 0 auto;
}

input.copy {
	font-family: FontAwesome /*FontAwesomeをフォント指定*/;
}


section .inner h2{
    color: var(--c-freeform-story-cta-background-color);
    margin-top: 0;
    margin-bottom: var(--spacing-3);
    font-weight: 300;
}

section .inner h2 {
    font-size: var(--text-font-size-300);
    line-height: var(--text-line-height-325);
}

@media (min-width: 769px) {
    section .inner h2 {
        font-size: var(--text-font-size-350);
        line-height: var(--text-line-height-425);
    }
}


*{-webkit-tap-highlight-color:rgba(0,0,0,0);}

a {transition: 0.3s; text-decoration:none;}
a, a i > p{color:#519fb5;}
a:hover, a:hover i > i{color:#b5519f;}

.tal {text-align:left !important;}
.tac {text-align:center !important;}
.tar {text-align:right !important;}

.vat {vertical-align:top !important;}
.vam {vertical-align:middle !important;}
.vab {vertical-align:bottom !important;}

.pdl {padding-left:0.5em;}
.pdl1 {padding-left:1em;}
.pdl2 {padding-left:1.5em;}

.pdr {padding-right:0.5em;}
.pdr1 {padding-right:1em;}
.pdr2 {padding-right:1.5em;}

.mgl {margin-left:0.5em;}
.mgl1 {margin-left:1em;}

.mgr {margin-right:0.5em;}
.mgr1 {margin-right:1em;}

.w5 {width:5% !important;} 
.w10 {width:10% !important;} 
.w15 {max-width:15% !important;} 
.w20 {max-width:20% !important;} 
.w25 {min-width:25% !important;} 
.w30 {max-width:30% !important;} 
.w35 {max-width:35% !important;} 
.w40 {max-width:40% !important;} 
.w45 {max-width:45% !important;} 

.mw4 {max-width:4em !important;} 
.mw5 {max-width:5em !important;} 
.mw6 {max-width:6em !important;} 
.mw7 {max-width:7em !important;} 
.mw8 {min-width:20px !important;} 
.mw9 {max-width:9em !important;} 
.mw10 {max-width:10em !important;} 
.mw11 {max-width:11em !important;} 
.mw12 {max-width:12em !important;} 

.dpb {display:block;}
.dpib {display:inline-block;}

p {margin:0 0 0; padding:0;}

i {color: inherit !important;}

.edit i, .edit i > p {color:#ccc;}


.edit button {
	border:none;
	background-color:transparent;
	color:#519fb5;
}

.edit button.disabled {
	color:#ccc;
	pointer-events:none;
}


.edit button > i,
.edit button > i p,
.edit i.on,
.edit i.on p {
	color:#519fb5;
	}

.edit button.disabled > i,
.edit button.disabled > i p{
	pointer-events:none;
	color:#ccc;
}

button + i {padding-left:0.5em !important;}
p > i {padding:0 0.5em !important;}
/*
a:hover,
a:hover i,
a:hover i p,
button:hover,
button:hover i,
button:hover i p  {
	color:#fff !important;}
*/
input[type="text"] ,
input[type="password"] ,
input[type="tel"],
input[type="email"],
input[type="number"],
textarea{
padding:0.5em 1em;
-webkit-appearance: none;/* iOS用 */
border:1px solid #a6a6a6;
border-radius:4px;
box-sizing:border-box;
width:100%;
background-color:#fff;
/*font-size:120%;*/
font-size:inherit;
}


input[type="text"].error ,
input[type="password"].error ,
input[type="tel"].error,
textarea.error{
background-color:#ffe8e8;
}
textarea#template-text{
	line-height: 1.6em;
	font-size: 120%;
	height: calc(1.6em * 15);
}

textarea {box-sizing:border-box; vertical-align:bottom;}


.btn_uwatsuki + textarea{
border-radius:0 4px 4px 4px;
}

/*clearfix*/

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

p.text_emphasis {
	font-size:1.3rem;
	color:#09C;
}

p.text_attention,
span.text_attention {
	font-size:1.3rem;
	color:#d00;
}


p.text_attention::before,
span.text_attention::before {
	content: "※";
}


textarea + p.text_emphasis,
textarea + p.text_attention,
.radio_set + p.text_attention,
.radio_set + p.text_emphasis,

p.text_emphasis + textarea,
p.text_attention + textarea,
p.text_attention + .radio_set,
p.text_emphasis + .radio_set {
	margin-top:0.5em;
}


/*--------------------
	ヘッダー
--------------------*/
header {
	position: relative;
	padding: 1rem 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.header-logo {
    /*
    * max-width: 7.5rem;
    height: 1.86563rem;
	*/
	height: 12.5vw;
	max-height: 120px;
	/*
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
	*/
}

@media (min-width: 768px) {
    header {
	padding: 2rem 1rem;
}
}


.header-logo a{
	display: inline-block;
	height: 100%;
}
.header-logo a img{
	height: 100%;
	display: block;
}

/*--------------------
	インフォメーションテキスト
--------------------*/

.content-blocks-text {
	width: 100%;
	text-align: left;
}


.content-blocks-text h1 {
	margin: 0;
    padding-bottom: var(--spacing-3);
	color: var(--c-freeform-story-cta-background-color);
	line-height: var(--text-line-height-425);
}

@media (min-width: 768px) {
    .content-blocks-text h1 {
        font-size: var(--text-font-size-450);
        line-height: var(--text-line-height-600);
    }
}
/*--------------------
	製品メニュー
--------------------*/
#menu{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#menu .item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30%;
    padding: 10px 0;
    margin: 10px 0;
	border:1px solid #001B49;
}
#menu .item:hover {
	border-bottom: 1px solid #EC008E;
}

/*--------------------
	テーブル
--------------------*/
.puroduct table {
    margin: 50px auto 0;
    width: 100%;
	max-width: 500px;
    text-align: center;
    border-collapse: collapse;
}

.puroduct td {
    border-top: 2px solid #e0e0e0;
    border-bottom: 2px solid #e0e0e0;
    padding: 3px 3px;
    text-align: left;
}

.puroduct td + td{
	width: 1px;
}

.puroduct caption {
    caption-side: top;
    text-align: left;
    font-size: 25px;
}

.puroduct caption p{
    color: #ffffff;
	background-color: #001B49;
	padding: 10px;
	margin-bottom: 0;
	text-align: center;
}
/*--------------------
	テーブル下ボタン
--------------------*/
.linkbtn {
    display: flex;
	flex-direction: column;
	padding: 1.25rem 0;
    width: 100%;
    gap: 0.625rem;
}


.linkbtn .button {
    align-items: center;
    border-color: var(--c-freeform-story-cta-background-color);
    border-radius: var(--radius-m);
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    color: var(--color-text-invert);
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-family: inherit;
    font-size: var(--text-font-size-cta);
    font-style: normal;
    font-weight: 500;
    justify-content: center;
    line-height: var(--text-line-height-cta);
    text-decoration: none;
    /*width: 100%;*/
}

@media (min-width: 768px) {
    .linkbtn {
        display: flex;
		flex-direction: row;
        flex-wrap: wrap;
        -webkit-box-align: center;
        align-items: center;
        -webkit-box-pack: center;
        justify-content: center;
    }
}

.linkbtn .button + .button{
    align-items: center;
    border-color: var(--c-freeform-story-cta-background-color);
	background-color: var(--c-freeform-story-background-color);
    border-radius: var(--radius-m);
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    color: var(--c-freeform-story-cta-background-color);
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-family: inherit;
    font-size: var(--text-font-size-cta);
    font-style: normal;
    font-weight: 500;
    justify-content: center;
    line-height: var(--text-line-height-cta);
    text-decoration: none;
    /*width: 100%;*/
}

.rc-button--primary {
    background-color: var(--c-freeform-story-cta-background-color);
}
.rc-button--medium {
    gap: var(--spacing-xs);
    height: 2.5rem;
    padding: var(--spacing-s) var(--spacing-xl);
}

.linkbtn .button span{
	display: inline-block;
	height: 0.7em;
	width: 0.7em;
	 transform: rotate(45deg);
	border: 1px solid;
	border-color: var(--c-freeform-story-cta-background-color);
	border-left:none;
	border-bottom:none;
}


.linkbtn .button:hover {
    color: var(--c-freeform-story-cta-background-color);
	border-color: var(--c-freeform-story-cta-text-color);
	background-color: var(--c-freeform-story-cta-text-color);
}

.mono-btn {
    display: flex;
	flex-direction: row;
	justify-content: center;
	padding: 1.25rem 0;
    width: 100%;
    gap: 0.625rem;
	box-sizing: border-box;
}

.mono-btn .button{
    align-items: center;
    border-color: var(--c-freeform-story-cta-background-color);
    border-radius: var(--radius-6);
    border-style: solid;
    border-width: 1px;
    box-sizing: border-box;
    color: var(--color-text-invert);
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-family: inherit;
    font-size: var(--text-font-size-cta);
    font-style: normal;
    font-weight: 500;
    justify-content: center;
    line-height: var(--text-line-height-cta);
    text-decoration: none;
    width: 100%;
	/*padding: 0 10em;*/
}

.mono-btn .button:hover {
    color: var(--c-freeform-story-cta-background-color);
	border-color: var(--c-freeform-story-cta-text-color);
	background-color: var(--c-freeform-story-cta-text-color);
}
/*--------------------
	リスト
--------------------*/

.list1 {
	margin-bottom: 2rem;
}

.list1 li{
	margin-bottom: 1em;
	font-size: 130%;
	position: relative;
	padding-left: 1.5em;
}

.list1 li::before{
	position: absolute;
	top:0;
	left: 0;
}

.list1 li:nth-child(1)::before{
content: "①";
}
.list1 li:nth-child(2)::before{
content: "②";
}
.list1 li:nth-child(3)::before{
content: "③";
}
.list1 li:nth-child(4)::before{
content: "④";
}

.list2 {
	margin-bottom: 2rem;
}

.list2 li{
	margin-bottom: 1em;
	font-size: 100%;
	position: relative;
	padding-left: 1.1em;
}

.list2 li::before{
	content:"⚫︎";
	position: absolute;
	top:0;
	left: 0;
}

.list3 {
	margin-bottom: 2rem;
}

.list3 li{
	margin-bottom: 0.5em;
	font-size: 100%;
	position: relative;
	padding-left: 1em;
}

.list3 li::before{
	content:"●";
	position: absolute;
	top:0;
	left: 0;
}

.list2 .list3 {
	margin-top: 0.5em;
	margin-bottom: 0;
}
/*--------------------
	各種ボタン
--------------------*/
div.btn{
	height:50px;
	margin:0.5em 0;
}
div.btn a,
div.btn button{
	min-width:160px;
	height:50px;
	background-color:#4C6983;
	color:#fff;
	display:inline-block;
	line-height:50px;
	padding:0 2em 0 1.8em;
	font-size:1.8rem;
	border:none;
	border-radius:6px;
	text-decoration:none;
	margin:0;
	transition: 0.3s;
}
/*
div.btn a:first-child,
div.btn button:first-child{
	margin:0;
}
*/
div.btn a + a,
div.btn button + button{
	margin-left:10px;
}


div.btn a:hover,
div.btn button:hover{
	background-color:#f66;
	color:#fff;
}

div.btn a i,
div.btn button i{
	font-size:inherit !important;
	color:#fff !important;
	margin-right:0.5em;
}

div.btn a i:hover,
div.btn a:hover i,
div.btn button i:hover,
div.btn button:hover i{
	background-color:transparent;
	font-size:inherit !important;
	color:#fff;
}



div.btn2{
	height:auto;
	margin:0.5em auto 2rem;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
}
div.btn2 a,
div.btn2 button{
	width:220px;
	height:40px;
	background-color:#666;
	color:#fff;
	display:inline-block;
	line-height:40px;
	padding:0 1em;
	font-size:1.4rem;
	border: none;
	border-radius:6px;
	text-decoration:none;
	margin:0;
}

div.btn2 a:hover,
div.btn2 button:hover{
	background-color:#f66;
	color:#fff;
}

div.btn2 a i{
	font-size:inherit !important;
	color:#fff !important;
	margin-right:0.5em;
}

div.btn2 a i:hover,
div.btn2 a:hover i{
	background-color:transparent;
	font-size:inherit !important;
	color:#fff;
}

/*レイアウト*/

header,
#content,
#footer {
	width:100%;
	/*min-width:1024px;*/
	margin:0;
	}

#header{ background-color:#555;}
#header.login { background-color:transparent;}
#login #header{ background-color:#fff; height:50px;}
#content{ background-color:#fff;}

	
	
header .inner {
	margin:0;
	width:100%;
	background-color:#fff;
	}

section {
	display:block;
	clear:both;
	overflow:hidden;
}


/*グローバルメニュー*/
#header .fixbar {
  position: absolute;
  width: 100%;
  /*min-width:1024px;*/
  box-sizing:border-box;
  z-index:9999;
  background-color: #555;
}
#header.fixed .fixbar {
  position: fixed;
  margin-top: -50px;
}




#header ul#menu{
	margin:0 auto 0;
	padding:0;
	width:96%;
	max-width:1400px;
	display:flex;
	justify-content: space-around;
}
#header ul#menu > li{
    float: left;
	height:50px;
    position: relative;
    margin: 0;
    padding: 0;
    width: 19%;
    background-color: #555;
    display: block;
	color:#fff;
	text-align:center;
	line-height:50px;
	transition: 0.3s ;
	font-size:1.6rem;
}

#header ul#menu > li:hover,
#header ul#menu > li.disabled{
	background-color:#00001e !important;
}

#header ul#menu > li a,
#header ul#menu > li:hover a,
#header ul#menu > li.disabled a{
	text-decoration:none !important;
	background-color:transparent;
	display: block;
	width: 100%;
}

/* Effect 1: Brackets */

#header ul#menu > li a span {
	display: inline-block;
	position: relative;
	color:#fff;
}


#header ul#menu > li a span::before,
#header ul#menu > li a span::after {
	display: inline-block;
	opacity: 0;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.2s;
	-moz-transition: -moz-transform 0.3s, opacity 0.2s;
	transition: transform 0.3s, opacity 0.2s;
}

#header ul#menu > li a span::before {
	margin-right: 10px;
	content: '[';
	-webkit-transform: translateX(20px);
	-moz-transform: translateX(20px);
	transform: translateX(20px);
}

#header ul#menu > li a span::after {
	margin-left: 10px;
	content: ']';
	-webkit-transform: translateX(-20px);
	-moz-transform: translateX(-20px);
	transform: translateX(-20px);
}

#header ul#menu > li a:hover span::before,
#header ul#menu > li a:hover span::after,
#header ul#menu > li a:hover span::before,
#header ul#menu > li a:hover span::after {
	opacity: 1;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	transform: translateX(0);
}




#header ul#menu > li a span {
	display: inline-block;
}

#header ul.child{
    display: none;
    position: absolute;
    margin:0;
    padding: 0;
	width:100%;
	background-color:#0C3;
}
#header ul.child li{
	height:50px;
	width:100% !important;
	list-style:none;
	background-color:#07689F !important;
	box-sizing:border-box;
	line-height:50px;
	font-size:1.4rem;
}


#header ul.child li:nth-child(even){
	background-color:#1f77a8 !important;
}




#header ul.child li a{
    padding: 0;
    display: block;
    color: #fff;
	text-decoration:none;
}
#header ul.child li a:hover{
    background: #f66 !important;
	transition: transform 0.2s, background 0.1s;
}

/*--------------------
	トップアラート
--------------------*/

#alertBox {
	border: 3px solid #000;
	border-radius: 1rem;
	padding: 1em;
	margin-bottom: 2rem;
}

#alertBox p {
	color: #c10;
	margin-bottom: 0.5em;
	text-align: center;
}
#alertBox p:last-of-type {
	margin-bottom: 0;
}

#alertBox p span{
	display: inline-block;
	text-align: left;
	color: inherit;
}




/*検索窓*/

#main_table {
	margin: 0 0 0 0;
	padding: 0;
	width:100%;
}

#main_table #message {
	padding:0.5em 1em;
	text-align:left;
	margin-bottom:1em;
}

#main_table_2 {
	width:450px;
	margin:auto;
	text-align:center;
}
#main_table_2 #message {
	padding-left:5px;
	text-align:left;
}
#main_table_list {
	overflow-y: autol;
}

/*TOPアラート*/

#message p{
	margin-bottom:1rem;
}

/*編集不可アラート*/
#noedit {
	background-color:#e00;
	color:#fff;
	padding:0.5em 1em 0.5em 2.2em;
	/*border-radius:6px 6px 0 0;*/
	box-sizing:border-box;
	font-size:2rem;
}
#noedit i{
	text-indent:-1em;
	line-height:1.3em;
}
#noedit i span{
	margin-left:0.3em;
	color:#fff;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
}


#top-attention {
	border:3px solid #e00;
	padding:0.5em 1em;
	margin:0 0 1em;
	color:#e00;
	border-radius:0.5em;
}




/*type="number"のスピンボタンを非表示*/
/* Chrome / Edge / Safari */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}


.select-wrap {
	position: relative;
	display: inline-block;
	font-size: 120%;
}

.select-wrap::after {
  content: "";
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	border: 4px solid #666;
	border-top:none;
	border-left: none;
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-70%) rotate(45deg);
  pointer-events: none;
}

table td select{
	padding: 0.5em 2.5em 0.5em 1em;
	    font-size: inherit;
}

table.edit td{
	text-align:center;
}

table td.campaign{
	font-weight:800;
}

table td p{
	font-size:120%;
}

table td .date-range-wrapper {
  display: flex;
  align-items: center;       /* 縦中央揃え */
  gap: 8px;                  /* inputと~の間隔 */
  width: 100%;               /* 横いっぱい */
  
}

table td .date-range-wrapper div {
  flex: 1;                   /* inputを均等に広げる */
  box-sizing: border-box;
}

table td .date-range-wrapper .tilde {
  white-space: nowrap;
  font-size:240%;
}

table td .date-range-wrapper div input{
  font-size:120%;
	width: 100%;
	padding: 0.5em 1em;
	border: 1px solid #a6a6a6;
    border-radius: 4px;
}


table td.date p,
table td.url p{
	font-size:1.4rem;
}

table td.date p:last-child{
	margin:0;
}

table td.date p:first-child{
	margin-bottom:0.5em;
}


table td.date p.tag:nth-child(1)::before{
	content:"開始";
	display:inline-block;
	background-color: #666;
    color: #fff;
    padding: 1em 1em;
    margin-right: 1em;
    font-size: 70%;
    line-height: 1em;
}

table td.date p.tag:nth-child(2)::before{
	content:"終了";
	display:inline-block;
	background-color: #666;
    color: #fff;
    padding: 1em 1em;
    margin-right: 1em;
    font-size: 70%;
    line-height: 1em;
}

table td.url{
	text-align:left;
}

table td.url p.tag::before{
	content:"登録URL";
	display:inline-block;
	background-color: #666;
    color: #fff;
    padding: 1em 1em;
    margin-right: 1em;
    font-size: 70%;
    line-height: 1em;
}

table td.url a:hover{
	color:#b5519f !important;
}



table td p.caution{
	padding:0;
	margin-bottom:1em;
	font-size:1.4rem;
}



table td.date p span,
table td.url p span{
	background-color:#666;
	color:#fff;
	padding:0.5em 1em;
	margin-right:1em;
	font-size:70%;
	line-height:1em;
}


table.list tr:hover{
	background-color:#ffd !important;
}

/*ホバーさせたくない時*/
table.list tr.nohv:hover{
	background-color:inherit !important;
}



/*奇数番目の要素に適用*/
table.list tr:nth-child(odd){
	background-color:#fafafa;
}


/*table内webicon*/

table.edit td i{
	font-size:3rem !important;
	/*color:#666;*/
	padding:6px;
	border-radius:6px;
	width:60px;
	height:60px;
}
table.edit td button.disabled i{
	pointer-events:none;
	color:#ccc;
}

table.edit td a i:hover,
table.edit td button i:hover{
	color:#fff;
	background-color:#f66;
}

i.fa-exclamation-triangle {
	display: inline;
	font-size:3rem !important;
	color:#f5f5f5 !important;
	padding:0;
	border-radius:0;
	width:auto;
	height:auto;
}
table.edit td.alert i.fa-exclamation-triangle{
	color:#f66 !important;
}


table.edit td i span{
	font-size:1rem !important;
	margin:2px 0 0;
	padding:0;
	font-weight:bold;
	display: block;
	color:#519fb5;
}

table.edit td a:hover i span,
table.edit td button:hover i span{
	color:#fff !important;
}


/*対応状況の色分け*/
table.list tr.yet {background-color:#ffdcdc !important;}/*未対応*/
table.list tr.now {background-color:#e6ffdc !important;}/*対応中*/
table.list tr.done {background-color:#f0f0f0 !important;}/*対応済*/

table.list tr.yet:hover{background-color:#ffcccc !important;}
table.list tr.now:hover{background-color:#daffcc !important;}
table.list tr.done:hover{background-color:#e6e6e6 !important;}


table.edit td a.link{
	color:#fff !important;
	background-color: #4C6983;
	padding: 0.3em 0.5em;
	white-space: nowrap;
}

table.edit td a.link:hover{
	color:#fff !important;
	background-color:#f66;
}


/*検索結果テーブル強制折り返し禁止*/
table.edit td:nth-child(5),
table.edit td:nth-child(6){
	white-space: nowrap;
}

table.edit td:nth-child(7) span{
	display: inline-block;
	text-align: left;
}
/*-----------------------------------------------------------
	ログインテーブル
---------------------------------------------------------- */

/* 画面全体の中央寄せ用ラッパー */
#loginContainer {
	position: fixed;
  min-height: max(100vh, 500px);
  display: flex;
  justify-content: center;
  align-items: center;
	top: 0;
	left:50%;
	transform: translate(-50%,-0%);
}

/* 中央に出るブロック */
#loginWrap,
#loginError {
  position: relative;   /* ← 要件どおり */
  text-align: center;
	min-width: 500px;
}

/* 初期状態 */
#loginError {
  display: none;
}

.error-text {
  color: #c00;
  font-weight: bold;
  margin-bottom: 20px;
}

#loginWrap h2 {
	margin-top: 0;
}

#loginWrap input {
	margin-bottom: 2rem;
	padding: 0.5em 1em;
	font-size: 140%;
}

/*-----------------------------------------------------------
	tanle class="table_1"
---------------------------------------------------------- */

.table_1 th {
	width:200px;
}


table.edit tr.rakusen {
	background-color:#c9eaf4;
}

table.edit tr.rakusen td {
	color:#333 !important;
	}
	
table.edit tr.rakusen td i.done,
table.edit tr.rakusen td i.done > p {
	color:#666 !important;
	}

table.edit tr.rakusen td i.done {
	color:#d93535 !important;
	}
	

table.edit td.nopadd {
	padding:0;
}

table.edit td.nopadd ul {
	margin:0;
	padding:0;
	display:flex;
	justify-content: flex-start;
}
table.edit td.nopadd ul li {
	margin:0;
	padding:1.5rem 1.5rem;
	list-style:none;
}

table.edit td.nopadd ul li:first-child {
	border-right:1px solid #ccc;
}


.table_1 p.add input[type="text"] {
	width:5em;
	text-align:center;
}

.table_1 p.add a{
	text-align:center;
	display:inline-block;
	background-color:#396;
	color:#fff;
	height:28px;
	line-height:28px;
	margin-left:1em;
	padding:0 1em;
}

.table_1 p.add a:hover{
	background-color:#3C9;
}

.table_1 p.add a i{
	margin-right:0.5em;
}

td p.table_add span:first-child {
	margin-right:1em;
	
}

td p.table_add span:first-child::before {
	content: "〒";
	margin-right:0.5em;
	font-weight:bold;
	
}


/*-----------------------------------------------------------
	詳細テーブル
---------------------------------------------------------- */
table.detail p{
	font-size: 100%;
	margin-bottom: 0.5em;
}

table.detail p:last-of-type{
	margin-bottom: 0;
}

table.detail p.status span{
	display: inline-block;
	background-color: #c10;
	padding: 0.3em 0.5em;
	margin-right: 1em;
	color: #fff;
	line-height: 1em;
	font-size: 90%;
}



/*-----------------------------------------------------------
	アコーディオンBOX
---------------------------------------------------------- */

.accordion_box {
	display:none;
}


.accordion_box .yesno {
	max-width:440px;
	height:auto;
	margin:0 auto;
	display:flex;
	justify-content: space-between !important;
	
}

.accordion_box .yesno a,
.accordion_box .yesno button{
	width:200px;
	margin:0;
	display:block;
	
}

@media screen and (max-width:1100px) { 

.accordion_box .yesno {
	flex-direction: column;
	width:200px;
}

.accordion_box .yesno a:first-child,
.accordion_box .yesno button:first-child{
	width:200px;
	margin:0;
	
}

.accordion_box .yesno a:first-child,
.accordion_box .yesno button:first-child{
	width:200px;
	margin:0 0 10px;
	
}
}


/*-----------------------------------------------------------
	ページャー
---------------------------------------------------------- */

.pager {
	display:block;
	margin-bottom:10px;
	overflow:hidden;
}

.pager div{
	margin:0 0 1rem;
	padding:0;
	display: flex;
	  flex-wrap: wrap;           /* 折り返し可能に */
	  gap: 5px;                  /* 要素間の間隔 */
	  width: 100%;     
}

.pager div a{
	display: flex;
	justify-content:  center;
	align-items: center;
	width: 2.2em;           /* 最小幅を設定 */
	box-sizing: border-box;
	height:2.2em;
	list-style:none;
	text-align:center;
	font-size:1.6rem;
	padding:0;
	background-color:#fff;
	text-decoration:none;
	color:#4C6983;
	border-radius:3px;
	border:1px solid #666;
}

.pager div .previous a,
.pager div .next a{
	padding:0 1em;
}

.pager div a.disabled,
.pager div a.active{
	background-color:#666;
	color:#fff;
	pointer-events:none;
}

.pager div a:hover{
	background-color:#f66 !important;
	color:#fff;
	border:1px solid #f66;
}

.pager p{
	display:block;
	float:right;
	font-size:1.2rem;
	margin:0;
	padding:0;
}

table+.pager p{
	display:none !important;
}






#ireko {
	width:100%;
	margin:0;
	padding:0;
	display:flex;
	justify-content: flex-start;
}

#ireko li {
	display:inline-block;
}


#ireko li span,
#ireko li input {
	display:inline-block;
}

#ireko li input {
	width:calc(100% - 10em);
	margin-left:0.5em;
}

/*--------------------
	インプット注釈
--------------------*/
.text_emphasis {
	font-size:1rem;
	margin:0;
	color:#666;
}

input + .text_emphasis {
	margin-top:1rem;
}

.text_emphasis + .text_emphasis {
	margin-top:0.3rem;
}

.text_emphasis + input,
.text_emphasis + textarea {
	margin-top:1rem;
}

/*--------------------
	開催期間表示
--------------------*/

ul.period,
ul.timeset,
ul.date,
ul.time {
	margin:0;
	padding:0;
	display:flex;
}


@media screen and (max-width:1200px) { 
/*時間分まである長いもの対策*/
		ul.long {
			flex-wrap: wrap;
			flex-direction: column;
		}

		ul.long li{
			display:inline-block;
			width:auto;
			clear:both;
			text-align:center;
		}
		
		ul.long li:nth-child(2) p {
			transform: rotate(-90deg);
			
		}
	}
	
	

ul.period li,
ul.timeset li,
ul.date li,
ul.time li{
	list-style:none;
	font-size:1.4rem;
	white-space:nowrap;

}
ul.period li p,
ul.timeset li p,
ul.date li p,
ul.time li p{
	display:inline-block;
	margin:0 0.5em 0 0;
	padding:0;
	font-weight:bold;
	

}

/*時付と時間にスペースを入れる*/
ul.period li p:nth-child(4){
	margin:0 0.5em 0 1.5em;

}

ul.period li i,
ul.timeset li i,
ul.date li i,
ul.time li i{
	vertical-align:middle;
	margin:0 !important;
	padding:0 !important;
}




select,
ul.period li select,
ul.timeset li select,
ul.date li select{
	margin:0;
	padding: 0.5em 2em 0.5em 1em;
	appearance: none;
	border: 1px solid #999;
	/*
	background: url(../img/arrow01.png) right 50% no-repeat;
	background-size: 20px, 100%;
	line-height:normal;
	*/
	background-color:#fff;
	border-radius:5px;
	font-size:inherit;
	text-align:center;
}


ul.date li span,
ul.time li span{
	margin:0;
	padding: 0.5em 1em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
	background-color:#fff;
	border-radius:5px;
	font-size:1.3rem;
}


ul.date li p{
	margin-right:2.5em;
	position:relative;
}

ul.date li:nth-child(2) p{
	margin-right:2em;
}



/*

ul.date li:nth-child(1) p:nth-child(1),
ul.date li:nth-child(3) p:nth-child(1){
	padding-left:5rem;
}


ul.date li:nth-child(1) p:nth-child(1)::before {
	content: "開始";
	height:2rem;
	position:absolute;
	top:50%;
	left:0em;
	transform: translate(-0%,-50%);
	font-size:1rem;
	font-weight:normal;
	background-color:#666;
	line-height:2rem;
	padding:0 1rem;
	color:#fff;
}


ul.date li:nth-child(3) p:nth-child(1)::before {
	content: "終了";
	height:2rem;
	position:absolute;
	top:50%;
	left:0em;
	transform: translate(-0%,-50%);
	font-size:1rem;
	font-weight:normal;
	background-color:#666;
	line-height:2rem;
	padding:0 1rem;
	color:#fff;
}
*/

ul.date li:nth-child(1) p:nth-child(1)::before {
	content:"開始";
	display:inline-block;
	background-color: #666;
    color: #fff;
    padding: 1em 1em;
    margin-right: 1em;
    font-size: 70%;
    line-height: 1em;
}

ul.date li:nth-child(3) p:nth-child(1)::before {
	content:"終了";
	display:inline-block;
	background-color: #666;
    color: #fff;
    padding: 1em 1em;
    margin-right: 1em;
    font-size: 70%;
    line-height: 1em;
}

/*開始終了タグをつけない場合*/
ul.date.notag li:nth-child(1) p:nth-child(1)::before,
ul.date.notag li:nth-child(3) p:nth-child(1)::before {
	display:none;
}

ul.date.notag li:nth-child(1) p:nth-child(1),
ul.date.notag li:nth-child(3) p:nth-child(1){
	padding-left:0;
}

ul.date li:nth-child(1) p:nth-child(1)::after,
ul.date li:nth-child(3) p:nth-child(1)::after {
	content: "年";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
}

ul.date li:nth-child(1) p:nth-child(2)::after,
ul.date li:nth-child(3) p:nth-child(2)::after {
	content: "月";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
}

ul.date li:nth-child(1) p:nth-child(3)::after,
ul.date li:nth-child(3) p:nth-child(3)::after {
	content: "日";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
}

ul.date li:nth-child(1) p:nth-child(4)::after,
ul.date li:nth-child(3) p:nth-child(4)::after {
	content: "時";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
}

ul.date li:nth-child(1) p:nth-child(5)::after,
ul.date li:nth-child(3) p:nth-child(5)::after {
	content: "分";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
}




/**/


ul.time li p{
	margin-right:2.5em;
	position:relative;
}

ul.time li:nth-child(2) p{
	margin-right:2em;
}





ul.time li:nth-child(1) p:nth-child(1),
ul.time li:nth-child(3) p:nth-child(1){
	padding-left:5rem;
}


ul.time li:nth-child(1) p:nth-child(1)::before {
	content: "開始";
	height:2rem;
	position:absolute;
	top:50%;
	left:0;
	transform: translate(-0%,-50%);
	font-size:1rem;
	font-weight:normal;
	background-color:#666;
	line-height:2rem;
	padding:0 1rem;
	color:#fff;
}


ul.time li:nth-child(3) p:nth-child(1)::before {
	content: "終了";
	height:2rem;
	position:absolute;
	top:50%;
	left:0;
	transform: translate(-0%,-50%);
	font-size:1rem;
	font-weight:normal;
	background-color:#666;
	line-height:2rem;
	padding:0 1rem;
	color:#fff;
}


ul.time li:nth-child(1) p:nth-child(1)::after,
ul.time li:nth-child(3) p:nth-child(1)::after {
	content: "時";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
	font-size:1.2rem;
}

ul.time li:nth-child(1) p:nth-child(2)::after,
ul.time li:nth-child(3) p:nth-child(2)::after {
	content: "分";
	position:absolute;
	top:50%;
	right:-1.3em;
	transform: translate(-0%,-50%);
	font-size:1.2rem;
}



ul.period + p,
ul.timeset + p,
ul.date + p,
ul.time + p{
	margin-top:1rem;
}



/*姓名・せいめい*/



ul.name_kanji,
ul.name_kana{
	display:flex;
	margin:0;
	padding:0;
}


ul.name_kanji li,
ul.name_kana li{
	list-style:none;
	width:15em;
	padding:0;
	position:relative;
}

ul.name_kanji li:first-child,
ul.name_kana li:first-child{
	margin-right:1em;
}

ul.name_kanji li:first-child::before{
	content: "姓";
	position:absolute;
	top:50%;
	left:0.5em;
	transform: translate(-0%,-50%);
	font-weight:bold;
}

ul.name_kana li:first-child::before{
	content: "せい";
	position:absolute;
	top:50%;
	left:0;
	transform: translate(-0%,-50%);
	font-weight:bold;
}

ul.name_kanji li:last-child::before{
	content: "名";
	position:absolute;
	top:50%;
	left:0.5em;
	transform: translate(-0%,-50%);
	font-weight:bold;
}


ul.name_kana li:last-child::before{
	content: "めい";
	position:absolute;
	top:50%;
	left:0;
	transform: translate(-0%,-50%);
	font-weight:bold;
}

ul.name_kanji li input[type="text"],
ul.name_kana li input[type="text"]{
	width:calc(100% - 2.5em);
	margin:0 0 0 2.5em;
	padding: 0.5em 1em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
	background-color:#fff;
	border-radius:5px;
	font-size:1.3rem;
}


/*チェックボックス、ラジオボタン*/

/*
table td input[type="radio"] {
	margin:0 0.5em 0 0;
}

table td label {
	margin:0;
	padding:8px 5px;
	border-radius:3px;
	display:inline-block;
	line-height:normal;
}

table td label {
	margin:0;
	padding:8px 5px;
	border-radius:3px;
	display:inline-block;
	line-height:normal;
}

table td label + label{
	margin-left:0.5em;
}

table td label:hover,
table td label:hover input[type="file"]  {
	background-color:#F66;
	color:#fff !important;
}

table td label i {
	font-size:inherit !important;
}
*/

/*アップロード画像確認窓*/
.img_box {
	display:inline-block;
	width:auto;
	background-color:#ccc;
	position:relative;
	margin-bottom:15px;
}

.img_box a{
	display:block;
	height:30px;
	position:absolute;
	top:-5px;
	right:-10px;
	line-height:30px;
	background-color:#333;
	color:#fff;
	padding:0 1em;
	text-decoration:none;
}


.img_box a::before {
  content: "×";
}

.img_box a:hover{
	background-color:#F66;
}




/*テキストエリア上付きボタン*/
div.btn_uwatsuki{
	height:30px;
	margin:0;
	float:left;
}

div.btn_uwatsuki a{
	height:30px;
	background-color:#4C6983;
	color:#fff;
	display:inline-block;
	line-height:30px;
	padding:0 1em 0 0.5em;
	font-size:14px;
	border-radius:6px 6px 0 0;
	text-decoration:none;
}

div.btn_uwatsuki a:hover{
	background-color:#f66;
	color:#fff;
}

div.btn_uwatsuki a i,
div.btn_uwatsuki i{
	font-size:inherit !important;
	color:#fff;
}

div.btn_uwatsuki a i:hover,
div.btn_uwatsuki a:hover i{
	background-color:transparent;
	font-size:inherit !important;
	color:#fff;
}

div.btn_uwatsuki span{
	letter-spacing:-0.1em;
}


/*画像アップロード*/

.up-img {
	width:600px;
	border:1px solid #ccc;
	position:relative;
	margin-bottom:10px;
	display:inline-block;
}

.up-img p {
	width:100px;
	position:absolute;
	top:15px;
	right:15px;
	transform: translate(100%,-0%);
}

.up-img p a {
	display:block;
	width:100%;
	background-color:#c00;
	color:#fff;
	padding:0.5em 1em;
	text-decoration:none;
}

.up-img img {
	width:100%;
	border:none;
}

.text_error {
	display:none;
	max-width:90%;
	background-color:#d00;
	color:#fff;
	font-size:1rem;
	font-weight:bold;
	margin:0 auto 10px;
	padding:0.5em 1em;
	clear:both;
	border-radius:0.5em;
	position:absolute;
	top:0;
	right:20px;
	transform: translate(-0,-50%);
	z-index:100;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 1);
}

.error .text_error {
	display:inline-block;
}


.text_error:after{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(0, 153, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:5px;
    border-right-width:5px;
    margin-left: -5px;
    border-top-color:#d00;
    top:100%;
    left:50%;
}

.text_error p {
	color:#fff;
	font-size:1rem;
	font-weight:bold;
	margin-bottom:0.5em;
	padding:0;
	clear:both;
}
.text_error p:last-child {
	margin-bottom:0;
}

.col2 {
	display: flex;
	align-items:center;
	margin: 0;
	padding: 0;
}
.col2 li {
	list-style: none;
	vertical-align: middle;
}

.col2 li h3 {
	margin: 0;
}


/*カラー選択*/

br.pad { display:none;}
@media screen and (max-width:1000px) { 
    /*　画面サイズが900pxまではここを読み込む　*/
		br.pad { display:inline-block;}
	}
	
ul#color {
	margin:0;
	padding:0;
}

ul#color li {
	float:left;
	width:20%;
	margin:0 0 30px;
	padding:0;
	box-sizing:border-box;
	list-style:none;
	display:block;
}

@media screen and (max-width:1024px) { 
    /*　画面サイズが900pxまではここを読み込む　*/
		ul#color li {width:25%;}
	}
@media screen and (min-width:1500px) { 
    /*　画面サイズが900pxまではここを読み込む　*/
		ul#color li {width:10%;}
	}


ul#color li label{
	display:block;
	text-align:center;
}


ul#color li div,
ul#color_set li div.sample{
	width:100%;
	height:150px;
	margin:0 auto;
	padding:0;
	box-sizing:border-box;
	border:1px solid #efefef;
	position:relative;
	line-height:50px;
	font-size:14px;
	font-weight:bold;
}

ul#color li div p.h,
ul#color_set li div.sample p.h{
	margin:0;
	height:40px;
	box-sizing:border-box;
	line-height:40px;
	/*
	-moz-text-shadow: 2px 2px rgba(0,0,0,.3);
	-webkit-text-shadow: 1px 2px rgba(0,0,0,.3);
	text-shadow: 1px 1px rgba(0,0,0,.3);
	*=*/
	font-weight:bold;
	font-family: "Rounded Mplus 1c";
}

ul#color li div .c,
ul#color_set li div.sample .c{
	margin:0;
	width:100%;
	padding:7px 0;
	height:70px;
	box-sizing:border-box;
	display:block;
	border:none;
	line-height:normal !important;
}

ul#color li div .c span,
ul#color_set li div.sample .c span{
	display:inline-block;
	width:calc(100% - 10px);
	margin:0 auto 0.5em !important;
	padding:3px 0 !important;
	box-sizing:border-box;
	border-radius:6px;
	font-size:12px;
}

ul#color li div p.f,
ul#color_set li div.sample p.f{
	width:100%;
	margin:0;
	height:40px;
	position:absolute;
	bottom:0;
	box-sizing:border-box;
	line-height:40px;
	color:inherit !important;
}



/*--------------------
	フッター
--------------------*/

footer {
    background-color: #001B49;
}


footer .inner {
	text-align:center;
	padding:1em 0;
	/*font-size:1.4rem;*/
	margin:0 25px;
	color:#969696;
	}




@charset "UTF-8";
/****************************/
/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */






/*
html {
    box-sizing: border-box;
    font-size: 62.5%
}
*/

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap
}

@media(min-width: 275px) {
    .footer-menu {
        -moz-column-gap:20px;
        column-gap: 20px
    }
}

@media(min-width: 768px) {
    .footer-menu {
        height:100%;
        align-items: center;
        /*margin-left: 4rem;*/
        margin-left: 40px;
        margin-top: 0;
        -moz-column-gap: 10px;
        column-gap: 10px
    }
}

@media(min-width: 1024px) {
    .footer-menu {
        height:100%;
        align-items: center;
        /*margin-left: 6rem;*/
        margin-left: 60px;
        -moz-column-gap: 0;
        column-gap: 0
    }
}

@media(min-width: 768px) {
    html[dir=rtl] .footer__menu .footer-menu {
        /*margin:0 6rem 0 0*/
        margin:0 60px 0 0;
    }
}

html[dir=rtl] .footer__menu .footer-menu__item {
    margin: 0 0 26px 0
}

@media(min-width: 768px) {
    html[dir=rtl] .footer__menu .footer-menu__item {
        /*margin:0 0 0 4rem*/
        margin:0 0 0 40px;
    }
}

html[dir=rtl] .footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link {
    justify-content: left;
    flex-direction: row-reverse
}

.footer-menu__item {
    flex: 0 1 calc(50% - 10px);
    margin: 0 0 26px 0
}

@media(min-width: 768px) {
    .footer-menu__item {
        flex:0 0 calc(33% - 10px);
        margin: 0 40px 0 0
    }
}

@media(min-width: 1024px) {
    .footer-menu__item {
        flex:0 1 auto
    }
}

.footer-menu__link {
    color: var(--c-header-logo-text-color-override,var(--c-secondary));
    font-family: var(--v-primary-font);
    letter-spacing: var(--v-primary-font-m-letter-spacing);
    color: var(--c-footer-menu-text-color,var(--c-primary));
    text-decoration: none;
    /*
    font-size: 1.6rem;
    line-height: 1.6rem
    */
    
    font-size: 16px;
    line-height: 16px;
}

.footer-menu__link:hover,.footer-menu__link:focus {
    color: var(--c-header-logo-text-color-override,var(--c-secondary))
}

@media(min-width: 768px) {
    .footer-menu__link {
        letter-spacing:var(--v-primary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer-menu__link {
        letter-spacing:var(--v-primary-font-d-letter-spacing)
    }
}

@media(min-width: 1280px) {
    .footer-menu__link {
        /*
        font-size:1.8rem;
        line-height: 1.8rem
        */
        font-size:18px;
        line-height: 18px;
    }
}

.footer__section--.footer-sf-lang-link .footer__section-content {
    flex-flow: row nowrap;
    align-items: center
}

.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu {
    display: flex
}

@media(min-width: 768px) {
    .footer__section--.footer-sf-lang-link .footer__section-content .footer__menu {
        flex-direction:row;
        justify-content: space-between;
        align-items: center
    }
}

.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: right;
    flex: 1
}

.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .footer__language_selector_label_link {
    color: var(--c-header-logo-text-color-override,var(--c-secondary));
    font-family: var(--v-primary-font);
    letter-spacing: var(--v-primary-font-m-letter-spacing);
    color: var(--c-footer-menu-text-color,var(--c-primary));
    text-decoration: none;
    /*
    font-size: 1.6rem;
    line-height: 1.6rem;
    margin: .5rem 0 1.8rem 1rem
    */
    
    font-size: 16px;
    line-height: 16px;
    margin: 5px 0 18px 10px;
}

.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .footer__language_selector_label_link:hover,.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .footer__language_selector_label_link:focus {
    color: var(--c-header-logo-text-color-override,var(--c-secondary))
}

@media(min-width: 768px) {
    .footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .footer__language_selector_label_link {
        letter-spacing:var(--v-primary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .footer__language_selector_label_link {
        letter-spacing:var(--v-primary-font-d-letter-spacing)
    }
}

@media(min-width: 1280px) {
    .footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .footer__language_selector_label_link {
        /*
        font-size:1.8rem;
        line-height: 1.8rem
        */
        font-size:18px;
        line-height: 18px;
    }
}

.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .sf-campaign-globe {
    margin-top: 0
}

.footer__section--.footer-sf-lang-link .footer__section-content .footer__menu .snickers-fc-link .sf-campaign-globe svg {
    display: block;
    fill: var(--c-primary)
}



.inline-menu {
    list-style: none;
    margin: 0;
    padding: 0
}

.inline-menu__item {
    margin: 0 1em .5em 0
}

@media(min-width: 1024px) {
    .inline-menu__item {
        display:inline;
        margin-bottom: 1em
    }
}

.inline-menu__item:last-child {
    margin-right: 0
}

.inline-menu__link {
    color: var(--c-header-logo-text-color-override,var(--c-secondary));
    color: var(--c-subcolor-1);
    /*font-size: 1.2rem;*/
    font-size: 12px;
    font-weight: 600;
    text-decoration: none
}

.inline-menu__link:hover,.inline-menu__link:focus {
    color: var(--c-header-logo-text-color-override,var(--c-secondary))
}

.legal-links-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    -moz-column-gap: 10px;
    column-gap: 10px
}

.legal-links-menu__item {
    flex: 0 1 calc(50% - 10px);
    margin: 0 0 22px;
    display: flex;
    position: relative
}

@media(min-width: 768px) {
    .legal-links-menu__item {
        flex:0 1 calc(33% - 10px);
        margin: 0 0 21px
    }
}

.legal-links-menu__link {
    color: var(--c-header-logo-text-color-override,var(--c-secondary));
    font-family: var(--v-secondary-font);
    letter-spacing: var(--v-secondary-font-m-letter-spacing);
    display: block;
    color: var(--c-footer-menu-text-color);
    text-decoration: none
}

.legal-links-menu__link:hover,.legal-links-menu__link:focus {
    color: var(--c-header-logo-text-color-override,var(--c-secondary))
}

@media(min-width: 768px) {
    .legal-links-menu__link {
        letter-spacing:var(--v-secondary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .legal-links-menu__link {
        letter-spacing:var(--v-secondary-font-d-letter-spacing)
    }
}

@media(min-width: 275px) {
    .legal-links-menu__link {
        /*
        font-size:1.2rem;
        line-height: 1.32rem
        */
        font-size:12px;
        line-height: 13.2px
    }
}

@media(min-width: 768px) {
    .legal-links-menu__link {
        /*font-size:1.4rem;*/
        font-size:14px;
        display: flex
    }
}

@media(min-width: 1024px) {
    .legal-links-menu__link {
        /*line-height:1.54rem*/
        line-height:15.4px;
    }
}

.legal-links-menu__link:hover,.legal-links-menu__link:focus {
    color: var(--c-secondary)
}













.footer__section--primary {
    background-image: radial-gradient(circle at 50% 50%,var(--c-footer-top-gradient,var(--c-footer-top,var(--c-top-nav-gradient,var(--c-top-nav)))),var(--c-footer-top,var(--c-top-nav)))
}

.footer__section--primary .footer__section-content {
    padding: 20px 20px 5px;
    display: flex;
    flex-flow: column nowrap;
    max-width: 1440px;
    margin: 0 auto
}

@media(min-width: 275px) {
    .footer__section--primary .footer__section-content {
        padding:20px 20px 25px
    }
}

@media(min-width: 768px) {
    .footer__section--primary .footer__section-content {
        padding:20px 40px 25px;
        flex-flow: row nowrap
    }
}

@media(min-width: 769px) {
    .footer__section--primary .footer__section-content {
        flex-flow:row nowrap;
        padding: 10px 40px 14px
    }
}

.footer__section--footer-top-border {
    border-top: 1px solid var(--c-footer-border-color,var(--c-subcolor-4))
}

.footer__section--secondary {
    position: relative;
    min-height: 400px;
    background-color: var(--c-bottom-nav)
}

.footer__section--secondary.no-footer-cta {
    min-height: unset
}

.footer__section--secondary .footer__section-content {
    padding: 48px 20px 20px;
    display: flex;
    flex-flow: column nowrap;
    max-width: 1440px;
    margin: 0 auto
}

@media(min-width: 768px) {
    .footer__section--secondary .footer__section-content {
        flex-flow:row wrap;
        padding: 20px 40px
    }
}

.footer__section--secondary.no-top-margin {
    bottom: 2px;
    margin-bottom: -2px
}

.footer__section--secondary.no-top-margin .footer__section-content {
    padding-top: 0
}

.footer__border {
    position: relative;
    bottom: -4px;
    width: 100%
}

.footer__border svg {
    display: block;
    width: 100%;
    height: auto;
    fill: var(--c-bottom-nav)
}

.footer__menu {
    flex: 1 1 auto
}

@media(min-width: 1024px) {
    .footer__menu {
        flex:1 1 100%
    }
}

.footer__social {
    /*margin-bottom: 1rem;*/
    margin-bottom: 10px;
    flex: 0 1 100%;
    order: 1
}

@media(min-width: 768px) {
    .footer__social {
        flex:0 1 50%
    }
}

@media(min-width: 1024px) {
    .footer__social {
        flex:0 1 33%;
        /*margin-top: .9rem*/
        margin-top: 9px;
    }
}

.footer__social .social-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    align-items: center;
    justify-content: flex-start
}

@media(min-width: 275px) {
    .footer__social .social-menu {
        max-width:90%
    }
}

@media(min-width: 1025px) {
    .footer__social .social-menu {
        max-width:70%
    }
}

.footer__social .social-menu__item {
    /*margin-bottom: 1rem;*/
    margin-bottom: 10px;
    flex: 0 1 calc(20% - 10px);
    /*margin-right: .5rem*/
    margin-right: 5px;
}

@media(min-width: 768px) {
    .footer__social .social-menu__item {
        margin-right:0;
        flex: 0 1 calc(23% - 10px)
    }
}

.footer__social .social-menu__item:nth-child(5n)::after {
    content: "\a";
    white-space: pre-line
}

.footer__social .social-menu__link svg path {
    fill: var(--c-subcolor-3)
}

.footer__legal-links {
    margin-bottom: 10px;
    flex: 0 1 100%;
    order: 3
}

@media(min-width: 1024px) {
    .footer__legal-links {
        flex:0 1 66%;
        order: 2
    }

    .footer__legal-links--large .legal-links-menu__item {
        flex: 0 1 32%
    }

    .footer__legal-links--full-width {
        flex: 0 1 100%
    }
}

.footer__section-header {
    font-family: var(--v-primary-font);
    letter-spacing: var(--v-primary-font-m-letter-spacing);
    color: var(--c-subcolor-3);
    /*font-size: 1.6rem;*/
    font-size: 16px;
    line-height: 1
}

@media(min-width: 768px) {
    .footer__section-header {
        letter-spacing:var(--v-primary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__section-header {
        letter-spacing:var(--v-primary-font-d-letter-spacing)
    }
}

@media(min-width: 768px) {
    .footer__section-header {
        flex:0 1 50%
    }
}

@media(min-width: 1024px) {
    /*
    .footer__section-header {
        font-size:1.8rem
    }
    */
    .footer__section-header {
        font-size:18px;
    }
}

.footer__region-selector {
    /*
    margin-bottom: 1rem;
    flex: 0 1 100%;
    order: 2
    */
    margin-bottom: 10px;
    flex: 0 1 100%;
    order: 2
}

@media(min-width: 768px) {
    .footer__region-selector {
        flex:0 1 50%
    }
}

@media(min-width: 1024px) {
    .footer__region-selector {
        flex:0 1 33%;
        order: 3;
        padding-right: 135px;
        margin-top: 12px
    }
}

.footer__region-selector .dropdown {
    /*margin: 0 1.5rem 0 0*/
    margin: 0 15px 0 0
}

.footer__info {
    /*margin-bottom: 1rem;*/
    margin-bottom: 10px;
    flex: 0 1 100%;
    order: 4
}

@media(min-width: 1024px) {
    .footer__info {
        flex:0 1 66%
    }
}

.footer__logo {
    /*
    flex: 0 0 10.1rem;
    max-width: 10.4rem;
    max-height: 3.9rem;
    margin: 1rem 0 2.6rem 0
    */
    flex: 0 0 101px;
    max-width: 104px;
    max-height: 39px;
    margin: 10px 0 26px 0
}

@media(min-width: 275px) {
    /*
    .footer__logo {
        flex:0 0 10.4rem;
        max-width: 10.4rem;
        max-height: 3.9rem;
        margin: 2rem 0 3.9rem 0
    }
    */
    .footer__logo {
        flex:0 0 104px;
        max-width: 104px;
        max-height: 39px;
        margin: 20px 0 39px 0
    }
}

@media(min-width: 768px) {
   /*
    .footer__logo {
        flex:0 0 14.1rem;
        max-width: 14.1rem;
        max-height: 5.3rem;
        margin: 2rem 0 2.6rem 0
    }
    */
    .footer__logo {
        flex:0 0 141px;
        max-width: 141px;
        max-height: 53px;
        margin: 20px 0 26px 0
    }
}

@media(min-width: 1024px) {
    /*
    .footer__logo {
        flex-basis:21.2rem;
        max-width: 21.2rem;
        max-height: 9.8rem;
        margin: 2rem 0 1.2rem 0
    }
    */
    .footer__logo {
        flex-basis:212px;
        max-width: 212px;
        max-height: 98px;
        margin: 20px 0 12px 0
    }
}

.footer__logo .footer__logoLink {
    display: block;
    width: 104px;
    height: 39px
}

@media(min-width: 768px) {
    .footer__logo .footer__logoLink {
        width:141px;
        height: 53px
    }
}

@media(min-width: 1024px) {
    .footer__logo .footer__logoLink {
        width:212px;
        height: 98px
    }
}

.footer__logo .footer__logoLink img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: left center;
    object-position: left center
}

.footer__logo.footer-logo-no-padding {
    margin: 0
}

.footer__marketing-text-title {
    font-family: var(--v-primary-font);
    letter-spacing: var(--v-primary-font-m-letter-spacing);
    color: var(--c-footer-marketing-text-color-override,var(--c-subcolor-3));
    /*font-size: 1.2rem;*/
    font-size: 12px;
    line-height: 1.6
}

@media(min-width: 768px) {
    .footer__marketing-text-title {
        letter-spacing:var(--v-primary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__marketing-text-title {
        letter-spacing:var(--v-primary-font-d-letter-spacing)
    }
}

@media(min-width: 768px) {
    .footer__marketing-text-title {
        /*font-size:1.4rem*/
        font-size:14px;
    }
}

@media(min-width: 1024px) {
    .footer__marketing-text-title {
        /*font-size:1.2rem*/
        font-size:12px;
    }
}

.footer__marketing-text {
    font-family: var(--v-secondary-font);
    letter-spacing: var(--v-secondary-font-m-letter-spacing);
    color: var(--c-footer-marketing-text-color-override,var(--c-subcolor-3));
    color: #fff;
    /*font-size: 1.2rem;*/
    font-size: 12px;
    line-height: 1.6
}

@media(min-width: 768px) {
    .footer__marketing-text {
        letter-spacing:var(--v-secondary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__marketing-text {
        letter-spacing:var(--v-secondary-font-d-letter-spacing)
    }
}

.footer__marketing-text strong {
    font-family: var(--v-primary-font);
    letter-spacing: var(--v-primary-font-m-letter-spacing)
}

@media(min-width: 768px) {
    .footer__marketing-text strong {
        letter-spacing:var(--v-primary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__marketing-text strong {
        letter-spacing:var(--v-primary-font-d-letter-spacing)
    }
}

@media(min-width: 768px) {
    .footer__marketing-text {
        /*font-size:1.4rem*/
        font-size:14px;
    }
}

@media(min-width: 1024px) {
    .footer__marketing-text {
        /*font-size:1.2rem*/
        font-size:12px;
    }
}

.footer__copyright {
    font-family: var(--v-secondary-font);
    letter-spacing: var(--v-secondary-font-m-letter-spacing);
    color: var(--c-footer-marketing-text-color-override,var(--c-subcolor-3))
}

@media(min-width: 768px) {
    .footer__copyright {
        letter-spacing:var(--v-secondary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__copyright {
        letter-spacing:var(--v-secondary-font-d-letter-spacing)
    }
}

@media(min-width: 275px) {
    .footer__copyright {
        /*font-size:1.2rem;*/
        font-size:12px;
        line-height: 1.6
    }
}

@media(min-width: 768px) {
    .footer__copyright {
        /*font-size:1.4rem*/
        font-size:14px;
    }
}

@media(min-width: 1024px) {
    .footer__copyright {
        /*font-size:1.2rem*/
        font-size:12px;
    }
}

.footer__separator_1 {
    /*height: .1rem;*/
    height: .10px;
    order: 3;
    flex: 0 1 auto;
    background-color: var(--c-subcolor-3);
    opacity: .5;
    /*margin: 2rem 0 1rem*/
    margin: 20px 0 10px;
}

@media(min-width: 768px) {
    .footer__separator_1 {
        flex:0 1 100%
    }
}

@media(min-width: 1024px) {
    .footer__separator_1 {
        display:none
    }
}

.footer__separator_2 {
    height: 1px;
    order: 5;
    flex: 0 1 auto;
    background-color: var(--c-subcolor-3);
    opacity: .5
}

@media(min-width: 768px) {
    .footer__separator_2 {
        flex:0 1 100%
    }
}

.footer__corporate-tout {
    font-family: var(--v-primary-font);
    letter-spacing: var(--v-primary-font-m-letter-spacing);
    display: flex;
    flex-flow: row wrap;
    color: var(--c-subcolor-3);
    order: 6;
    flex: 0 1 100%;
    margin: 50px 0 30px;
    /*font-size: 2rem;*/
    font-size: 20px;
    line-height: 1.1;
    justify-content: space-between;
    align-items: center;
    flex-basis: 100%;
    position: relative
}

@media(min-width: 768px) {
    .footer__corporate-tout {
        letter-spacing:var(--v-primary-font-t-letter-spacing)
    }
}

@media(min-width: 1440px) {
    .footer__corporate-tout {
        letter-spacing:var(--v-primary-font-d-letter-spacing)
    }
}

@media(min-width: 768px) {
    .footer__corporate-tout {
        margin:30px 0 10px;
        /*font-size: 2.6rem*/
        font-size: 26px;
    }
}

@media(min-width: 1024px) {
    .footer__corporate-tout {
        margin:30px 0 10px;
        /*font-size: 2.8rem*/
        font-size: 28px;
    }
}

.footer__corporate-tout .default-link {
    color: var(--c-footer-cta-label);
    border: 2px solid var(--c-subcolor-3);
    width: auto;
    transition: background-position .6s cubic-bezier(0.75,0,0.25,0);
    background: linear-gradient(45deg,var(--c-subcolor-3) 50%,transparent 50%);
    background-size: 200% 200%;
    background-position: right top
}

.footer__corporate-tout .default-link:hover,.footer__corporate-tout .default-link:focus-visible {
    background-position: left bottom
}

.footer__corporate-tout .default-link:hover,.footer__corporate-tout .default-link:focus-visible {
    color: var(--c-secondary)
}

.footer__corporate-tout .default-link.no_hover_cta {
    transition: none;
    background-size: 0%;
    background-position: 0%
}

.footer__corporate-tout .default-link.no_hover_cta:hover,.footer__corporate-tout .default-link.no_hover_cta:focus-visible {
    color: var(--c-footer-cta-label)
}

.corporate-tout__text {
    margin: 0 0 18px;
    flex-basis: 100%
}

.footerLogo {
    flex-basis: 100%;
    margin-top: 5px
}

@media(min-width: 768px) {
    .footerLogo {
        flex-basis:70%;
        margin-top: 0
    }
}

.footerLogo img {
    height: auto;
    cursor: default;
    z-index: 5
}

@media(min-width: 275px) {
    .footerLogo img {
        float:left;
        width: 30%
    }
}

@media(min-width: 375px) {
    .footerLogo img {
        width:25%
    }
}

@media(min-width: 414px) {
    .footerLogo img {
        width:27%
    }
}

@media(min-width: 768px) {
    .footerLogo img {
        float:right;
        width: 25%
    }
}

@media(min-width: 1024px) {
    .footerLogo img {
        width:15%
    }
}

html[dir=rtl] .footer__social .social-menu .social-menu__item {
    margin-left: 0;
    flex: 0 1 calc(22% - 10px)
}

html[dir=rtl] .footerLogo {
    flex-basis: 100%;
    margin-top: 5px
}

@media(min-width: 768px) {
    html[dir=rtl] .footerLogo {
        flex-basis:70%;
        margin-top: 0
    }
}

@media(min-width: 275px) {
    html[dir=rtl] .footerLogo img {
        float:right;
        width: 30%
    }
}

@media(min-width: 375px) {
    html[dir=rtl] .footerLogo img {
        width:25%
    }
}

@media(min-width: 414px) {
    html[dir=rtl] .footerLogo img {
        width:27%
    }
}

@media(min-width: 768px) {
    html[dir=rtl] .footerLogo img {
        float:left;
        width: 25%
    }
}

@media(min-width: 1024px) {
    html[dir=rtl] .footerLogo img {
        width:15%
    }
}

html[dir=rtl] .footer__logoLink img {
    -o-object-position: right center;
    object-position: right center
}

.footer__language_selector_label_link {
    cursor: pointer
}













/*ページトップボタン*/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
 
#pageTop a {
  display: block;
  z-index: 999;
  padding: 0;
  border-radius: 25px;
  width: 50px;
  height: 50px;
  line-height:50px;
  background-color: #9FD6D2;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
 
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}


/*ラジオセット*/

ul.radio_set{
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: auto;
  display:flex;
  flex-wrap: wrap;
}

ul.radio_set.col{
  flex-direction: column;
}
ul.radio_set.tac{
  justify-content: center;
}

ul.radio_set li{
  color:inherit;
  display: block;
  position: relative;
}

ul.radio_set.col li{
	margin-top:0;
}
ul.radio_set.col li + li{
	margin-top:1rem;
}
ul.radio_set.col li:last-child{
	margin-top:0;
}

ul.radio_set.col li.invisible{
	display: none;
}

ul.radio_set li input[type=radio]{
  position: absolute;
  visibility: hidden;
}

ul.radio_set li label{
  display: block;
  position: relative;
  font-weight:bold;
  padding: 0 26px 0 40px;
  margin: 0 auto;
  height: 26px;
  line-height:26px;
  z-index: 9;
  cursor: pointer;
  transition: all 0.25s linear;
}
/*
ul.radio_set li:hover label{
  color: #FFFFFF;
}
*/
ul.radio_set li .check{
  display: block;
  position: absolute;
  border: 5px solid #aaa;
  background-color:#fff;
  border-radius: 100%;
  height: 26px;
  width: 26px;
  top: 50%;
  left: 20px;
  transform: translate(-50%,-50%);
  z-index: 5;
  transition: border .25s linear;
  -webkit-transition: border .25s linear;
}

ul.radio_set li:hover .check {
  border: 5px solid #f66;
}


ul.radio_set li .check::before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 16px;
  width: 16px;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  transition: all 0.3s linear 0.1s;
/*
  -webkit-transition: background 0.25s linear;*/
}

/*外丸*/
.radio_set input[type=radio]:checked ~ .check {
  border: 5px solid #fff;
}

/*中丸*/

.radio_set input[type=radio]:checked ~ .check::before{
  background-color:#f66;
  height: 24px;
  width: 24px;
}

/*文字*/
.radio_set input[type=radio]:checked ~ label{
  color:inherit;
}


/*チェックボックスセット*/

ul.checkbox_set{
  list-style: none;
  margin: 0;
  padding: 0;
  display:flex;
  justify-content: center;
}

ul.checkbox_set li{
  color:inherit;
  display: block;
  position: relative;
  width:26px;
}

ul.checkbox_set li input[type=checkbox]{
  position: absolute;
  visibility: hidden;
}

ul.checkbox_set li label{
  display: block;
  position: relative;
  font-weight:bold;
  font-size: 1.6rem;
  padding: 0 26px 0 40px;
  margin: 0 auto;
  height: 26px;
  line-height:26px;
  z-index: 9;
  cursor: pointer;
  transition: all 0.25s linear;
}

/*チェック不可*/
ul.checkbox_set li.disabled label {
	pointer-events: none;
}
/*
ul.radio_set li:hover label{
  color: #FFFFFF;
}
*/
ul.checkbox_set li .check{
  display: block;
  position: absolute;
  border: 1px solid #aaa;
  background-color:#fff;
  height: 26px;
  width: 26px;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 5;
  transition: border .25s linear;
  -webkit-transition: border .25s linear;
}

/*１つ表示の場合*/
ul.checkbox_set.mono li .check {
  top: 50%;
  left: 50%;
}

ul.checkbox_set li:hover .check {
  border: 1px solid #F00;
}




ul.checkbox_set li .check::before {
  display: block;
  content: '';
  height: 20px;
  width: 9px;
  position:relative;
  top: 20%;
  left: 70%;
  transform: translate(-50%,-50%) rotate(40deg);
  /*transition: background 0.25s linear;
  -webkit-transition: background 0.25s linear;*/
}

/*外丸*/
.checkbox_set input[type=checkbox]:checked ~ .check {
  border: 1px solid #ccc;
}

/*中丸*/

.checkbox_set input[type=checkbox]:checked ~ .check::before{
	
  background-color:transparent;
  border-right:4px solid #f00;
  border-bottom:6px solid #f00;
}

/*文字*/
.checkbox_set input[type=checkbox]:checked ~ label{
  color:inherit;
}




/*セレクトとラジオ*/

.select_radio {
	margin:0;
	padding:0;
	display:flex;
}

.select_radio li {
	list-style:none;
}
.select_radio li .radio_set {
	position:relative;
	top:50%;
	left:0;
	transform: translate(-0%,-50%);
}

.select_radio li .radio_set li {
	white-space:nowrap;
}
.select_radio > li:first-child {
	margin-right:3rem;
}

/************************************************/
/*テキストインプットセット*/
/************************************************/


ul.text_set{
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: auto;
  display:flex;
}

ul.text_set li{
  color:inherit;
  display: block;
  position: relative;
  font-weight:bold;
  font-size:1.6rem;
  line-height:26px;
}

ul.text_set li input{
  display:inline-block;
  width:6em;
  margin:0 1em 0 0.5em;
  pointer-events: none;
  text-align:right;
}

/************************************************/
/*インプットタイプファイル装飾*/
/************************************************/



#js-selectFile {
	margin:2em 0;
}


/* オリジナルボタン */
.original_btn {
    border: 1px solid #ddd;
    padding: 0.5em 1em;
	margin-bottom:1em;
    cursor: pointer;
    border-radius: 5px;
    color: #666;
    background: linear-gradient(to bottom,#fff 0,#f4f4f4 100%);
    box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.09);
	font-size:100%;
	font-weight:bold;
	
	transition: all .3s ease;
}

/* アップロードボタン */


.uploadFile {
	display:block;
	border:1px solid #888;
	background-color:#fff;
	margin-bottom:0.5em;
	padding:0.5em;
	position:relative;
	
}

/*半分サイズ*/
.half {
max-width:500px;
	
}

.uploadFile p::before{

  content: "ファイル名：";/*何も入れない*/
  display: inline;/*忘れずに！*/
  vertical-align:middle;
  font-weight:bold;
  
}

.uploadFile > img {
	width:100%;
	display:block;
}

.uploadFile p {
	display:inline-block;
	vertical-align:middle;
	width: calc(100% - 100px);
	white-space:nowrap;
	text-overflow: ellipsis;
	overflow:hidden;
}



.uploadFile .delete {
	position:absolute;
	bottom:5px;
	right:5px;
	transform: translate(-0%,-0%);
	background-color:#666;
	color:#fff;
	padding:0 7px;
	margin:0;
	border-radius:5px;
	border:1px solid #fff;
	height:2.4em;
	display:inline-block;
	line-height:2.4em;
	vertical-align:middle;
	}


.uploadFile .delete::before{

  content: "";/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 1.6em;/*画像の幅*/
  height: 2em;/*画像の高さ*/
  background-image: url(../img/delete.svg);
  background-repeat:no-repeat;
  background-size: auto 1.4em;
  background-position:0 0.1em;
  vertical-align:middle;
  
}

.uploadFile .delete:hover {

	background-color:#69F;
	}


.upload_btn,
.upload_btn2,
.upload_btn3 {
	display:none;
	text-decoration:none;
}

.upload_btn.select,
.upload_btn2.select,
.upload_btn3.select  {
	font-size: 100%;
    margin: 0 10px 0 15px;
    padding: 3px 20px;
    border-radius: 15px;
    background: #ff5050;
    color: #fff;
    display: inline-block;
	
}


.original_btn:hover {
    border: 1px solid #F90;
}

/* 未選択時のアイコン */
a.icon {
    font-size: 100%;
    margin: 0 10px 0 15px;
    padding: 3px 20px;
    border-radius: 15px;
    background: #666;
    color: #fff;
    display: inline-block;
	pointer-events:none;
}
a.icon {
	pointer-events:none;
	text-decoration:none;
}
/* 選択時のアイコン */
a.icon.select {
    background: #ff5050;
    color: #fff;
	pointer-events:auto;
}
a.icon.select:hover {
	background-color:#ffa250;
}
/* ファイル名 */
.filename,
.filename-2 {
    display: inline-block;
    font-size: 80%;
	word-break: break-all;
}

#btn {
    background: #888;
    color: #fff;
    cursor: pointer;
    padding: 15px 30px;
    display: inline-block;
}
input{
    background: none;
    box-shadow: none;
    border: none;
}




/************************************************/
/*インプットタイプファイル装飾（CSVアップロード）*/
/************************************************/


/* オリジナルボタン */
#js-csv_selectFile_1 .original_btn {
    border: 1px solid #ddd;
    padding: 0.5em 1em;
	margin-bottom:0;
    cursor: pointer;
    border-radius: 5px;
    color: #666;
    background: linear-gradient(to bottom,#fff 0,#f4f4f4 100%);
    box-shadow: inset 0 -1px 0 0 rgba(0, 0, 0, 0.09);
	font-size:100%;
	font-weight:bold;
	
	transition: all .3s ease;
}



/* 選択時のアイコン */
#js-csv_selectFile_1 a.icon.not {
	background: #ff5050;
    color: #fff;
	pointer-events:none;
}


/*
select {
	padding-right:2em !important;
}
select + span{
	display:block;
	width:7px;
	height:7px;
	padding:0 !important;
	margin:0 !important;
	border:2px solid #666 !important;
	border-top:none !important;
	border-left:none !important;
	border-radius:none !important;
	border-radius:0 !important;
	background-color:transparent !important;
	position:absolute;
	top:50%;
	right:0.5em;
	transform: translate(-50%,-50%) rotate(45deg);
}
*/



/**/
#seiribango {
	white-space:nowrap;
}

#seiribango ul{
	display:flex;
	justify-content: flex-start;
	margin:1em 0 2em;
	padding:0;
}

#seiribango ul li{
	list-style:none;
}

#seiribango ul li:first-child{
	width:400px;
}

#seiribango span{
	display:inline-block;
	margin-right:0.5em;
}

#seiribango input[type="text"]{
	width:6em !important;
	text-align:center;
}

#seiribango ul li:last-child input[type="text"]:last-child{
	width:7em !important;
	text-align:center;
}

#seiribango select{
	margin-right:1em;
}

#seiribango + p input[type="text"]{
	width:7em;
	text-align:center;
}


/*------------------------------*/
/*横並びさせるための設定*/
/*------------------------------*/

ul.yokonarabi {
	display:flex;
	margin:0;
	padding:0;
	gap:2rem;
	align-items:center;
}

ul.yokonarabi +  ul.yokonarabi {
	margin-top:1rem;
}

ul.yokonarabi li {
	list-style:none;
}

ul.yokonarabi li span {
	background-color:#666;
	color:#fff;
	padding:0.4em 1em;
}

ul.yokonarabi li input {
	margin:0 0.3em;
}

ul.yokonarabi li h2,
ul.yokonarabi li h3{
	margin: 0;
	padding: 0;
}

ul.yokonarabi li .btn2{
	margin: 0;
	padding: 0;
}

/*------------------------------*/
/*メール入力欄リスト*/
/*------------------------------*/


p.letter::after {
	content:"通";
	margin-left:0.5em;
}

.mail_list input {
	margin-bottom:1rem;
}

.mail_list input:last-child {
	margin-bottom:0;
}


.mail_list .btn2 {
	margin-bottom:0;
	justify-content: flex-end;
}




/*------------------------------*/
/*メール入力欄確認*/
/*------------------------------*/

.submit_date {
	display:flex;
	font-size:120%;
}

.submit_date > div{
	margin:0 0.5em 0 0;
	padding: 0;
	/*border: 1px solid #999;*/
	border-radius:5px;
	position:relative;
}

.submit_date > div:nth-child(1)::after{
	content:"年";
	margin-left:0.2em;
}
.submit_date > div:nth-child(2)::after{
	content:"月";
	margin-left:0.2em;
}
.submit_date > div:nth-child(3)::after{
	content:"日";
	margin-left:0.2em;
}
.submit_date > div:nth-child(4)::after{
	content:"時";
	margin-left:0.2em;
}
.submit_date > div:nth-child(5)::after{
	content:"分";
	margin-left:0.2em;
}





.modal_open {
	display: inline-block;
	height: 150px;
	margin-bottom: 2rem;
	position: relative;
}



.modal_open .inner{
	display: inline-block;
	width: auto;
	height: 150px;
	padding: 0;
	text-align: center;
	overflow: hidden;
	border-radius: 0.5em;
	border: 2px solid #fff;
	cursor:pointer;
	transition: 0.3s ;
}

.modal_open:hover .inner{
	border: 2px solid #ff5050;
}

.modal_open img {
	display: block;
	height: 100%;
	width: auto;
}
.modal_open p {
	position: absolute;
	display: block;
	font-size: 1rem;
	text-align: center;
	margin: 0;
	top:100%;
	left: 50%;
	transform: translate(-50%, 0.5rem);
	white-space: nowrap;
}

.modal {
  display: none; /* デフォルト非表示 */
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9999;

  /* 表示時にflex化したい場合はJSで切り替える */
  justify-content: center;
  align-items: center;
}

.modal-content {
	position: relative;
}

.modal-inner {
	border-radius: 1em;
	overflow: hidden;
	background-color: #fff;
}

/*承認・却下用モーダル*/
#modalApprove .modal-inner,
#modalReject .modal-inner,
/*受付モーダル*/
#modalaccept .modal-inner{
	border-radius: 1em;
	overflow: hidden;
	background-color: #fff;
	padding: 1em 2em;
	min-width: 500px;
}


#modalaccept .radio_set{
	margin-bottom: 3rem;
}



.modal-inner img{
	display: block;
	margin: 0;
	padding: 0;
}

.modal-inner h2{
	text-align: center;
}

.modal-inner p{
	text-align: center;
	margin-bottom: 1em;
}

#rejectionReason {
	border: 1px solid #ccc;
	margin-top: 3rem;
	padding: 1em;
	position: relative;
}

#rejectionReason h3{
	text-align: center;
	font-size: 2rem;
	margin: 0 0 0.5em;
	padding: 0 0.5em;
	position: absolute;
	top:0;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
}

#rejectionReason ul.radio_set li{
	/*width: 100%;*/
	color:inherit;
	display: block;
	position: relative;
}



.close-modal {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  border: 2px solid #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}


/*--------------------
	ログイン履歴
--------------------*/
#loglist {
	border: 1px solid #ccc;
	padding: 1em;
	height: calc(1.995em * 15);
	overflow: scroll;
}

#loglist p{
	display: flex;
	margin-bottom: 0.5em;
	gap:1em;
}
#loglist p:last-child{
	margin-bottom: 0;
}

#loglist p span:first-child::before{
	content:"ログイン日時：";
}
#loglist p span:last-child::before{
	content:"ログインメールアドレス：";
}


/*--------------------
	カレンダー
--------------------*/

.flatpickr-calendar {
	padding: 10px !important;
	width: auto !important;
	font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.flatpickr-weekdaycontainer span:nth-child(1){
	color: #f00;
}
.flatpickr-weekdaycontainer span:nth-child(7){
	color: #4956ee;
}

.flatpickr-months {
	position: relative;
	margin-bottom: 1em;
}

.flatpickr-current-month {
	padding: 0 !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months {
	height: 100% !important;
}

.flatpickr-months .flatpickr-prev-month {
height: 100% !important;
top: 50% !important;
left: 0;
transform: translate(-0%, -50%);
/*padding: 0 !important;*/
}

.flatpickr-months .flatpickr-next-month {
height: 100% !important;
top: 50% !important;
right: 0;
transform: translate(-0%, -50%);
}