このページの基本カラー

:root {
 --main-color: #133967;
 --sub-color: #C4C4C4;
}

CSS

.btn_style01 {
 max-width: 100%;
 width: 300px;
}

.btn_style01 a {
 display: block;
 padding: 10px 0;
 text-align: center;
 color:  var(--main-color);
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 2px solid var(--main-color);
 position: relative;
}
.btn_style01 a:hover { 
 color: #fff;
 background: var(--main-color);
 border: 2px solid var(--main-color);
}

.btn_style01 a:after {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 1px var(--main-color);
 border-right: solid 1px var(--main-color);
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}

.btn_style01 a:hover::after {
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
}

CSS

.btn_style02 {
 width: 100%;
 max-width: 300px;
}

.btn_style02 a {
 display: block;
 width: 100%;
 padding: 15px 0;
 text-align: center;
 color: #fff;
 text-decoration: none;
 font-weight: normal;
 background: var(--main-color);
 border-width: 1px 1px 1px 1px;
 border-style: solid;
 border-color: var(--main-color);
 position: relative;
}

.btn_style02 a:hover { 
 color: var(--main-color);
 background: #fff;
}

.btn_style02 a .mail_icon {
 padding: 0 0 0 25px;
 position: relative;
}

.btn_style02 a .mail_icon::before {
 content: '';
 display: inline-block;
 position: absolute;
 left: 0;
 top: 50%;
 transform: translateY(-50%);
 -webkit-mask-image: url(../img/common/mail_icon.svg);
 mask-image: url(../img/common/mail_icon.svg);
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 width: 18px;
 height: 13px;
 -webkit-mask-size: 100% auto;
 mask-size: 100% auto;
 background-color: #fff;
}

.btn_style02 a:hover .mail_icon::before {
 background-color: var(--main-color);
}

CSS

.btn_style03 {
	width: 100%;
	max-width: 300px;
}

.btn_style03 a {
 display: block;
 padding: 17px 0;
 text-align: center;
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 1px solid var(--main-color);
 letter-spacing: 0.05em;
 position: relative;
 color: #fff;
 background: var(--main-color);
 border-radius: 10px;
}

.btn_style03 a:hover {
 color: var(--main-color);
 background: #fff;
}

.btn_style03 a:before {
  content: '';
  width: 17px;
  height: 3px;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: calc(100% - 50px);
  transform: translateY(-50%) skewX(45deg);
  transition: all 0.3s ease;
}

.btn_style03 a:hover:before {
 border-color: var(--main-color);
 width: 25px;
}

CSS

.btn_style04 {
 max-width: 100%;
 width: 300px;
}

.btn_style04 a {
 display: block;
 font-size: 16px;
 font-size: 1.6rem;
 letter-spacing: 0.1em;
 color: #fff;
 background: var(--main-color);
 text-align: center;
 border: 2px solid var(--main-color);
 padding: 10px 40px;
 border-radius: 30px;
 position: relative;
}

.btn_style04 a:hover{
 color: var(--main-color);
 background: #fff;
 border: 2px solid var(--main-color);
 text-decoration: none;
}

.btn_style04 a:after{
 content: '';
 width: 6px;
 height: 6px;
 color: var(--main-color);
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}


.btn_style04 a:hover:after{
 border-color: var(--main-color);
}

CSS

.two_btn01 {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 30px 40px;
 margin: 0 0 40px;
}

.two_btn01:last-child {
 margin: 0;
}

.two_btn01 > li {
 width: calc((100% - 40px) / 2);
 max-width: 300px;
}

.two_btn01 > li a {
 display: block;
 padding: 10px 0;
 text-align: center;
 color:  var(--main-color);
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 2px solid var(--main-color);
 position: relative;
}

.two_btn01 > li a:hover { 
 color: #fff;
 background: var(--main-color);
 border: 2px solid var(--main-color);
}

.two_btn01 > li a:after {
 content: '';
 width: 6px;
 height: 6px;
 border-top: solid 1px var(--main-color);
 border-right: solid 1px var(--main-color);
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}

.two_btn01 > li a:hover::after {
 border-top: solid 1px #fff;
 border-right: solid 1px #fff;
}

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

.two_btn01 > li {
 width: 100%;
}

}

CSS

.three_btn01 {
 display: flex;
 flex-wrap: wrap;
 gap: 30px 40px;
 margin: 0 0 40px;
}

.three_btn01:last-child {
 margin: 0;
}

.three_btn01 .btn_area {
 width: calc((100% - 80px) / 3);
}

.three_btn01 .btn_area a {
 display: block;
 padding: 10px 0;
 text-align: center;
 color:  var(--main-color);
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 2px solid var(--main-color);
 position: relative;
}

.three_btn01 .btn_area a:hover { 
 color: #fff;
 background: var(--main-color);
 border-color: var(--main-color);
}

.three_btn01 .btn_area a:after {
 content: '';
 width: 6px;
 height: 6px;
 border-top: 1px solid var(--main-color);
 border-right: 1px solid var(--main-color);
 transform: rotate(45deg);
 position: absolute;
 top: 50%;
 right: 15px;
 margin: -3px 0 0 0;
}

.three_btn01 .btn_area a:hover::after {
 border-color: #fff;
}

@media (max-width : 810px){
.three_btn01 .btn_area {
 width: calc((100% - 40px) / 2);
}
}

@media (max-width : 640px){
.three_btn01 .btn_area {
 width: 100%;
}
}

CSS

.btn_style07 {
	width: 100%;
}

.btn_style07 a {
 display: inline-flex;
	padding: 13px 0 13px;
	box-sizing: border-box;
	color: #333;
	font-weight: 500;
	position: relative;
	text-decoration: none;
 align-items: center;
 justify-content: center;
 gap: 10px 20px;
 flex-wrap: wrap;
 background-color: transparent!important;
}

.btn_style07 a .btn_arrow {
 position: relative;
 width: 50px;
 height: 50px;
 flex-shrink: 0;
}

.btn_style07 a .btn_arrow:before {
 content: '';
 width: 100%;
 height: 100%;
	border: 1px solid var(--main-color);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: all 0.3s ease;
}

.btn_style07 a .btn_arrow:after {
 content: '';
 display: inline-block;
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%,-50%);
 -webkit-mask-image: url("../img/common/btn_arrow01.svg");
 mask-image: url(../img/common/btn_arrow01.svg);
 -webkit-mask-repeat: no-repeat;
 mask-repeat: no-repeat;
 width: 25px;
 height: 5px;
 -webkit-mask-size: 100% auto;
 mask-size: 100% auto;
 background-color: var(--main-color);
}

.btn_style07 a:hover .btn_arrow:before {
 background-color: var(--main-color);
}

.btn_style07 a:hover .btn_arrow:after {
 background-color: #fff;
}


@media (min-width: 810px) {
.btn_style07 a:hover .btn_arrow:before
{
 transform: translateY(-50%) scale(1.2);
}

}

説明・補足

たまーにあるんですよこういうの笑

CSS

.btn_style08 {
 width: 100%;
}

.btn_style08 a {
 display: block;
 padding: 60px 50px;
 text-align: center;
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 1px solid var(--main-color);
 letter-spacing: 0.05em;
 position: relative;
 color: #fff;
 background: var(--main-color);
 border-radius: 9999px
}

.btn_style08 a:hover {
 color: var(--main-color);
 background: #fff;
}

.btn_style08_tit01 {
 font-size: 30px;
 font-size: 3.0rem;
 text-align: center;
 margin: 0 0 20px;
}

.btn_style08_tit02 {
 font-size: 20px;
 font-size: 2.0rem;
 text-align: center;
 margin: 0 0 20px;
}

.btn_style08_txt01 {
  text-align: center;
}


.btn_style08 a .btn_arrow {
 position: relative;
 display: inline-block;
 padding: 0 10px 0 0;
}


.btn_style08 a .btn_arrow:before {
  content: '';
  width: 17px;
  height: 3px;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%) skewX(45deg);
  transition: all 0.3s ease;
}

.btn_style08 a:hover .btn_arrow:before {
 border-color: var(--main-color);
 width: 25px;
}


@media (max-width : 640px){

.btn_style08 a {
  padding: 40px 40px;
}
 
.btn_style08_tit01 {
 font-size: 25px;
 font-size: 2.5rem;
 
} 

.btn_style08_tit02 {
  font-size: 18px;
  font-size: 1.8rem;
} 
 
.btn_style08 a .btn_arrow {
 padding: 0 0 20px;
}  
 
.btn_style08 a .btn_arrow:before {
 top: inherit;
 bottom: 0;
 left: 50%;
 transform: translateX(-50%) skewX(45deg);
} 
 
}

説明・補足

背景が黒いほうがいいです

CSS

.btn_style09 {
 width: 100%;
 max-width: 250px;
 margin: 0 auto;
}

.btn_style09 a {
 display: block;
 padding: 12px 0;
 text-align: center;
 color: #fff;
 text-decoration: none;
 font-weight: normal;
 font-size: 14px;
 font-size: 1.4rem;
 border: 1px solid #545C65;
 position: relative;
}

.btn_style09 a:hover { 
 color: #fff;
 border: 1px solid #fff;
}

.spiral_ani a .spiral-top::before,
.spiral_ani a .spiral-top::after,
.spiral_ani a .spiral-bottom::before,
.spiral_ani a .spiral-bottom::after {
  content: " ";
  background: #fff;
  position: absolute;
  -webkit-box-shadow: 0 0 7px 0 #fff;
  box-shadow: 0 0 7px 0 #fff;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.spiral_ani a .spiral-top::before {
  top: 0px;
  left: 0px;
  width: 1px;
  height: 100%;
  transform: scale(0);
  transform-origin: top; 
}
.spiral_ani a .spiral-top::after {
  top: 0px;
  right: 0px;
  width: 100%;
  height: 1px;
  transform: scale(0);
  transform-origin: right;
}

.spiral_ani a .spiral-bottom::before {
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 1px;
  transform: scale(0);
  transform-origin: left; 
}
.spiral_ani a .spiral-bottom::after {
  bottom: 0px;
  right: 0px;
  width: 1px;
  height: 100%;
  transform: scale(0);
  transform-origin: bottom; 
}

.spiral_ani a:hover
.spiral-top::before {
  transform: scale(1);
}
.spiral_ani a:hover
.spiral-top::after {
  transform: scale(1);
}
.spiral_ani a:hover
.spiral-bottom::before {
  transform: scale(1);
}
.spiral_ani a:hover
.spiral-bottom::after {
  transform: scale(1);
}

.spiral_ani a:hover .spiral-top::before,
.spiral_ani a:hover .spiral-top::after,
.spiral_ani a:hover .spiral-bottom::before,
.spiral_ani a:hover .spiral-bottom::after {
 background: #000;
}